Author: tchemit Date: 2013-09-26 09:38:06 +0200 (Thu, 26 Sep 2013) New Revision: 1230 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1230 Log: fixes #3324: [CAPTURE] la cat?\195?\169gorisation propos?\195?\169e ?\195?\160 la cr?\195?\169ation d'un lot ne tient pas compte du protocole clean db cache at application starts to avoid some troubles!!! Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java 2013-09-26 06:20:09 UTC (rev 1229) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java 2013-09-26 07:38:06 UTC (rev 1230) @@ -63,7 +63,7 @@ import static org.nuiton.i18n.I18n._; /** - * Helper classaround {@link TuttiProtocol}. + * Helper class around {@link TuttiProtocol}. * * @author tchemit <chemit@codelutin.com> * @since 1.0 @@ -102,6 +102,8 @@ // transform String to Integer... + Integer sampleCategoryIdToRemove = enumeration.PMFM_ID_SORTED_UNSORTED; + if (!result.isBenthosEmpty()) { for (SpeciesProtocol speciesProtocol : result.getBenthos()) { List mandatorySampleCategoryId = speciesProtocol.getMandatorySampleCategoryId(); @@ -109,6 +111,7 @@ for (Object o : mandatorySampleCategoryId) { mandatorySampleCategoryIdInteger.add(Integer.valueOf(o.toString())); } + mandatorySampleCategoryIdInteger.remove(sampleCategoryIdToRemove); speciesProtocol.setMandatorySampleCategoryId(mandatorySampleCategoryIdInteger); } @@ -120,6 +123,7 @@ for (Object o : mandatorySampleCategoryId) { mandatorySampleCategoryIdInteger.add(Integer.valueOf(o.toString())); } + mandatorySampleCategoryIdInteger.remove(sampleCategoryIdToRemove); speciesProtocol.setMandatorySampleCategoryId(mandatorySampleCategoryIdInteger); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-09-26 06:20:09 UTC (rev 1229) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-09-26 07:38:06 UTC (rev 1230) @@ -344,8 +344,21 @@ } })); + //--------------------------------------------------------------------// + // init db configuration + //--------------------------------------------------------------------// + config.getServiceConfig().getPersistenceConfig().initConfig(getResourceLoader()); + // clean db cache (avoid a lots of headache :( + File cacheDirectory = config.getServiceConfig().getPersistenceConfig().getCacheDirectory(); + if (cacheDirectory.exists()) { + // clean cache directory (fix soem headaches...) + TuttiIOUtil.cleanDirectory( + cacheDirectory, + _("tutti.db.deleteCache.error", cacheDirectory)); + } + //--------------------------------------------------------------------// // init i18n //--------------------------------------------------------------------// Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java 2013-09-26 06:20:09 UTC (rev 1229) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java 2013-09-26 07:38:06 UTC (rev 1230) @@ -282,16 +282,24 @@ if (getDataContext().isProtocolFilled()) { + if (log.isInfoEnabled()) { + log.info("Use protocol to find first category"); + } // try to find the first category from protocol TuttiProtocol protocol = getDataContext().getProtocol(); SpeciesProtocol speciesProtocol = TuttiProtocols.getSpeciesProtocol(protocol, newValue); if (speciesProtocol != null) { + if (log.isInfoEnabled()) { + log.info("Use protocol species to find first category: " + speciesProtocol.getMandatorySampleCategoryId()); + } + // species defined in protocol - if (speciesProtocol.sizeMandatorySampleCategoryId() > 1) { + if (!speciesProtocol.isMandatorySampleCategoryIdEmpty()) { - // use the second category (the first one is V/HV) - Integer categoryId = speciesProtocol.getMandatorySampleCategoryId().get(1); + // use the first category + Integer categoryId = speciesProtocol.getMandatorySampleCategoryId().get(0); + selectedCategory = sampleCategoryModel.getCategoryById(categoryId); if (log.isInfoEnabled()) { log.info("Use category from protocol: " + categoryId + " :: " + selectedCategory); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java 2013-09-26 06:20:09 UTC (rev 1229) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java 2013-09-26 07:38:06 UTC (rev 1230) @@ -74,7 +74,8 @@ private static final long serialVersionUID = 1L; - public EditProtocolSpeciesTableModel(SampleCategoryModel sampleCategoryModel, TableColumnModelExt columnModel) { + public EditProtocolSpeciesTableModel(SampleCategoryModel sampleCategoryModel, + TableColumnModelExt columnModel) { super(columnModel, false, false); this.sampleCategoryModel = sampleCategoryModel; setNoneEditableCols(SPECIES_ID); @@ -85,7 +86,8 @@ List<Integer> mandatoryIds = Lists.newArrayList(sampleCategoryModel.getSamplingOrder()); - + // always remove the first category (V/HV) + mandatoryIds.remove(0); result.setMandatorySampleCategoryId(mandatoryIds); result.setWeightEnabled(true); Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-09-26 06:20:09 UTC (rev 1229) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-09-26 07:38:06 UTC (rev 1230) @@ -268,6 +268,7 @@ tutti.createSpeciesMelag.error.title= tutti.createSpeciesMelag.message= tutti.createSpeciesMelag.title= +tutti.db.deleteCache.error= tutti.dbMabager.title= tutti.dbManager.action.chooseDbBackupFile= tutti.dbManager.action.chooseDbExportFile= Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-26 06:20:09 UTC (rev 1229) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-26 07:38:06 UTC (rev 1230) @@ -267,6 +267,7 @@ tutti.createSpeciesMelag.error.title=Erreur tutti.createSpeciesMelag.message=Combien pesait le MELAG (mélange) (%s) ? tutti.createSpeciesMelag.title=Poids du MELAG (mélange) (%s) +tutti.db.deleteCache.error=Erreur à la suppression du cache de base tutti.dbMabager.title=Gérer les bases de données tutti.dbManager.action.chooseDbBackupFile=Sauvegarder la base de données tutti.dbManager.action.chooseDbExportFile=Exporter la base de données