Author: tchemit Date: 2012-08-19 13:15:16 +0200 (Sun, 19 Aug 2012) New Revision: 557 Url: http://forge.codelutin.com/repositories/revision/echobase/557 Log: remove EntitiesUtil + start to remove TopiaQuery Added: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java Removed: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java 2012-08-19 11:15:16 UTC (rev 557) @@ -31,11 +31,8 @@ import fr.ifremer.echobase.entities.references.DataQuality; import org.nuiton.topia.persistence.csv.TopiaCsvCommons; import org.nuiton.util.csv.ValueParser; -import org.nuiton.util.csv.ValueParserFormatter; import org.nuiton.util.csv.ValueSetter; -import java.sql.Timestamp; -import java.text.ParseException; import java.util.Date; import java.util.List; import java.util.Map; @@ -48,20 +45,6 @@ */ public class EchoBaseCsvUtil extends TopiaCsvCommons { - public static final ValueParserFormatter<Date> DAY_TIME_SECOND_WITH_TIMESTAMP = - new DateValue("dd/MM/yyyy HH:mm:ss") { - - @Override - public Date parse(String value) throws ParseException { - - Date parse = super.parse(value); - if (parse != null) { - parse = new Timestamp(parse.getTime()); - } - return parse; - } - }; - public static final String CELLULE_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSSS"; public static final ValueParser<Date> IMPORT_DAY_TIME_ECHOBASE = new DateValue(CELLULE_DATE_FORMAT); @@ -110,10 +93,6 @@ public static final String DEPTH_STRATUM_ID = "depthStratumId"; -// public static <E extends TopiaEntity> ForeignKeyValue<E> create(Class<E> type, String propertyName, Map<String, E> universe) { -// return new ForeignKeyValue<E>(type, propertyName, universe); -// } - protected EchoBaseCsvUtil() { // avoid instanciation on helper class } Copied: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java (from rev 556, trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java) =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java (rev 0) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java 2012-08-19 11:15:16 UTC (rev 557) @@ -0,0 +1,173 @@ +package fr.ifremer.echobase.entities; + +import com.google.common.collect.Lists; +import com.google.common.collect.Multimap; +import org.nuiton.topia.persistence.metadata.DbMeta; +import org.nuiton.topia.persistence.metadata.MetaFilenameAware; +import org.nuiton.topia.persistence.metadata.Metadatas; +import org.nuiton.topia.persistence.metadata.TopiaEntityEnumProvider; + +import java.util.List; + +/** + * Metas useful method. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.1 + */ +public class EchoBaseMetadatas { + + protected EchoBaseMetadatas() { + // avoid instance + } + + /** All types that we do not want to edit. */ + protected static final EchoBaseEntityEnum[] nonEditableTypes = { + EchoBaseEntityEnum.EchoBaseUser, + EchoBaseEntityEnum.EntityModificationLog, + EchoBaseEntityEnum.ExportQuery + }; + + public static DbMeta<EchoBaseEntityEnum> newDbMeta() { + return DbMeta.newDbMeta( + new EchoBaseTopiaEntityEnumProvider(), + EchoBaseEntityEnum.values(), + nonEditableTypes + ); + } + + public static MetaFilenameAware<EchoBaseEntityEnum>[] getEntries(DbMeta<EchoBaseEntityEnum> dbMeta) { + + List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList(); + List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList(); + + Metadatas.addEntries(dbMeta, entities, associations, getReferenceTypes()); + Metadatas.addEntries(dbMeta, entities, associations, getDataTypes()); + entities.addAll(associations); + return entities.toArray(new MetaFilenameAware[entities.size()]); + } + + public static MetaFilenameAware<EchoBaseEntityEnum>[] getReferenceEntries(DbMeta<EchoBaseEntityEnum> dbMeta) { + + List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList(); + List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList(); + + Metadatas.addEntries(dbMeta, entities, associations, getReferenceTypes()); + + entities.addAll(associations); + return entities.toArray(new MetaFilenameAware[entities.size()]); + } + + public static MetaFilenameAware<EchoBaseEntityEnum>[] getDataEntries(DbMeta<EchoBaseEntityEnum> dbMeta) { + + List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList(); + + Metadatas.addEntries(dbMeta, entities, null, getDataTypes()); + return entities.toArray(new MetaFilenameAware[entities.size()]); + } + + public static Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> getDataAssociationsEntries(DbMeta<EchoBaseEntityEnum> dbMeta) { + + List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList(); + + Metadatas.addEntries(dbMeta, null, associations, getDataTypes()); + + Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> associationsBySource = Metadatas.split(associations); + return associationsBySource; + } + + /** + * @return the entity types of data in correct order for replication + * purpose. + */ + public static EchoBaseEntityEnum[] getDataTypes() { + + List<EchoBaseEntityEnum> result = Lists.newLinkedList(); + + result.add(EchoBaseEntityEnum.SampleData); + result.add(EchoBaseEntityEnum.Sample); + + result.add(EchoBaseEntityEnum.OperationMetadataValue); + result.add(EchoBaseEntityEnum.GearMetadataValue); + result.add(EchoBaseEntityEnum.Operation); + + result.add(EchoBaseEntityEnum.Data); + + result.add(EchoBaseEntityEnum.Echotype); + result.add(EchoBaseEntityEnum.Category); + result.add(EchoBaseEntityEnum.Result); + + result.add(EchoBaseEntityEnum.Cell); + result.add(EchoBaseEntityEnum.DataProcessing); + result.add(EchoBaseEntityEnum.DataAcquisition); + result.add(EchoBaseEntityEnum.Transect); + result.add(EchoBaseEntityEnum.Transit); + + result.add(EchoBaseEntityEnum.LengthAgeKey); + result.add(EchoBaseEntityEnum.LengthWeightKey); + + result.add(EchoBaseEntityEnum.Voyage); + + return result.toArray(new EchoBaseEntityEnum[result.size()]); + } + + /** + * @return the entity types of reference in correct order for copy + * purpose (says import / export of all a database. + */ + public static EchoBaseEntityEnum[] getReferenceTypes() { + List<EchoBaseEntityEnum> result = Lists.newLinkedList(); + + // with no dep + result.add(EchoBaseEntityEnum.SexCategory); + result.add(EchoBaseEntityEnum.AgeCategory); + result.add(EchoBaseEntityEnum.SizeCategory); + result.add(EchoBaseEntityEnum.Species); + result.add(EchoBaseEntityEnum.Calibration); + result.add(EchoBaseEntityEnum.VesselType); + result.add(EchoBaseEntityEnum.Mission); + result.add(EchoBaseEntityEnum.DepthStratum); + result.add(EchoBaseEntityEnum.EchotypeCategory); + result.add(EchoBaseEntityEnum.AreaOfOperation); + result.add(EchoBaseEntityEnum.ReferenceDatumType); + result.add(EchoBaseEntityEnum.DataType); + result.add(EchoBaseEntityEnum.DataQuality); + result.add(EchoBaseEntityEnum.CellMethod); + result.add(EchoBaseEntityEnum.CellType); + result.add(EchoBaseEntityEnum.OperationEvent); + result.add(EchoBaseEntityEnum.SampleDataType); + result.add(EchoBaseEntityEnum.SampleType); + result.add(EchoBaseEntityEnum.GearCharacteristic); + result.add(EchoBaseEntityEnum.CategoryMeaning); + result.add(EchoBaseEntityEnum.CategoryType); + result.add(EchoBaseEntityEnum.MeasureType); + result.add(EchoBaseEntityEnum.MeasurementMetadata); + result.add(EchoBaseEntityEnum.ReferencingMethod); + + // with deps + result.add(EchoBaseEntityEnum.Strata); + result.add(EchoBaseEntityEnum.AcousticInstrument); + result.add(EchoBaseEntityEnum.Vessel); + result.add(EchoBaseEntityEnum.ReferenceDatum); + result.add(EchoBaseEntityEnum.OperationMetadata); + result.add(EchoBaseEntityEnum.GearMetadata); + result.add(EchoBaseEntityEnum.GearCharacteristicValue); + result.add(EchoBaseEntityEnum.Gear); + + result.add(EchoBaseEntityEnum.SpeciesCategory); + result.add(EchoBaseEntityEnum.TSParameters); + result.add(EchoBaseEntityEnum.DataMetadata); + result.add(EchoBaseEntityEnum.CategoryRef); + result.add(EchoBaseEntityEnum.Impacte); + result.add(EchoBaseEntityEnum.DataProtocol); + return result.toArray(new EchoBaseEntityEnum[result.size()]); + } + + public static class EchoBaseTopiaEntityEnumProvider implements TopiaEntityEnumProvider<EchoBaseEntityEnum> { + + @Override + public <E> EchoBaseEntityEnum getEntityEnum(Class<E> type) { + return EchoBaseEntityEnum.valueOf(type); + } + } +} Property changes on: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java 2012-08-19 11:15:16 UTC (rev 557) @@ -24,14 +24,13 @@ package fr.ifremer.echobase.entities; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.framework.TopiaQuery; -import org.nuiton.util.PagerUtil; +import org.nuiton.topia.persistence.TopiaFilterPagerUtil; import java.util.List; public class EchoBaseUserDAOImpl<E extends EchoBaseUser> extends EchoBaseUserDAOAbstract<E> { - public List<E> findAll(PagerUtil.PagerBean pager) throws TopiaException { + public List<E> findAll(TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException { List<E> users; if (pager == null) { @@ -39,14 +38,16 @@ users = findAll(); } else { - // get user count - long count = count(); - pager.setRecords((int) count); - PagerUtil.computeRecordIndexesAndPagesNumber(pager); + computeAndAddRecordsToPager("SELECT COUNT()* FROM " + getTopiaEntityEnum().getImplementationFQN(), pager); - TopiaQuery query = createQuery("e"); - query.setLimit(pager.getRecordStartIndex(), pager.getRecordEndIndex() - 1); - users = findAllByQuery(query); +// //get user count +// long count = count(); +// pager.setRecords((int) count); +// PagerUtil.computeRecordIndexesAndPagesNumber(pager); + +// TopiaQuery query = createQuery("e"); +// query.setLimit(pager.getRecordStartIndex(), pager.getRecordEndIndex() - 1); + users = findAllByQuery("FROM " + getTopiaEntityEnum().getImplementationFQN(), pager); } return users; } Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java 2012-08-19 11:15:16 UTC (rev 557) @@ -1,133 +0,0 @@ -/* - * #%L - * EchoBase :: Entities - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package fr.ifremer.echobase.entities; - -import com.google.common.collect.Lists; -import com.google.common.collect.Multimap; -import org.nuiton.topia.persistence.metadata.DbMeta; -import org.nuiton.topia.persistence.metadata.MetaFilenameAware; -import org.nuiton.topia.persistence.metadata.Metadatas; - -import java.util.List; - -/** - * Utility method for entities. - * - * @author sletellier <letellier@codelutin.com> - * @since 0.2 - */ -public class EntitiesUtil { - - /** - * @return the entity types of data in correct order for replication - * purpose. - */ - public static EchoBaseEntityEnum[] getDataTypes() { - - List<EchoBaseEntityEnum> result = Lists.newLinkedList(); - - result.add(EchoBaseEntityEnum.SampleData); - result.add(EchoBaseEntityEnum.Sample); - - result.add(EchoBaseEntityEnum.OperationMetadataValue); - result.add(EchoBaseEntityEnum.GearMetadataValue); - result.add(EchoBaseEntityEnum.Operation); - - result.add(EchoBaseEntityEnum.Data); - - result.add(EchoBaseEntityEnum.Echotype); - result.add(EchoBaseEntityEnum.Category); - result.add(EchoBaseEntityEnum.Result); - - result.add(EchoBaseEntityEnum.Cell); - result.add(EchoBaseEntityEnum.DataProcessing); - result.add(EchoBaseEntityEnum.DataAcquisition); - result.add(EchoBaseEntityEnum.Transect); - result.add(EchoBaseEntityEnum.Transit); - - result.add(EchoBaseEntityEnum.LengthAgeKey); - result.add(EchoBaseEntityEnum.LengthWeightKey); - - result.add(EchoBaseEntityEnum.Voyage); - - return result.toArray(new EchoBaseEntityEnum[result.size()]); - } - - /** - * @return the entity types of reference in correct order for copy - * purpose (says import / export of all a database. - */ - public static EchoBaseEntityEnum[] getReferenceTypes() { - List<EchoBaseEntityEnum> result = Lists.newLinkedList(); - - // with no dep - result.add(EchoBaseEntityEnum.SexCategory); - result.add(EchoBaseEntityEnum.AgeCategory); - result.add(EchoBaseEntityEnum.SizeCategory); - result.add(EchoBaseEntityEnum.Species); - result.add(EchoBaseEntityEnum.Calibration); - result.add(EchoBaseEntityEnum.VesselType); - result.add(EchoBaseEntityEnum.Mission); - result.add(EchoBaseEntityEnum.DepthStratum); - result.add(EchoBaseEntityEnum.EchotypeCategory); - result.add(EchoBaseEntityEnum.AreaOfOperation); - result.add(EchoBaseEntityEnum.ReferenceDatumType); - result.add(EchoBaseEntityEnum.DataType); - result.add(EchoBaseEntityEnum.DataQuality); - result.add(EchoBaseEntityEnum.CellMethod); - result.add(EchoBaseEntityEnum.CellType); - result.add(EchoBaseEntityEnum.OperationEvent); - result.add(EchoBaseEntityEnum.SampleDataType); - result.add(EchoBaseEntityEnum.SampleType); - result.add(EchoBaseEntityEnum.GearCharacteristic); - result.add(EchoBaseEntityEnum.CategoryMeaning); - result.add(EchoBaseEntityEnum.CategoryType); - result.add(EchoBaseEntityEnum.MeasureType); - result.add(EchoBaseEntityEnum.MeasurementMetadata); - result.add(EchoBaseEntityEnum.ReferencingMethod); - - // with deps - result.add(EchoBaseEntityEnum.Strata); - result.add(EchoBaseEntityEnum.AcousticInstrument); - result.add(EchoBaseEntityEnum.Vessel); - result.add(EchoBaseEntityEnum.ReferenceDatum); - result.add(EchoBaseEntityEnum.OperationMetadata); - result.add(EchoBaseEntityEnum.GearMetadata); - result.add(EchoBaseEntityEnum.GearCharacteristicValue); - result.add(EchoBaseEntityEnum.Gear); - - result.add(EchoBaseEntityEnum.SpeciesCategory); - result.add(EchoBaseEntityEnum.TSParameters); - result.add(EchoBaseEntityEnum.DataMetadata); - result.add(EchoBaseEntityEnum.CategoryRef); - result.add(EchoBaseEntityEnum.Impacte); - result.add(EchoBaseEntityEnum.DataProtocol); - return result.toArray(new EchoBaseEntityEnum[result.size()]); - } - - protected EntitiesUtil() { - // avoid to instanciate helper class - } - -} Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java 2012-08-19 11:15:16 UTC (rev 557) @@ -1,86 +0,0 @@ -package fr.ifremer.echobase.entities.meta; - -import com.google.common.collect.Lists; -import com.google.common.collect.Multimap; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; -import fr.ifremer.echobase.entities.EntitiesUtil; -import org.nuiton.topia.persistence.metadata.DbMeta; -import org.nuiton.topia.persistence.metadata.MetaFilenameAware; -import org.nuiton.topia.persistence.metadata.Metadatas; -import org.nuiton.topia.persistence.metadata.TopiaEntityEnumProvider; - -import java.util.List; - -/** - * TODO - * - * @author tchemit <chemit@codelutin.com> - * @since TODO - */ -public class EchoBaseMetadatas { - - /** All types that we do not want to edit. */ - protected static final EchoBaseEntityEnum[] nonEditableTypes = { - EchoBaseEntityEnum.EchoBaseUser, - EchoBaseEntityEnum.EntityModificationLog, - EchoBaseEntityEnum.ExportQuery - }; - - public static DbMeta<EchoBaseEntityEnum> newDbMeta( - - ) { - return DbMeta.newDbMeta( - new EchoBaseTopiaEntityEnumProvider(), - EchoBaseEntityEnum.values(), - nonEditableTypes - ); - } - - public static MetaFilenameAware<EchoBaseEntityEnum>[] getEntries(DbMeta<EchoBaseEntityEnum> dbMeta) { - - List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList(); - List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList(); - - Metadatas.addEntries(dbMeta, entities, associations, EntitiesUtil.getReferenceTypes()); - Metadatas.addEntries(dbMeta, entities, associations, EntitiesUtil.getDataTypes()); - entities.addAll(associations); - return entities.toArray(new MetaFilenameAware[entities.size()]); - } - - public static MetaFilenameAware<EchoBaseEntityEnum>[] getReferenceEntries(DbMeta<EchoBaseEntityEnum> dbMeta) { - - List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList(); - List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList(); - - Metadatas.addEntries(dbMeta, entities, associations, EntitiesUtil.getReferenceTypes()); - - entities.addAll(associations); - return entities.toArray(new MetaFilenameAware[entities.size()]); - } - - public static MetaFilenameAware<EchoBaseEntityEnum>[] getDataEntries(DbMeta<EchoBaseEntityEnum> dbMeta) { - - List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList(); - - Metadatas.addEntries(dbMeta, entities, null, EntitiesUtil.getDataTypes()); - return entities.toArray(new MetaFilenameAware[entities.size()]); - } - - public static Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> getDataAssociationsEntries(DbMeta<EchoBaseEntityEnum> dbMeta) { - - List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList(); - - Metadatas.addEntries(dbMeta, null, associations, EntitiesUtil.getDataTypes()); - - Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> associationsBySource = Metadatas.split(associations); - return associationsBySource; - } - - public static class EchoBaseTopiaEntityEnumProvider implements TopiaEntityEnumProvider<EchoBaseEntityEnum> { - - @Override - public <E> EchoBaseEntityEnum getEntityEnum(Class<E> type) { - return EchoBaseEntityEnum.valueOf(type); - } - } -} Modified: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java =================================================================== --- trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java 2012-08-19 11:15:16 UTC (rev 557) @@ -25,7 +25,7 @@ import com.google.common.collect.Lists; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; -import fr.ifremer.echobase.entities.EntitiesUtilTest; +import fr.ifremer.echobase.entities.EchoBaseMetadatasTest; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.Mission; import junit.framework.Assert; @@ -49,7 +49,7 @@ EchoBaseDecoratorProvider provider = new EchoBaseDecoratorProvider(); provider.loadDecorators(locale); List<EchoBaseEntityEnum> expectedTypes = - Lists.newArrayList(EntitiesUtilTest.getContractsOf( + Lists.newArrayList(EchoBaseMetadatasTest.getContractsOf( Mission.class.getPackage())); for (EchoBaseEntityEnum type : expectedTypes) { @@ -65,7 +65,7 @@ EchoBaseDecoratorProvider provider = new EchoBaseDecoratorProvider(); provider.loadDecorators(locale); List<EchoBaseEntityEnum> expectedTypes = - Lists.newArrayList(EntitiesUtilTest.getContractsOf( + Lists.newArrayList(EchoBaseMetadatasTest.getContractsOf( Voyage.class.getPackage())); for (EchoBaseEntityEnum type : expectedTypes) { Copied: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java (from rev 554, trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java) =================================================================== --- trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java (rev 0) +++ trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java 2012-08-19 11:15:16 UTC (rev 557) @@ -0,0 +1,98 @@ +/* + * #%L + * EchoBase :: Entities + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.entities; + +import com.google.common.collect.Lists; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.Mission; +import junit.framework.Assert; +import org.junit.Test; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * To test the class {@link EchoBaseMetadatas}. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class EchoBaseMetadatasTest { + + @Test + public void getReferenceTypes() { + + List<EchoBaseEntityEnum> types = + Arrays.asList(EchoBaseMetadatas.getReferenceTypes()); + + List<EchoBaseEntityEnum> expectedTypes = + Lists.newArrayList(getContractsOf(Mission.class.getPackage())); + + Assert.assertNotNull(types); + + for (EchoBaseEntityEnum type : expectedTypes) { + Assert.assertTrue("Missing type : " + type, types.contains(type)); + } + Assert.assertEquals(expectedTypes.size(), types.size()); + } + + @Test + public void getDataTypes() { + + List<EchoBaseEntityEnum> types = + Arrays.asList(EchoBaseMetadatas.getDataTypes()); + + List<EchoBaseEntityEnum> expectedTypes = + Lists.newArrayList(getContractsOf(Voyage.class.getPackage())); + + Assert.assertNotNull(types); + + for (EchoBaseEntityEnum type : expectedTypes) { + Assert.assertTrue("Missing type : " + type, types.contains(type)); + } + Assert.assertEquals(expectedTypes.size(), types.size()); + } + + /** + * Used to get all contract of a package + * + * @param entitiesPackage package contening desired entities + * @return contracts contained in entitiesPackage + */ + public static EchoBaseEntityEnum[] getContractsOf(Package entitiesPackage) { + EchoBaseEntityEnum[] echoBaseEntityEnums = EchoBaseEntityEnum.values(); + List<EchoBaseEntityEnum> refClasses = new ArrayList<EchoBaseEntityEnum>(); + for (EchoBaseEntityEnum echoBaseEntityEnum : echoBaseEntityEnums) { + + // Get all entities in package fr.ifremer.echobase.entities.references + Class<? extends TopiaEntity> contract = echoBaseEntityEnum.getContract(); + if (entitiesPackage.equals(contract.getPackage())) { + refClasses.add(echoBaseEntityEnum); + } + } + return refClasses.toArray(new EchoBaseEntityEnum[refClasses.size()]); + } +} Property changes on: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Deleted: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java =================================================================== --- trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java 2012-08-19 11:15:16 UTC (rev 557) @@ -1,98 +0,0 @@ -/* - * #%L - * EchoBase :: Entities - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package fr.ifremer.echobase.entities; - -import com.google.common.collect.Lists; -import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.entities.references.Mission; -import junit.framework.Assert; -import org.junit.Test; -import org.nuiton.topia.persistence.TopiaEntity; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/** - * To test the class {@link EntitiesUtil}. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class EntitiesUtilTest { - - @Test - public void getReferenceTypes() { - - List<EchoBaseEntityEnum> types = - Arrays.asList(EntitiesUtil.getReferenceTypes()); - - List<EchoBaseEntityEnum> expectedTypes = - Lists.newArrayList(getContractsOf(Mission.class.getPackage())); - - Assert.assertNotNull(types); - - for (EchoBaseEntityEnum type : expectedTypes) { - Assert.assertTrue("Missing type : " + type, types.contains(type)); - } - Assert.assertEquals(expectedTypes.size(), types.size()); - } - - @Test - public void getDataTypes() { - - List<EchoBaseEntityEnum> types = - Arrays.asList(EntitiesUtil.getDataTypes()); - - List<EchoBaseEntityEnum> expectedTypes = - Lists.newArrayList(getContractsOf(Voyage.class.getPackage())); - - Assert.assertNotNull(types); - - for (EchoBaseEntityEnum type : expectedTypes) { - Assert.assertTrue("Missing type : " + type, types.contains(type)); - } - Assert.assertEquals(expectedTypes.size(), types.size()); - } - - /** - * Used to get all contract of a package - * - * @param entitiesPackage package contening desired entities - * @return contracts contained in entitiesPackage - */ - public static EchoBaseEntityEnum[] getContractsOf(Package entitiesPackage) { - EchoBaseEntityEnum[] echoBaseEntityEnums = EchoBaseEntityEnum.values(); - List<EchoBaseEntityEnum> refClasses = new ArrayList<EchoBaseEntityEnum>(); - for (EchoBaseEntityEnum echoBaseEntityEnum : echoBaseEntityEnums) { - - // Get all entities in package fr.ifremer.echobase.entities.references - Class<? extends TopiaEntity> contract = echoBaseEntityEnum.getContract(); - if (entitiesPackage.equals(contract.getPackage())) { - refClasses.add(echoBaseEntityEnum); - } - } - return refClasses.toArray(new EchoBaseEntityEnum[refClasses.size()]); - } -} Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-08-19 11:15:16 UTC (rev 557) @@ -27,7 +27,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import fr.ifremer.echobase.EchoBaseTechnicalException; -import org.nuiton.topia.persistence.csv.EntityCsvModel; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.EntityModificationLog; @@ -40,6 +39,7 @@ import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaFilterPagerUtil; +import org.nuiton.topia.persistence.csv.EntityCsvModel; import org.nuiton.topia.persistence.metadata.ColumnMeta; import org.nuiton.topia.persistence.metadata.DbMeta; import org.nuiton.topia.persistence.metadata.TableMeta; @@ -99,7 +99,7 @@ String sidx, Boolean ascendantOrder) { - TableMeta meta = getTableMeta(entityType); + TableMeta<EchoBaseEntityEnum> meta = getTableMeta(entityType); List<TopiaEntity> entities = getEntities(meta, pager, @@ -127,6 +127,7 @@ Boolean ascendantOrder, String extraWhereQuery) { + //TODO-tchemit-2012-08-19 Replace TopiaQuery with simple hql query List<E> result; EchoBaseEntityEnum entityEnum = tableMeta.getSource(); try { @@ -530,7 +531,7 @@ protected <E extends TopiaEntity> ImportExportModel<E> buildForSave(TableMeta<EchoBaseEntityEnum> meta) { - EntityCsvModel<EchoBaseEntityEnum,E> model = EntityCsvModel.newModel( + EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel( getConfiguration().getCsvSeparator(), meta, TopiaEntity.TOPIA_ID Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-08-19 11:15:16 UTC (rev 557) @@ -30,7 +30,7 @@ import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.ExportQuery; -import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas; +import fr.ifremer.echobase.entities.EchoBaseMetadatas; import fr.ifremer.echobase.services.exceptions.ExportQueryNameAlreadyExistException; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-19 11:15:16 UTC (rev 557) @@ -30,7 +30,7 @@ import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas; +import fr.ifremer.echobase.entities.EchoBaseMetadatas; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-08-19 11:15:16 UTC (rev 557) @@ -24,8 +24,8 @@ package fr.ifremer.echobase.services; import com.google.common.base.Charsets; +import com.google.common.collect.Lists; import fr.ifremer.echobase.EchoBaseTechnicalException; -import org.nuiton.util.csv.ext.AbstractExportModel; import fr.ifremer.echobase.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.ExportQuery; @@ -37,11 +37,11 @@ import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.framework.TopiaQuery; import org.nuiton.topia.framework.TopiaSQLQuery; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.util.PagerUtil; import org.nuiton.util.csv.Export; +import org.nuiton.util.csv.ext.AbstractExportModel; import java.sql.Connection; import java.sql.PreparedStatement; @@ -85,16 +85,28 @@ String queryName = exportQuery.getName(); - TopiaQuery query = dao.createQuery(); - query.addWhere(ExportQuery.PROPERTY_NAME, TopiaQuery.Op.EQ, queryName); + String hql = "FROM " + dao.getTopiaEntityEnum().getImplementationFQN() + + " WHERE " + ExportQuery.PROPERTY_NAME + " = :queryName"; + List<Object> params = Lists.<Object>newArrayList("queryName", queryName); + if (!mustCreate) { - query.addWhere(ExportQuery.TOPIA_ID, TopiaQuery.Op.NEQ, id); + hql += " AND " + ExportQuery.TOPIA_ID + " = :id"; + params.add("id"); + params.add(id); } +// TopiaQuery query = dao.createQuery(); +// query.addWhere(ExportQuery.PROPERTY_NAME, TopiaQuery.Op.EQ, queryName); +// +// if (!mustCreate) { +// query.addWhere(ExportQuery.TOPIA_ID, TopiaQuery.Op.NEQ, id); +// } // check query does not already exists with this name - boolean queryExists = dao.existByQuery(query); + boolean queryExists = dao.existsByQuery(hql, params.toArray()); +// boolean queryExists = dao.existByQuery(query); + if (queryExists) { throw new ExportQueryNameAlreadyExistException(); } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-19 11:15:16 UTC (rev 557) @@ -27,7 +27,7 @@ import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.EntityModificationLog; -import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas; +import fr.ifremer.echobase.entities.EchoBaseMetadatas; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-08-19 11:15:16 UTC (rev 557) @@ -30,6 +30,7 @@ import fr.ifremer.echobase.entities.EchoBaseUserImpl; import org.apache.commons.lang3.StringUtils; import org.nuiton.topia.TopiaException; +import org.nuiton.topia.persistence.TopiaFilterPagerUtil; import org.nuiton.util.PagerUtil; import org.nuiton.util.StringUtil; @@ -53,7 +54,7 @@ return getUsers(null); } - public List<EchoBaseUser> getUsers(PagerUtil.PagerBean pager) { + public List<EchoBaseUser> getUsers(TopiaFilterPagerUtil.FilterPagerBean pager) { try { EchoBaseUserDAO dao = getDAO(EchoBaseUser.class, EchoBaseUserDAO.class); List<EchoBaseUser> users = dao.findAll(pager); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java 2012-08-19 11:15:16 UTC (rev 557) @@ -29,7 +29,7 @@ import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; -import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas; +import fr.ifremer.echobase.entities.EchoBaseMetadatas; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-08-19 11:15:16 UTC (rev 557) @@ -32,10 +32,10 @@ import com.healthmarketscience.jackcess.Table; import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.EchoBaseIOUtil; +import fr.ifremer.echobase.entities.EchoBaseMetadatas; import org.nuiton.util.csv.ext.AbstractExportModel; import fr.ifremer.echobase.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; -import fr.ifremer.echobase.entities.EntitiesUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; @@ -128,8 +128,8 @@ File baracoudaDir = new File(sourceDir, FileType.BARACOUDA.name().toLowerCase()); File associationDir = new File(sourceDir, FileType.ASSOCIATION.name().toLowerCase()); - FileFilter entityFile = new EntityFileFilter(EntitiesUtil.getDataTypes()); - FileFilter associationFileFilter = new AssociationFileFilter(EntitiesUtil.getDataTypes()); + FileFilter entityFile = new EntityFileFilter(EchoBaseMetadatas.getDataTypes()); + FileFilter associationFileFilter = new AssociationFileFilter(EchoBaseMetadatas.getDataTypes()); FileUtil.createDirectoryIfNecessary(outputDir); @@ -167,8 +167,8 @@ File baracoudaDir = new File(sourceDir, FileType.BARACOUDA.name().toLowerCase()); File associationDir = new File(sourceDir, FileType.ASSOCIATION.name().toLowerCase()); - FileFilter entityFile = new EntityFileFilter(EntitiesUtil.getReferenceTypes()); - FileFilter associationFileFilter = new AssociationFileFilter(EntitiesUtil.getReferenceTypes()); + FileFilter entityFile = new EntityFileFilter(EchoBaseMetadatas.getReferenceTypes()); + FileFilter associationFileFilter = new AssociationFileFilter(EchoBaseMetadatas.getReferenceTypes()); FileUtil.createDirectoryIfNecessary(outputDir); Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-08-19 11:15:16 UTC (rev 557) @@ -27,7 +27,7 @@ import fr.ifremer.echobase.EchoBaseConfigurationOption; import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory; import fr.ifremer.echobase.entities.EchoBaseDAOHelper; -import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas; +import fr.ifremer.echobase.entities.EchoBaseMetadatas; import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext; import fr.ifremer.echobase.services.EchoBaseService; import fr.ifremer.echobase.services.EchoBaseServiceContext; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-08-18 10:03:41 UTC (rev 556) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-08-19 11:15:16 UTC (rev 557) @@ -29,7 +29,7 @@ import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.EchoBaseUserImpl; -import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas; +import fr.ifremer.echobase.entities.EchoBaseMetadatas; import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext; import fr.ifremer.echobase.services.EchoBaseServiceContext; import fr.ifremer.echobase.services.EchoBaseServiceFactory;