r1715 - in trunk: . src/site src/site/rst topia-persistence topia-persistence/src/main/java/org/nuiton/topia topia-persistence/src/main/java/org/nuiton/topia/event topia-persistence/src/main/java/org/nuiton/topia/framework topia-persistence/src/main/java/org/nuiton/topia/generator topia-persistence/src/main/java/org/nuiton/topia/persistence topia-persistence/src/main/java/org/nuiton/topia/persistence/util topia-persistence/src/site topia-persistence/src/site/resources topia-persistence/src/s
Author: tchemit Date: 2009-12-15 01:26:16 +0100 (Tue, 15 Dec 2009) New Revision: 1715 Added: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BeanTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityImplTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceTransformer.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceTransformer.java Removed: trunk/topia-persistence/src/main/java/org/nuiton/topia/ContextUtil.java trunk/topia-ui/ Modified: trunk/ trunk/pom.xml trunk/src/site/rst/index.rst trunk/src/site/site_fr.xml trunk/topia-persistence/changelog.txt trunk/topia-persistence/pom.xml trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContextFactory.java trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaException.java trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaNotFoundException.java trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaRuntimeException.java trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaVetoException.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaContextEvent.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaContextListener.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntitiesEvent.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntitiesVetoable.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityEvent.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityListener.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityVetoable.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionEvent.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionListener.java trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionVetoable.java trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/EntityState.java trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImplementor.java trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFiresSupport.java trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaService.java trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaUtil.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BeanGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DTOGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityImplGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaJavaValidator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaMetaGenerator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaRelationValidator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/package.html trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/DepthEntityVisitor.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/EntityVisitor.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/SearchFields.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAO.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntity.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityEnum.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaId.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/BeanPropertyLoador.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Collector.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Creator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/DBMapping.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Deletor.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/DiffState.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityListUpdator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityLoador.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityOperator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityOperatorStore.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/ListUpdator.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Loador.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/TopiaEntityHelper.java trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/TopiaEntityRef.java trunk/topia-persistence/src/site/ trunk/topia-persistence/src/site/resources/ContactUseCases.png trunk/topia-persistence/src/site/resources/ServiceCall.png trunk/topia-persistence/src/site/resources/topia.zargo trunk/topia-persistence/src/site/rst/Devel.rst trunk/topia-persistence/src/site/rst/FAQ.rst trunk/topia-persistence/src/site/rst/HibernateMapping.rst trunk/topia-persistence/src/site/rst/Isolation.rst trunk/topia-persistence/src/site/rst/ModelGeneration.rst trunk/topia-persistence/src/site/rst/SchemaMigration.rst trunk/topia-persistence/src/site/rst/Todo.rst trunk/topia-persistence/src/site/rst/TopiaDocumentation.rst trunk/topia-persistence/src/site/rst/event.rst trunk/topia-persistence/src/site/rst/howto.rst trunk/topia-persistence/src/site/rst/index.rst trunk/topia-persistence/src/site/rst/project.rst trunk/topia-persistence/src/site/rst/security.rst trunk/topia-persistence/src/site/site_fr.xml trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/ trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/EntityStateTest.java trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaUtilTest.java trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaGeneratorUtilTest.java trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/EntityVisitorExportXmlTest.java trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/ExportXMLVisitor.java trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/CollectorTest.java trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/EntityOperatorTest.java trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityHelperTest.java trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/Contact2DAOImpl.java trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java trunk/topia-service-history/pom.xml trunk/topia-service-history/src/main/java/org/nuiton/topia/history/NoHistory.java trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryListener.java trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryService.java trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryServiceImpl.java trunk/topia-service-history/src/main/java/org/nuiton/topia/history/entities/HistoryImpl.java trunk/topia-service-history/src/site/rst/index.rst trunk/topia-service-history/src/site/site_fr.xml trunk/topia-service-history/src/test/java/org/nuiton/topia/history/HistoryTest.java trunk/topia-service-index/pom.xml trunk/topia-service-index/src/main/java/org/nuiton/topia/index/IndexEntry.java trunk/topia-service-index/src/main/java/org/nuiton/topia/index/LuceneIndexer.java trunk/topia-service-index/src/main/java/org/nuiton/topia/index/NotIndexable.java trunk/topia-service-index/src/main/java/org/nuiton/topia/index/TopiaIndexImplementor.java trunk/topia-service-index/src/main/java/org/nuiton/topia/index/TopiaIndexService.java trunk/topia-service-index/src/site/site_fr.xml trunk/topia-service-index/src/test/java/org/nuiton/topia/index/IndexTest.java trunk/topia-service-migration/pom.xml trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/DatabaseManager.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationCallback.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationEngine.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationService.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationServiceException.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationServiceImpl.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationService.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationServiceImpl.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/callback/MigrationCallbackHandler.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ExceptionAttributeUndefined.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapter.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapterAdmin.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapterImpl.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ProxyClass.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ProxyClassMapped.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/SimpleProxyClass.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/SimpleProxyClassMapped.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/Version.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/BaseException.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ConfigurationAdapter.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ConfigurationHelper.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/DependenciesHelper.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/NullMigrationClass.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ObjectNotFound.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/Transformer.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersion.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/AbstractMigration.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/FinderMigration.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MapHelper.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/Migration.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MigrationClass.java trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MigrationNull.java trunk/topia-service-migration/src/site/site_fr.xml trunk/topia-service-migration/src/test/java/org/nuiton/topia/migration/common/VersionTest.java trunk/topia-service-migration/src/test/java/org/nuiton/topia/migration/kernel/ConfigurationAdapterTest.java trunk/topia-service-replication/pom.xml trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/ReplicationEngine.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationImplementor.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationOperation.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationService.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/Link.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationModel.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationNode.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationOperationDef.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationOperationPhase.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachAssociation.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachDependency.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachLink.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/DettachAssociation.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/DettachDependency.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/Duplicate.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/LoadLink.java trunk/topia-service-replication/src/site/site_fr.xml trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractReplicationEngineTest.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineAllTest.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineTest.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationOperationTest.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/FakeOperation.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/UncreatableOperation.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/UnregistredOperation.java trunk/topia-service-security/pom.xml trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityService.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityServiceImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAuthorizationImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaEntityAuthorizationImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaExpressionLinkImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaGroupImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaUserImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaCallbackHandler.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaConfiguration.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaLoginModule.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPermission.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPolicy.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPrincipal.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/EntityVetoable.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/NoSecurityLoad.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyReadListener.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyVetoable.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyWriteListener.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityCaching.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityFactoryFilter.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityUtil.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasUtil.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasAccessEntity.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasEntityVetoable.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasEntityVetoableRequestPermission.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasCallbackHandler.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasConfiguration.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasLoginModule.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPermission.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPolicy.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPrincipalWrapper.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasSubjectFinder.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasSubjectFinderImpl.java trunk/topia-service-security/src/site/site_fr.xml trunk/topia-service-security/src/test/java/org/nuiton/topia/TestUtils.java trunk/topia-service-security/src/test/java/org/nuiton/topia/security/TopiaSecurityTest.java trunk/topia-soa/TODO trunk/topia-soa/changelog.txt trunk/topia-soa/pom.xml trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceAbstractGenerator.java trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceImplGenerator.java trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceInterfaceGenerator.java trunk/topia-soa/src/main/java/org/nuiton/topia/generator/TopiaApplicationServiceMetaGenerator.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/Protocol.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationService.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceAbstract.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceFactory.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaProxy.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceProvider.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServer.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServerAbstract.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/ trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/RMIProxy.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/SOAPProxy.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/XMLRPCProxy.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/package.html trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/ trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/RMIServer.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/RemoteClassLoader.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/SOAPServer.java trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/XMLRPCServer.java trunk/topia-soa/src/site/rst/ApplicationServiceGeneration.rst trunk/topia-soa/src/site/rst/ApplicationServiceUsing.rst trunk/topia-soa/src/site/rst/index.rst trunk/topia-soa/src/site/site_fr.xml trunk/topia-soa/src/test/java/org/nuiton/topia/service/ trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleService.java trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceImpl.java trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceServer.java trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceTest.java trunk/topia-soa/src/test/resources/TopiaApplicationServices.properties Log: merge branch from2.2.2-eugene2-beta to trunk Property changes on: trunk ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/from2.2.2-eugene2-beta:1662-1714 Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/pom.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> @@ -9,16 +10,15 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>mavenpom</artifactId> - <version>1.1.1</version> + <version>1.1.2</version> </parent> <artifactId>topia</artifactId> - <version>2.2.3-SNAPSHOT</version> + <version>2.3.0-beta-2-SNAPSHOT</version> <modules> <module>topia-persistence</module> <module>topia-soa</module> - <module>topia-ui</module> <module>topia-service-replication</module> <module>topia-service-migration</module> <module>topia-service-index</module> @@ -85,13 +85,6 @@ <scope>runtime</scope> </dependency> - <dependency> - <groupId>org.apache.tapestry</groupId> - <artifactId>tapestry-core</artifactId> - <version>5.1.0.5</version> - <scope>compile</scope> - </dependency> - <!-- Dependencies for class generation --> <dependency> <groupId>org.nuiton.thirdparty</groupId> @@ -137,7 +130,7 @@ <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.5.8</version> - <scope>runtime</scope> + <scope>test</scope> </dependency> <!-- BD H2 for testing --> @@ -177,8 +170,11 @@ <!-- ************************************************************* --> <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>ToPIA - Tools for Portable and Independent Architecture</name> - <description>Framework de persistance et de distribution d'application.</description> + <name>ToPIA</name> + <description> + Tools for Portable and Independent Architecture : + Framework de persistance et de distribution d'application. + </description> <inceptionYear>2004</inceptionYear> <url>http://maven-site.nuiton.org/topia</url> @@ -193,9 +189,9 @@ <projectId>topia</projectId> <!-- libs version --> - <eugene.version>1.0.1</eugene.version> + <eugene.version>2.0.0-beta-2-SNAPSHOT</eugene.version> <lutinutil.version>1.1.1</lutinutil.version> - <processor.version>1.0.1</processor.version> + <processor.version>1.0.2</processor.version> <i18n.version>1.0.1</i18n.version> <xmlrpc.version>3.1.2</xmlrpc.version> <hibernate.version>3.3.2.GA</hibernate.version> Property changes on: trunk/src/site/rst/index.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/src/site/site_fr.xml =================================================================== --- trunk/src/site/site_fr.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/src/site/site_fr.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -8,7 +8,7 @@ <poweredBy> <logo href="http://maven.apache.org" name="Maven" img="${project.url}/images/logos/maven-feather.png"/> - <logo href="../../jrst" name="JRst" img="${project.url}/images/jrst-logo.png"/> + <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="${project.url}/images/jrst-logo.png"/> <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="${project.url}/images/restructuredtext-logo.png"/> </poweredBy> Property changes on: trunk/topia-persistence/changelog.txt ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/pom.xml =================================================================== --- trunk/topia-persistence/pom.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/pom.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> @@ -10,7 +11,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>topia</artifactId> - <version>2.2.3-SNAPSHOT</version> + <version>2.3.0-beta-2-SNAPSHOT</version> </parent> <groupId>org.nuiton.topia</groupId> @@ -68,7 +69,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>ToPIA - Persistence</name> + <name>ToPIA :: Persistence</name> <description>Hibernate based persistence module</description> <!-- ************************************************************* --> @@ -133,23 +134,41 @@ <plugin> <groupId>org.nuiton.eugene</groupId> <artifactId>maven-eugene-plugin</artifactId> + <configuration> + <testPhase>true</testPhase> + <extraClassPathDirectory>target/classes</extraClassPathDirectory> + </configuration> <executions> <execution> + <id>Test Generator models</id> + <phase>generate-test-sources</phase> + <configuration> + <modelType>objectmodel</modelType> + <includes> + <include>src/test/xmi:**/*.zargo</include> + </includes> + <outputDirectory>target/generated-sources/test-models</outputDirectory> + <fullPackagePath>org.nuiton.topia</fullPackagePath> + <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver> + </configuration> + <goals> + <goal>generate-model-files</goal> + </goals> + </execution> + <execution> <id>Test Generator</id> <phase>generate-test-sources</phase> <configuration> - <testPhase>true</testPhase> + <reader>org.nuiton.eugene.ObjectModelReader</reader> <includes>**/*.objectmodel</includes> - <templates>org.nuiton.topia.generator.TopiaMetaGenerator,org.nuiton.topia.generator.InterfaceGenerator,org.nuiton.topia.generator.BeanGenerator</templates> - <fullPackagePath>org.nuiton.topia</fullPackagePath> - <extractedPackages>org.nuiton.topia</extractedPackages> + <templates>org.nuiton.topia.generator.TopiaMetaGenerator, + org.nuiton.topia.generator.InterfaceTransformer, + org.nuiton.topia.generator.BeanTransformer, + org.nuiton.topia.generator.EntityDTOTransformer + </templates> <defaultPackage>org.nuiton.topia</defaultPackage> - <extraClassPathDirectory>target/classes</extraClassPathDirectory> - <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver> </configuration> <goals> - <goal>zargo2xmi</goal> - <goal>xmi2objectmodel</goal> <goal>generate</goal> </goals> </execution> @@ -208,10 +227,26 @@ <executions> <execution> <id>attach-test-sources</id> + <goals> + <goal>test-jar</goal> + </goals> </execution> </executions> </plugin> + <!-- always compute tests source jar --> + <plugin> + <artifactId>maven-javadoc-plugin</artifactId> + <executions> + <execution> + <id>attach-test-javadoc</id> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> </build> </profile> Deleted: trunk/topia-persistence/src/main/java/org/nuiton/topia/ContextUtil.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/ContextUtil.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/ContextUtil.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,289 +0,0 @@ -/* *##% ToPIA - Persistence - * Copyright (C) 2004 - 2009 CodeLutin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser 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 Lesser Public License for more details. - * - * You should have received a copy of the GNU General Lesser Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ - -package org.nuiton.topia; - -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Properties; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.util.Resource; - -/** - * ContextUtil.java - * - * Created: 17 avril 2009 - * - * @author fdesbois <fdesbois@codelutin.com> - * @version $Revision: 1334 $ - * - * Outil pour la manipulation de la base de données et des contextes Topia - * Utilisation recommandé (Patron Singleton) : - * ------------------------------------------- - * - * public ContextUtilProject extends ContextUtil { - * - * private static ContextUtil instance = null; - * - * public static ContextUtil getInstance() { - * if(instance == null) { - * instance = new ContextUtilProject(); - * } - * return instance; - * } - * - * private ContextUtilProject() { - * super(ContextUtilProject.class); - * } - * - * @Override - * public void loadProperties(Properties props) throws IOException, URISyntaxException { - * loadFileProperties("TopiaContextImpl.properties",props); - * props.setProperty("topia.persistence.classes", ProjectModelDAOHelper.getImplementationClassesAsString()); - * } - * - * @Override // Initialisation/Vérification BD à chaque création du contexte global - * protected void initDB() throws TopiaException { - * - * } - * - * } - * - * Utilisation de la transaction courante : - * ---------------------------------------- - * - * // Déclaration du contexte - * ContextUtil context = ContextUtilProject.getInstance(); - * - * // Récupération du dao avec transaction courante - * ObjectDAO dao = ProjectModelDAOHelper.getObjectDAO(context.transaction()); - * - * ... // traitement avec dao - * - * context.commit(); - * - * ... // traitement avec dao - * - * context.commit(); - * - * context.close(); - * - * Possibilité de créer plusieurs transactions et de les manipuler indépendamment : - * -------------------------------------------------------------------------------- - * - * // Déclaration du contexte - * ContextUtil context = ContextUtilProject.getInstance(); - * - * // Création de deux transactions - * TopiaContext transaction1 = context.getContext().beginTransaction(); - * TopiaContext transaction2 = context.getContext().beginTransaction(); - * - * ObjectDAO dao1 = ProjectModelDAOHelper.getObjectDAO(transaction1); - * - * OtherDAO dao2 = ProjectModelDAOHelper.getOtherDAO(transaction2); - * - * try { - * ... - * transaction1.commitTransaction(); - * } catch (TopiaException ex) { - * // Si ereur sur la transaction1 annulation de la transaction2 - * transaction2.rollbackTransaction(); - * } - * ... - * - * transaction1.closeContext(); - * ... - * - * - * Utilisation dans les tests unitaires : - * ------------------------------------ - * - * @BeforeClass - * public static void setUpClass() throws Exception { - * ContextUtilProject.getInstance().init(); - * } - * - * @AfterClass - * public static void tearDownClass() throws Exception { - * ContextUtilProject.getInstance().disconnect(); - * } - */ -public abstract class ContextUtil { - - /** - * Vérifie l'initialisation - */ - private boolean init; - - private static Log log = LogFactory.getLog(ContextUtil.class); - - /** - * Contexte global - */ - private TopiaContext globalContext; - - /** - * Transaction courante - */ - private TopiaContext currTransaction; - - /** - * Constructeur avec Class correspondant à la sous-classe qui hérite de ContextUtil - * @param current - */ - protected ContextUtil(Class current) { - ContextUtil.log = LogFactory.getLog(current); - init(); - } - - protected ContextUtil() { - init(); - } - - /** - * Initialisation du TopiaContext global - * loadProperties est définit par les sous-classes pour - * charger le fichier de configuration et les classes pour Hibernate - * Une initialisation de la base de données est possible via la méthode - * initDB() à redéfinir par les sous-classes - */ - public void init() { - if (!this.init) { - if (log.isInfoEnabled()) { - log.info("Initialize of TopiaContext..."); - } - try { - Properties conf = loadProperties(); - - this.globalContext = TopiaContextFactory.getContext(conf); - this.init = true; - if (log.isInfoEnabled()) { - log.info("Context Ready !"); - } - this.initDB(); - } catch (Exception ex) { - log.error("Initialize error !!",ex); - } - } - } - - /** - * Initialisation de la base de données à redéfinir - * @throws org.nuiton.topia.TopiaException - */ - protected void initDB() throws TopiaException { - - } - - /** - * Chargement du ou des fichiers de propriétés nécessaires à Topia - * @param props - * @throws java.io.IOException - * @throws java.net.URISyntaxException - */ - protected abstract Properties loadProperties() throws IOException, URISyntaxException; - - /** - * Chargement d'un fichier de propriété - * @param filename nom du fichier - * @param props propriétés à charger - * @throws java.net.URISyntaxException - * @throws java.io.IOException - */ - protected Properties loadFileProperties(String filename) - throws URISyntaxException, IOException { - Properties props = new Properties(); - URL url = Resource.getURL(filename); - if (log.isDebugEnabled()) { - log.debug(url); - } - props.load(url.openStream()); - return props; - } - - public boolean isInit() { - return this.init; - } - - /** - * Retourne le contexte global pour créer les transactions - * @return Le contexte global - */ - public TopiaContext getContext() { - if (!this.init) { - this.init(); - } - return this.globalContext; - } - - /** - * Fermeture de la connexion à la BD - */ - public void disconnect() { - try { - if (this.init) { - this.globalContext.closeContext(); - if (log.isInfoEnabled()) { - log.info("Context closed"); - } - this.init = false; - } - } catch (TopiaException ex) { - log.error("Disconnect error !!",ex); - } - } - - /** - * Récupération transaction courante (ou création) - * @return - * @throws org.nuiton.topia.TopiaException - */ - public TopiaContext transaction() throws TopiaException { - if (!this.init) { - this.init(); - } - if (this.currTransaction == null || this.currTransaction.isClosed()) { - this.currTransaction = this.globalContext.beginTransaction(); - } - return this.currTransaction; - } - - /** - * Commit de la transaction courante - * @throws org.nuiton.topia.TopiaException - */ - public void commit() throws TopiaException { - this.transaction().commitTransaction(); - } - - public void rollback() throws TopiaException { - this.transaction().rollbackTransaction(); - } - - /** - * Fermeture de la transaction courante - * @throws org.nuiton.topia.TopiaException - */ - public void close() throws TopiaException { - if (this.init && this.currTransaction != null) { - this.currTransaction.closeContext(); - } - } -} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaContext.java Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContext.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContextFactory.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContextFactory.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContextFactory.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaContextFactory.java @@ -113,6 +115,12 @@ */ static public TopiaContext getContext(Properties config) throws TopiaNotFoundException { + // Put all properties from a hierarchy in the current properties object. + // Resolve problem with hibernate which used iterator to get properties and so only + // values from the current properties object and not all hierarchy + for (String key : config.stringPropertyNames()) { + config.setProperty(key, config.getProperty(key)); + } TopiaContextImpl result = contextCache.get(config); if (result == null || result.isClosed()) { result = new TopiaContextImpl(config); Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaContextFactory.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaException.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaException.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaException.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaException.java Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaException.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaNotFoundException.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaNotFoundException.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaNotFoundException.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaNotFoundException.java Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaNotFoundException.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaRuntimeException.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaRuntimeException.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaRuntimeException.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia; Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaRuntimeException.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaVetoException.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaVetoException.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaVetoException.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaVetoException.java Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/TopiaVetoException.java ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/event ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaContextEvent.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaContextEvent.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaContextEvent.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaContextListener.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaContextListener.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaContextListener.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntitiesEvent.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntitiesEvent.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntitiesEvent.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntitiesVetoable.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntitiesVetoable.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntitiesVetoable.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityEvent.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityEvent.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityEvent.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityListener.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityListener.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityListener.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityVetoable.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityVetoable.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaEntityVetoable.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionEvent.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionEvent.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionEvent.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionListener.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionListener.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionListener.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionVetoable.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionVetoable.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/event/TopiaTransactionVetoable.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.event; Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/EntityState.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/EntityState.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/EntityState.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * EntityState.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.framework; import org.apache.commons.collections.set.MapBackedSet; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImplementor.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImplementor.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaContextImplementor.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaContextImplementor.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFiresSupport.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFiresSupport.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaFiresSupport.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.framework; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaService.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaService.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaUtil.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaUtil.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaUtil.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /******************************************************************************* * TopiaUtil.java * Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BeanGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BeanGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BeanGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * BeanGenerator.java * @@ -29,6 +34,7 @@ package org.nuiton.topia.generator; +import org.apache.commons.lang.StringUtils; import static org.nuiton.topia.generator.TopiaGeneratorUtil.TAG_ANNOTATION; import java.io.File; @@ -60,7 +66,11 @@ /** * DTO generator + * + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : {@link BeanTransformer} + * @see BeanTransformer */ +@Deprecated public class BeanGenerator extends ObjectModelGenerator { /** @@ -367,7 +377,7 @@ attrName = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); attrType = attr.getAssociationClass().getName(); } - String attrNameCapitalized = GeneratorUtil.capitalize(attrName); + String attrNameCapitalized = StringUtils.capitalize(attrName); int dot = attrType.lastIndexOf("."); if (dot>-1) { attrType = attrType.substring(dot + 1); @@ -401,7 +411,7 @@ attrName = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); attrType = attr.getAssociationClass().getName(); } - String attrNameCapitalized = GeneratorUtil.capitalize(attrName); + String attrNameCapitalized = StringUtils.capitalize(attrName); int dot = attrType.lastIndexOf("."); if (dot>-1) { attrType = attrType.substring(dot + 1); @@ -424,7 +434,7 @@ for (ObjectModelAttribute attr : multipleAttr) { String attrName = attr.getName(); - String attrNameCapitalized = GeneratorUtil.capitalize(attrName); + String attrNameCapitalized = StringUtils.capitalize(attrName); String attrType = attr.getType(); int dot = attrType.lastIndexOf("."); if (dot>-1) { @@ -455,7 +465,7 @@ for (ObjectModelAttribute attr : multipleAttr) { String attrName = attr.getName(); - String attrNameCapitalized = GeneratorUtil.capitalize(attrName); + String attrNameCapitalized = StringUtils.capitalize(attrName); String attrType = attr.getType(); int dot = attrType.lastIndexOf("."); if (dot>-1) { @@ -474,7 +484,7 @@ protected void generateRemoveChild(Writer output, List<ObjectModelAttribute> multipleAttr) throws IOException { for (ObjectModelAttribute attr : multipleAttr) { String attrName = attr.getName(); - String attrNameCapitalized = GeneratorUtil.capitalize(attrName); + String attrNameCapitalized = StringUtils.capitalize(attrName); String attrType = attr.getType(); int dot = attrType.lastIndexOf("."); if (dot>-1) { Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BeanTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/BeanTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BeanTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/BeanTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,424 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ +package org.nuiton.topia.generator; + +import org.apache.commons.lang.StringUtils; +import org.nuiton.eugene.GeneratorUtil; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.*; + +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/*{generator option: parentheses = false}*/ + +/*{generator option: writeString = +}*/ +/** + * BeanTransformer + * <p/> + * Created: 28 oct. 2009 + * + * @author fdesbois + * @version $Revision: 692 $ + * <p/> + * Mise a jour: $Date: 2009-11-04 18:41:32 +0100 (mer. 04 nov. 2009) $ + * par : $Author: fdesbois $ + */ +public class BeanTransformer extends ObjectModelTransformerToJava { + + private static final Log log = LogFactory.getLog(BeanTransformer.class); + + @Override + public void transformFromClass(ObjectModelClass clazz) { + if (!clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_BEAN) && + !clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_DTO)) { + return; + } + + ObjectModelClass resultClass; + if (clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_BEAN)) { + resultClass = createAbstractClass(clazz.getName(), clazz.getPackageName()); + } else { + resultClass = createClass(clazz.getName(), clazz.getPackageName()); + } + + List<ObjectModelAttribute> attributes = (List<ObjectModelAttribute>) clazz.getAttributes(); + + createForDTO(resultClass, clazz, attributes); + + // Set superclass + Iterator<ObjectModelClass> j = clazz.getSuperclasses().iterator(); + if (j.hasNext()) { + ObjectModelClass p = j.next(); + setSuperClass(resultClass, p.getQualifiedName()); + } + + // Add interfaces from inputModel + for (ObjectModelInterface parentInterface : clazz.getInterfaces()) { + addInterface(resultClass, parentInterface.getQualifiedName()); + } + + // Default constructor + ObjectModelOperation constructor = addConstructor(resultClass, ObjectModelModifier.PUBLIC); + + createListeners(resultClass, clazz); + + boolean hasEntity = false; + boolean hasMultipleAttribute = false; + String toStringAppend = ""; // Append pour la méthode toString() + String initTabs = ""; // initialisation des tableaux dans le constructeur + + // Add attributes with getter/setter + for (ObjectModelAttribute attr : attributes) { + + if (attr.isNavigable() || attr.hasAssociationClass()) { + String attrType = attr.getType(); + String simpleType = GeneratorUtil.getSimpleName(attrType); + String attrName = attr.getName(); + String attrNameCapitalized = StringUtils.capitalize(attrName); + + // multiple attribute + if (attr.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ARRAY)) { + + int maxSize = attr.getMaxMultiplicity(); + int maxSizeMoinsUn = maxSize - 1; + + initTabs += "\n\tthis." + attrName + " = new " + attrType + "[" + maxSize + "];"; + + // Set Value + ObjectModelOperation setValue = addOperation(resultClass, "set" + attrNameCapitalized, + "void", ObjectModelModifier.PUBLIC); + addParameter(setValue, "int", "index"); + addParameter(setValue, attrType, "value"); + addException(setValue, "java.lang.ArrayIndexOutOfBoundsException"); + setOperationBody(setValue, "" + /*{ + if (index >= <%=maxSize%> || index < 0) { + throw new ArrayIndexOutOfBoundsException("Wrong index [" + index + "] for array <%=attrName%>," + + "index must be between 0 and <%=maxSizeMoinsUn%>"); + } + <%=simpleType%>[] oldValue = get<%=attrNameCapitalized%>(); + this.<%=attrName%>[index] = value; + firePropertyChange("<%=attrName%>", oldValue, this.<%=attrName%>); + }*/ + ); + + // Get Value + ObjectModelOperation getValue = addOperation(resultClass, "get" + attrNameCapitalized, + attrType, ObjectModelModifier.PUBLIC); + addParameter(getValue, "int", "index"); + addException(setValue, "java.lang.ArrayIndexOutOfBoundsException"); + setOperationBody(getValue, "" + /*{ + if (index >= <%=maxSize%> || index < 0) { + throw new ArrayIndexOutOfBoundsException("Wrong index [" + index + "] for array <%=attrName%>," + + "index must be between 0 and <%=maxSizeMoinsUn%>"); + } + return this.<%=attrName%>[index]; + }*/ + ); + + attrType += "[]"; + simpleType = GeneratorUtil.getSimpleName(attrType); + } else if (GeneratorUtil.isNMultiplicity(attr)) { + hasMultipleAttribute = true; + + // Add getChild + ObjectModelOperation getChild = addOperation(resultClass, "get" + attrNameCapitalized, + attrType, ObjectModelModifier.PUBLIC); + addParameter(getChild, "int", "index"); + setOperationBody(getChild, "" + /*{ + <%=simpleType%> o = getChild(<%=attrName%>, index); + return o; + }*/ + ); + + // Add getEntity + ObjectModelClass attrEntity = null; + if (getModel().hasClass(attr.getType())) { + attrEntity = getModel().getClass(attr.getType()); + } + boolean isEntity = (attrEntity != null && attrEntity.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)); + + if (isEntity) { + hasEntity = true; + ObjectModelOperation getChildEntity = addOperation(resultClass, "get" + attrNameCapitalized, + attrType, ObjectModelModifier.PUBLIC); + addParameter(getChildEntity, String.class.getName(), "topiaId"); + setOperationBody(getChildEntity, "" + /*{ + <%=simpleType%> o = getEntity(<%=attrName%>, topiaId); + return o; + }*/ + ); + } + + // Add addChild + ObjectModelOperation addChild = addOperation(resultClass, "add" + attrNameCapitalized, + attrType, ObjectModelModifier.PUBLIC); + addParameter(addChild, attrType, attrName); + setOperationBody(addChild, "" + + /*{ + get<%=attrNameCapitalized%>().add(<%=attrName%>); + firePropertyChange("<%=attrName%>", null, <%=attrName%>); + return <%=attrName%>; + }*/ + ); + + // Add removeChild + ObjectModelOperation removeChild = addOperation(resultClass, "remove" + attrNameCapitalized, + "boolean", ObjectModelModifier.PUBLIC); + addParameter(removeChild, attrType, attrName); + setOperationBody(removeChild, "" + + /*{ + boolean removed = get<%=attrNameCapitalized%>().remove(<%=attrName%>); + if (removed) { + firePropertyChange("<%=attrName%>", <%=attrName%>, null); + } + return removed; + }*/ + ); + + // Change type for Multiple attribute + if (attr.isOrdered()) { + attrType = List.class.getName() + "<" + attrType + ">"; + } else { + attrType = Collection.class.getName() + "<" + attrType + ">"; + } + simpleType = GeneratorUtil.getSimpleName(attrType); + } // end multiple attribute + + if (attr.hasAssociationClass()) { + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + attrName = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); + attrType = attr.getAssociationClass().getName(); + } + + // Add attribute to the class + String visibility = attr.getVisibility(); + addAttribute(resultClass, attrName, attrType, "", ObjectModelModifier.toValue(visibility)); + + // Add getter operation + ObjectModelOperation getter = addOperation(resultClass, "get" + attrNameCapitalized, attrType, + ObjectModelModifier.PUBLIC); + setOperationBody(getter, "" + /*{ + return this.<%=attrName%>; + }*/ + ); + + // Add setter operation + ObjectModelOperation setter = addOperation(resultClass, "set" + attrNameCapitalized, "void", + ObjectModelModifier.PUBLIC); + addParameter(setter, attrType, "newValue"); + setOperationBody(setter, "" + /*{ + <%=simpleType%> oldValue = get<%=attrNameCapitalized%>(); + this.<%=attrName%> = newValue; + firePropertyChange("<%=attrName%>", oldValue, newValue); + }*/ + ); + + // toString append for toString method + toStringAppend += "\n\t\t.append(\"" + attrName + "\", this." + attrName + ")"; + + } + } + + // Add helper operations + if (hasMultipleAttribute) { + ObjectModelOperation getChild = addOperation(resultClass, "getChild", "<T> T", + ObjectModelModifier.PROTECTED); + addParameter(getChild, "java.util.Collection<T>", "childs"); + addParameter(getChild, "int", "index"); + setOperationBody(getChild, "" + /*{ + if (childs != null) { + int i = 0; + for (T o : childs) { + if (index == i) { + return o; + } + i++; + } + } + return null; + }*/ + ); + } + + if (hasEntity) { + ObjectModelOperation getEntity = addOperation(resultClass, "getEntity", + "<T extends org.nuiton.topia.persistence.TopiaEntity> T", ObjectModelModifier.PROTECTED); + addParameter(getEntity, "java.util.Collection<T>", "childs"); + addParameter(getEntity, "java.lang.String", "topiaId"); + setOperationBody(getEntity, "" + /*{ + if (childs != null) { + for (T o : childs) { + if (topiaId.equals(o.getTopiaId())) { + return o; + } + } + } + return null; + }*/ + ); + } + + // Set body for default constructor + setOperationBody(constructor, "" + /*{ + pcs = new PropertyChangeSupport(this);<%=initTabs%> + }*/ + ); + + // Add operations + for (ObjectModelOperation op : clazz.getOperations()) { + String visibility = op.getVisibility(); + ObjectModelOperation resultOperation = addOperation(resultClass, op.getName(), op.getReturnType(), + ObjectModelModifier.toValue(visibility), ObjectModelModifier.ABSTRACT); + + for (ObjectModelParameter param : op.getParameters()) { + addParameter(resultOperation, param.getType(), param.getName()); + } + + for (String exception : op.getExceptions()) { + addException(resultOperation, exception); + } + } + + // Add toString operation + ObjectModelOperation toString = addOperation(resultClass, "toString", "java.lang.String", + ObjectModelModifier.PUBLIC); // FIXME manque Override + addImport(resultClass, "org.apache.commons.lang.builder.ToStringBuilder"); + setOperationBody(toString, "" + /*{ + String result = new ToStringBuilder(this)<%=toStringAppend%>. + toString(); + return result; + }*/ + ); + + } + + private void createForDTO(ObjectModelClass resultClass, ObjectModelClass inputClass, List<ObjectModelAttribute> attributes) { + + // Add Serializable implements for DTO generation + if (!inputClass.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_DTO)) { + return; + + } + + addInterface(resultClass, "java.io.Serializable"); + String svUID = TopiaGeneratorUtil.findTagValue("dto-serialVersionUID", inputClass, getModel()); + if (svUID != null) { + addConstant(resultClass, "serialVersionUID", "long", svUID, ObjectModelModifier.PUBLIC); + } + + for (ObjectModelDependency dependency : inputClass.getDependencies()) { + ObjectModelClass supplier = (ObjectModelClass)dependency.getSupplier(); + + // ENTITY dependency + // Copy all primitives attributes from the Entity (supplier) to the DTO + // Prepare a list to future generation of all object generated attributes + if (supplier.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + if (log.isInfoEnabled()) { + log.info("Create primitive and date fields in DTO from Entity : " + + supplier.getQualifiedName()); + } + for (ObjectModelAttribute attr : supplier.getAttributes()) { + if (TopiaGeneratorUtil.isPrimitiveType(attr) || TopiaGeneratorUtil.isDateType(attr)) { + attributes.add(attr); + } + } + } + } + } + + protected void createListeners(ObjectModelClass resultClass, ObjectModelClass inputClass) { + + addAttribute(resultClass, "pcs", "java.beans.PropertyChangeSupport", "", + ObjectModelModifier.PROTECTED, ObjectModelModifier.FINAL); + + // Add PropertyListener + String propType = "java.beans.PropertyChangeListener"; + String strType = String.class.getName(); + String objectType = Object.class.getName(); + + ObjectModelOperation addPropertyChangeListener = addOperation(resultClass, + "addPropertyChangeListener", "void", ObjectModelModifier.PUBLIC); + addParameter(addPropertyChangeListener, propType, "listener"); + setOperationBody(addPropertyChangeListener, "" + /*{ + pcs.addPropertyChangeListener(listener); + }*/ + ); + + ObjectModelOperation addPropertyChangeListenerPlus = addOperation(resultClass, + "addPropertyChangeListener", "void", ObjectModelModifier.PUBLIC); + addParameter(addPropertyChangeListenerPlus, strType, "propertyName"); + addParameter(addPropertyChangeListenerPlus, propType, "listener"); + setOperationBody(addPropertyChangeListenerPlus, "" + /*{ + pcs.addPropertyChangeListener(propertyName, listener); + }*/ + ); + + ObjectModelOperation removePropertyChangeListener = addOperation(resultClass, + "removePropertyChangeListener", "void", ObjectModelModifier.PUBLIC); + addParameter(removePropertyChangeListener, propType, "listener"); + setOperationBody(removePropertyChangeListener, "" + /*{ + pcs.removePropertyChangeListener(listener); + }*/ + ); + + ObjectModelOperation removePropertyChangeListenerPlus = addOperation(resultClass, + "removePropertyChangeListener", "void", ObjectModelModifier.PUBLIC); + addParameter(removePropertyChangeListenerPlus, strType, "propertyName"); + addParameter(removePropertyChangeListenerPlus, propType, "listener"); + setOperationBody(removePropertyChangeListenerPlus, "" + /*{ + pcs.removePropertyChangeListener(propertyName, listener); + }*/ + ); + + ObjectModelOperation firePropertyChange = addOperation(resultClass, + "firePropertyChange", "void", ObjectModelModifier.PROTECTED); + addParameter(firePropertyChange, strType, "propertyName"); + addParameter(firePropertyChange, objectType, "oldValue"); + addParameter(firePropertyChange, objectType, "newValue"); + setOperationBody(firePropertyChange, "" + /*{ + pcs.firePropertyChange(propertyName, oldValue, newValue); + }*/ + ); + } + + +} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * EntityGenerator.java * @@ -39,7 +44,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.nuiton.eugene.Generator; +import org.apache.commons.lang.StringUtils; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.models.object.ObjectModelAssociationClass; @@ -58,17 +63,12 @@ * @author poussin * + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : + * {@link DAOAbstractTransformer}. */ +@Deprecated public class DAOAbstractGenerator extends ObjectModelGenerator { - public DAOAbstractGenerator() { - super(); - } - - public DAOAbstractGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + "DAOAbstract.java"; @@ -160,7 +160,7 @@ /*{ public void delete(E entity) throws TopiaException { }*/ - String modelName = GeneratorUtil.capitalize(model.getName()); + String modelName = StringUtils.capitalize(model.getName()); String providerFQN = getProperty("defaultPackage") + "." + modelName + "DAOHelper.getImplementationClass"; for (ObjectModelAttribute attr : clazz.getAttributes()) { String attrType = attr.getType(); @@ -322,7 +322,7 @@ * These operations are abstract and identified by <<dao>> stereotype in the model. * The developper must defined these methods in the DAOImpl associated to this DAOAbstract. * @param output - * @param clazz ObjectModelClass with operations (corresponding to the Entity) + * @param operations operations to generate */ private void generateDAOOperations(Writer output, Collection<ObjectModelOperation> operations) throws IOException { for (ObjectModelOperation op : operations) { Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,523 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ +package org.nuiton.topia.generator; + +import org.apache.commons.lang.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.eugene.GeneratorUtil; +import org.nuiton.eugene.Template; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.*; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.TopiaDAO; +import org.nuiton.topia.persistence.TopiaDAOImpl; +import org.nuiton.util.StringUtil; + +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +/*{generator option: parentheses = false}*/ + +/*{generator option: writeString = +}*/ + +/** + * Created: 13 déc. 2009 + * + * @author Tony Chemit <chemit@codelutin.com> Copyright Code Lutin + * @version $Revision$ + * <p/> + * Mise a jour: $Date$ par : + * $Author: tchemit $ + * @since 2.3.0 + */ +public class DAOAbstractTransformer extends ObjectModelTransformerToJava { + + /** + * Logger + */ + private static final Log log = LogFactory.getLog(DAOAbstractTransformer.class); + + @Override + public void transformFromClass(ObjectModelClass clazz) { + if (!clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + return; + } + + String clazzName = clazz.getName(); + String clazzFQN = clazz.getQualifiedName(); + + ObjectModelClass result = createAbstractClass(clazzName + "DAOAbstract<E extends " + clazzName + ">", clazz.getPackageName()); + + // super class + + String extendClass = ""; + for (ObjectModelClass parent : clazz.getSuperclasses()) { + extendClass = parent.getQualifiedName(); + if (parent.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + extendClass += "DAOImpl<E>"; + // in java no multi-inheritance + break; + } + } + if (extendClass.length() == 0) { + extendClass = TopiaDAOImpl.class.getName() + "<E>"; + + } + if (log.isDebugEnabled()) { + log.debug("super class = "+extendClass); + } + setSuperClass(result, extendClass); + + addInterface(result, TopiaDAO.class.getName() + "<E>"); + + // imports + + Collection<ObjectModelOperation> DAOoperations = getDAOOperations(clazz); + if (isCollectionNeeded(DAOoperations)) { + addImport(result, Collection.class); + } + if (isSetNeeded(DAOoperations)) { + addImport(result, Set.class); + } + addImport(result, List.class); + addImport(result, Arrays.class); + addImport(result, TopiaException.class); + addImport(result, TopiaContextImplementor.class); + + boolean enableSecurity = ( + clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_CREATE) || + clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_LOAD) || + clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_UPDATE) || + clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_DELETE) + ); + + if (enableSecurity) { + addImport(result, ArrayList.class); + addImport(result, java.security.Permission.class); + addImport(result, "org.nuiton.topia.taas.entities.TaasAuthorizationImpl"); + addImport(result, "org.nuiton.topia.taas.jaas.TaasPermission"); + addImport(result, "org.nuiton.topia.taas.TaasUtil"); + addImport(result, TopiaDAO.class); + + //FIXME : how to do static imports ? +//import static org.nuiton.topia.taas.TaasUtil.CREATE; +//import static org.nuiton.topia.taas.TaasUtil.DELETE; +//import static org.nuiton.topia.taas.TaasUtil.LOAD; +//import static org.nuiton.topia.taas.TaasUtil.UPDATE; + } + + ObjectModelOperation op; + + // getEntityClass + + op = addOperation(result,"getEntityClass","Class<E>", ObjectModelModifier.PUBLIC); + setOperationBody(op,"" +/*{ + return (Class<E>)<%=clazzName%>.class; + }*/ + ); + + + generateDAOOperations(result, DAOoperations); + + // delete + + op = addOperation(result, "delete", "void", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + addParameter(op, "E", "entity"); + StringBuilder body = new StringBuilder(); + String modelName = StringUtils.capitalize(model.getName()); + String providerFQN = getOutputProperties().getProperty(Template.PROP_DEFAULT_PACKAGE) + "." + modelName + "DAOHelper.getImplementationClass"; + for (ObjectModelAttribute attr : clazz.getAttributes()) { + String attrType = attr.getType(); + String reverseAttrName = attr.getReverseAttributeName(); + ObjectModelAttribute reverse = attr.getReverseAttribute(); + if (!attr.hasAssociationClass() && reverse != null && reverse.isNavigable() + && GeneratorUtil.isNMultiplicity(attr) && GeneratorUtil.isNMultiplicity(reverse)) { + // On doit absolument supprimer pour les relations many-to-many + // le this de la collection de l'autre cote + + String attrDBName = TopiaGeneratorUtil.getDBName(attr); + String attrClassifierDBName = TopiaGeneratorUtil.getDBName(attr.getClassifier()); + String attrJoinTableName = TopiaGeneratorUtil.getManyToManyTableName(attr); + String attrReverseDBName = TopiaGeneratorUtil.getReverseDBName(attr); + body.append("" +/*{ + { + List<<%=attrType%>> list = getContext().getHibernate().createSQLQuery( + "SELECT main.topiaid " + + "from <%=attrClassifierDBName%> main, <%=attrJoinTableName%> secondary " + + "where main.topiaid=secondary.<%=attrDBName%>" + + " and secondary.<%=attrReverseDBName%>='" + entity.getTopiaId() + "'") + .addEntity("main", <%=providerFQN%>(<%=attrType%>.class)).list(); + for (<%=attrType%> item : list) { + item.remove<%=StringUtils.capitalize(reverseAttrName)%>(entity); + } + } +}*/ + ); + } else if (!attr.hasAssociationClass() && reverse != null + && reverse.isNavigable() && !GeneratorUtil.isNMultiplicity(reverse)) { + // On doit mettre a null les attributs qui ont cet objet sur les + // autres entites en one-to-* + // TODO peut-etre qu'hibernate est capable de faire ca tout seul ? + // THIMEL: J'ai remplacé reverse.getName() par reverseAttrName sans certitude + body.append("" + /*{ + { + List<<%=attrType%>> list = getContext() + .getDAO(<%=attrType%>.class) + .findAllByProperties("<%=reverseAttrName%>", entity); + for (<%=attrType%> item : list) { + item.set<%=StringUtils.capitalize(reverseAttrName)%>(null); +}*/ + ); + if(attr.isAggregate()){ + body.append("" +/*{ + item.delete(); +}*/ + ); + } + body.append("" +/*{ + } + } +}*/ + ); + + } + } + body.append("" +/*{ + super.delete(entity); + }*/ + ); + setOperationBody(op,body.toString()); + + + for (ObjectModelAttribute attr : clazz.getAttributes()) { + if (!attr.isNavigable()) { + continue; + } + String attrName = attr.getName(); + + if (!GeneratorUtil.isNMultiplicity(attr)) { + generateNoNMultiplicity(result, attr, false); + } else { + generateNMultiplicity(result, attr); + } + } + + if (clazz instanceof ObjectModelAssociationClass) { + ObjectModelAssociationClass assocClass = (ObjectModelAssociationClass)clazz; + for (ObjectModelAttribute attr : assocClass.getParticipantsAttributes()) { + if (attr != null) { + if (!GeneratorUtil.isNMultiplicity(attr)) { + generateNoNMultiplicity(result, attr, true); + } else { + generateNMultiplicity(result, attr); + } + } + } + } + + if(enableSecurity) { + + // getRequestPermission + + op = addOperation(result,"getRequestPermission","List<Permission>",ObjectModelModifier.PUBLIC); + setDocumentation(op,"Retourne les permissions a verifier pour l'acces a l'entite pour le service Taas"); + addException(op, TopiaException.class); + addParameter(op,String.class,"topiaId"); + addParameter(op,int.class,"actions"); + StringBuilder buffer = new StringBuilder(); + buffer.append("" +/*{ + List<Permission> resultPermissions = new ArrayList<Permission>(); + if ((actions & TaasUtil.CREATE) == TaasUtil.CREATE) { +}*/ + ); + buffer.append(generateSecurity(result, clazz, TopiaGeneratorUtil.TAG_SECURITY_CREATE)); + buffer.append("" +/*{ + } + if ((actions & TaasUtil.LOAD) == TaasUtil.LOAD) { +}*/ + ); + buffer.append(generateSecurity(result, clazz, TopiaGeneratorUtil.TAG_SECURITY_LOAD)); + buffer.append("" +/*{ + } + if ((actions & TaasUtil.UPDATE) == TaasUtil.UPDATE) { +}*/ + ); + buffer.append(generateSecurity(result, clazz, TopiaGeneratorUtil.TAG_SECURITY_UPDATE)); + buffer.append("" +/*{ + } + if ((actions & TaasUtil.DELETE) == TaasUtil.DELETE) { +}*/ + ); + buffer.append(generateSecurity(result, clazz, TopiaGeneratorUtil.TAG_SECURITY_DELETE)); + buffer.append("" +/*{ + } + return resultPermissions; + }*/ + ); + + setOperationBody(op,buffer.toString()); + + // THIMEL : Le code suivant doit pouvoir être déplacé dans DAODelegator ? + + // getRequestPermission + + + op = addOperation(result,"getRequestPermission","List<Permission>",ObjectModelModifier.PROTECTED); + addParameter(op,String.class,"topiaId"); + addParameter(op,int.class,"actions"); + addParameter(op,String.class,"query"); + addParameter(op,Class.class,"daoClass"); + addException(op,TopiaException.class); + setDocumentation(op,"Retourne les permissions a verifier pour l'acces a l'entite pour le service Taas"); + setOperationBody(op,"" +/*{ TopiaContextImplementor context = getContext(); + List<String> result = context.find(query, "id", topiaId); + + List<Permission> resultPermissions = new ArrayList<Permission>(); + for (String topiaIdPermission : result) { + TopiaDAO dao = context.getDAO(daoClass); + List<Permission> permissions = dao.getRequestPermission(topiaIdPermission, actions); + if(permissions != null) { + resultPermissions.addAll(permissions); + } else { + TaasPermission permission = new TaasPermission(topiaIdPermission, actions); + resultPermissions.add(permission); + } + } + return resultPermissions; + }*/ + ); + } + } + + /** + * Generation of DAO operations signatures from class. + * These operations are abstract and identified by <<dao>> stereotype in the model. + * The developper must defined these methods in the DAOImpl associated to this DAOAbstract. + * @param result + * @param operations operations to generate + */ + private void generateDAOOperations(ObjectModelClass result, Collection<ObjectModelOperation> operations) { + for (ObjectModelOperation op : operations) { + + //TODO: add to transformer cloneOperation + + ObjectModelOperation op2; + op2 = addOperation(result, op.getName(), op.getReturnType(), ObjectModelModifier.ABSTRACT, ObjectModelModifier.toValue(op.getVisibility())); + setDocumentation(op2, op.getDocumentation()); + + // parameters + + for (ObjectModelParameter param : op.getParameters()) { + ObjectModelParameter param2 = addParameter(op2, param.getType(), param.getName()); + setDocumentation(param2, param.getDocumentation()); + } + + // exceptions + Set<String> exceptions = op.getExceptions(); + exceptions.add(TopiaException.class.getName()); + for (String exception : exceptions) { + addException(op2,exception); + } + } + } + + + private String generateSecurity(ObjectModelClass result, ObjectModelClass clazz, String securityTagName) { + StringBuilder buffer = new StringBuilder(); + + if (clazz.hasTagValue(securityTagName)) { + String security = clazz.getTagValue(securityTagName); + Pattern propertiesPattern = Pattern + .compile("((?:[_a-zA-Z0-9]+\\.)+(?:_?[A-Z][_a-zA-Z0-9]*\\.)+)attribute\\.(?:([_a-z0-9][_a-zA-Z0-9]*))#(?:(create|load|update|delete))"); + String[] valuesSecurity = security.split(":"); + + for (String valueSecurity : valuesSecurity) { + Matcher matcher = propertiesPattern.matcher(valueSecurity); + matcher.find(); + // className is fully qualified name of class + String className = matcher.group(1); + className = StringUtil.substring(className, 0, -1); // remove ended + // . + // target is class, attribute or operation + String attributeName = matcher.group(2); + String actions = matcher.group(3).toUpperCase(); + + String query = ""; + String daoClass = ""; + if(className.equals(clazz.getQualifiedName())) { + query = "select " + attributeName + ".topiaId from " + clazz.getQualifiedName() + " where topiaId = :id"; + daoClass = clazz.getAttribute(attributeName).getClassifier().getQualifiedName(); + } else { + query = "select at.topiaId from " + className + " at inner join at." + attributeName + " cl where cl.topiaId = :id"; + daoClass = className; + } + buffer.append("" +/*{ + resultPermissions.addAll(getRequestPermission(topiaId, + <%=actions%>, + "<%=query%>", + <%=daoClass%>.class)); +}*/ + ); + } + } else { + buffer.append("" +/*{ return null; + }*/ + ); + } + return buffer.toString(); + } + + protected void generateNoNMultiplicity(ObjectModelClass result, ObjectModelAttribute attr, boolean isAssoc) { + String attrName = attr.getName(); + String attrType = attr.getType(); + String propertyName = attrName; + if (!isAssoc && attr.hasAssociationClass()) { + propertyName = TopiaGeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName()) + "." + propertyName; + } + ObjectModelOperation op; + op = addOperation(result, "findBy" + StringUtils.capitalize(attrName), "E", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + addParameter(op, attrType, "v"); + setDocumentation(op, "Retourne le premier élément trouvé ayant comme valeur pour l'attribut "+ attrName + " le paramètre."); + setOperationBody(op,"" +/*{ + E result = findByProperty("<%=propertyName%>", v); + return result; + }*/ + ); + + op = addOperation(result, "findAllBy" + StringUtils.capitalize(attrName), "List<E>", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + addParameter(op, attrType, "v"); + setDocumentation(op, "Retourne les éléments ayant comme valeur pour l'attribut " + attrName + " le paramètre."); + setOperationBody(op,"" +/*{ + List<E> result = findAllByProperty("<%=propertyName%>", v); + return result; + }*/ + ); + + if (attr.hasAssociationClass()) { + String assocClassName = attr.getAssociationClass().getName(); + String assocClassFQN = attr.getAssociationClass().getQualifiedName(); + op = addOperation(result, "findBy" + StringUtils.capitalize(assocClassName), "E", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + addParameter(op, assocClassFQN, "value"); + setDocumentation(op, "Retourne le premier élément trouvé ayant comme valeur pour l'attribut " + TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName) + " le paramètre."); + setOperationBody(op, "" +/*{ + E result = findByProperty("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>", value); + return result; + }*/ + ); + + op = addOperation(result, "findAllBy" + StringUtils.capitalize(assocClassName), "List<E>", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + addParameter(op, assocClassFQN, "value"); + setDocumentation(op, "Retourne les éléments ayant comme valeur pour l'attribut " + TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName) + " le paramètre."); + setOperationBody(op,"" +/*{ + List<E> result = findAllByProperty("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>", value); + return result; + }*/ + ); + } + } + + protected void generateNMultiplicity(ObjectModelClass result, ObjectModelAttribute attr) { + String attrName = attr.getName(); + String attrType = attr.getType(); + ObjectModelOperation op; + + op = addOperation(result, "findContains" + StringUtils.capitalize(attrName), "E", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + addParameter(op, attrType + "...", "v"); + setDocumentation(op, "Retourne le premier élément trouvé dont l'attribut " +attrName + " contient le paramètre." ); + setOperationBody(op,"" +/*{ + E result = findContainsProperties("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(attrName)%>", Arrays.asList(v)); + return result; + }*/ + ); + + op = addOperation(result, "findAllContains" + StringUtils.capitalize(attrName), "List<E>", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + addParameter(op, attrType + "...", "v"); + setDocumentation(op, "Retourne les éléments trouvé dont l'attribut " + attrName + " contient le paramètre."); + setOperationBody(op, "" +/*{ + List<E> results = findAllContainsProperties("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(attrName)%>", Arrays.asList(v)); + return results; + }*/ + ); + } + + private boolean isCollectionNeeded(Collection<ObjectModelOperation> operations) { + return isImportNeeded(operations, "Collection"); + } + + private boolean isSetNeeded(Collection<ObjectModelOperation> operations) { + return isImportNeeded(operations, "Set"); + } + + private boolean isImportNeeded(Collection<ObjectModelOperation> operations, String importName) { + for (ObjectModelOperation op : operations) { + if (op.getReturnType().contains(importName)) { + return true; + } + for (ObjectModelParameter param : op.getParameters()) { + if (param.getType().contains(importName)) { + return true; + } + } + } + return false; + } + + public static Collection<ObjectModelOperation> getDAOOperations(ObjectModelClass clazz) { + Collection<ObjectModelOperation> results = new ArrayList<ObjectModelOperation>(); + for (ObjectModelOperation op : clazz.getOperations()) { + if (op.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_DAO)) { + results.add(op); + } + } + return results; + } +} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * EntityPOJOGenerator.java * @@ -33,20 +38,18 @@ import java.io.IOException; import java.io.Writer; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.models.object.ObjectModelClass; +/** + * + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : + * {@link DAOTransformer}. + */ +@Deprecated public class DAOGenerator extends ObjectModelGenerator { - public DAOGenerator() { - super(); - } - public DAOGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + "DAO.java"; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /******************************************************************************* * DAOHelperGenerator.java * @@ -35,9 +40,9 @@ import java.util.Iterator; import java.util.List; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.models.object.ObjectModel; @@ -51,23 +56,18 @@ * d'avoir facilement les types d'entités gérées par ce dao. * * @author poussin + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : + * {@link DAOHelperTransformer}. */ +@Deprecated public class DAOHelperGenerator extends ObjectModelGenerator { private Log log = LogFactory.getLog(DAOHelperGenerator.class); - public DAOHelperGenerator() { - super(); - } - - public DAOHelperGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForModel(ObjectModel model) { - String modelName = GeneratorUtil.capitalize(model.getName()); + String modelName = StringUtils.capitalize(model.getName()); return (getProperty("defaultPackage") + ".").replace('.', File.separatorChar) @@ -86,7 +86,7 @@ /*{package <%=packageName%>; }*/ - String modelName = GeneratorUtil.capitalize(model.getName()); + String modelName = StringUtils.capitalize(model.getName()); String modelVersion = model.getVersion(); String daoHelperClazzName = modelName+"DAOHelper"; String entityEnumName = modelName+"EntityEnum"; Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOHelperTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,332 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ +package org.nuiton.topia.generator; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.eugene.ObjectModelType; +import org.nuiton.eugene.Template; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.*; +import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl; +import org.nuiton.eugene.models.object.xml.ObjectModelEnumerationImpl; +import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.TopiaDAO; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.TopiaEntityEnum; +import org.nuiton.topia.persistence.util.EntityOperator; +import org.nuiton.topia.persistence.util.EntityOperatorStore; + +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.List; + + +/*{generator option: parentheses = false}*/ + +/*{generator option: writeString = +}*/ + +/** + * User: chemit + * Date: 13 nov. 2009 + * Time: 09:05:17 + * + * @since 2.3.0 + */ +public class DAOHelperTransformer extends ObjectModelTransformerToJava { + + private static final Log log = LogFactory.getLog(DAOHelperTransformer.class); + + @Override + public void transformFromModel(ObjectModel model) { + ObjectModelClass resultClass; + String packageName = getOutputProperties().getProperty(Template.PROP_DEFAULT_PACKAGE); + String modelName = model.getName(); + String daoHelperClazzName = modelName + "DAOHelper"; + String modelVersion = model.getVersion(); + + resultClass = createClass(daoHelperClazzName, packageName); + + List<ObjectModelClass> classes = TopiaGeneratorUtil.getEntityClasses(model, true); + boolean generateOperator = TopiaGeneratorUtil.shouldgenerateOperatorForDAOHelper(null, model); + + addImport(resultClass, TopiaContextImplementor.class); + addImport(resultClass, TopiaDAO.class); + addImport(resultClass, TopiaEntity.class); + addImport(resultClass, TopiaContext.class); + addImport(resultClass, Array.class); + addImport(resultClass, Arrays.class); + + if (generateOperator) { + addImport(resultClass,EntityOperator.class); + addImport(resultClass, EntityOperatorStore.class); + } + + String entityEnumName = modelName+"EntityEnum"; + + // add non public constructor + ObjectModelOperation constructor = addConstructor(resultClass, ObjectModelModifier.PROTECTED); + setOperationBody(constructor," "); + + ObjectModelOperation op; + ObjectModelAttributeImpl attr; + + + // getModelVersion method + op = addOperation(resultClass, "getModelVersion", "String", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + setOperationBody(op, "" + /*{ + return "<%=modelVersion%>"; + }*/ + ); + + + for (ObjectModelClass clazz : classes) { + String clazzName = clazz.getName(); + String daoClazzName = clazzName + "DAO"; + + // specialized getXXXDao method + op = addOperation(resultClass, "get" + daoClazzName, clazz.getPackageName() + "." + daoClazzName, ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + addParameter(op, TopiaContext.class, "context"); + addImport(resultClass, clazz); + addException(op, TopiaException.class); + setOperationBody(op, "" + /*{ + TopiaContextImplementor ci = (TopiaContextImplementor) context; + <%=daoClazzName%> result = (<%=daoClazzName%>) ci.getDAO(<%=clazzName%>.class); + return result; + }*/ + ); + + } + + // generic getDao method + op = addOperation(resultClass, "getDAO", "<T extends TopiaEntity, D extends TopiaDAO<? super T>> D", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + addParameter(op, TopiaContext.class, "context"); + addParameter(op, "Class<T>", "klass"); + addException(op, TopiaException.class); + setOperationBody(op, "" + /*{ + TopiaContextImplementor ci = (TopiaContextImplementor) context; + <%=entityEnumName%> constant = <%=entityEnumName%>.valueOf(klass); + D dao = (D) ci.getDAO(constant.getContract()); + return dao; + }*/ + ); + + // getContractClass method + op = addOperation(resultClass, "getContractClass", "<T extends TopiaEntity> Class<T>", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + addParameter(op, "Class<T>", "klass"); + setOperationBody(op, "" + /*{ + <%=entityEnumName%> constant = <%=entityEnumName%>.valueOf(klass); + return (Class<T>) constant.getContract(); + }*/ + ); + + // getImplementationClass method + op = addOperation(resultClass, "getImplementationClass", "<T extends TopiaEntity> Class<T>", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + addParameter(op, "Class<T>", "klass"); + setOperationBody(op, "" + /*{ + <%=entityEnumName%> constant = <%=entityEnumName%>.valueOf(klass); + return (Class<T>) constant.getImplementation(); + }*/ + ); + + // getContractClasses method + op = addOperation(resultClass, "getContractClasses", "Class<? extends TopiaEntity>[]", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + setOperationBody(op, "" + /*{ + <%=entityEnumName%>[] values = <%=entityEnumName%>.values(); + Class<? extends TopiaEntity>[] result = (Class<? extends TopiaEntity>[]) Array.newInstance(Class.class, values.length); + for (int i = 0; i < values.length; i++) { + result[i] = values[i].getContract(); + } + return result; + }*/ + ); + + // getImplementationClasses method + op = addOperation(resultClass, "getImplementationClasses", "Class<? extends TopiaEntity>[]", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + setOperationBody(op, "" + /*{ + <%=entityEnumName%>[] values = <%=entityEnumName%>.values(); + Class<? extends TopiaEntity>[] result = (Class<? extends TopiaEntity>[]) Array.newInstance(Class.class, values.length); + for (int i = 0; i < values.length; i++) { + result[i] = values[i].getImplementation(); + } + return result; + }*/ + ); + + // getImplementationClassesAsString method + op = addOperation(resultClass, "getImplementationClassesAsString", "String", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + setOperationBody(op, "" + /*{ + StringBuilder buffer = new StringBuilder(); + for (Class<? extends TopiaEntity> aClass : getImplementationClasses()) { + buffer.append(',').append(aClass.getName()); + } + return buffer.substring(1); + }*/ + ); + + // getContracts method + op = addOperation(resultClass, "getContracts", entityEnumName+"[]", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + setOperationBody(op, "" + /*{ + return <%=entityEnumName%>.values(); + }*/ + ); + + if (generateOperator) { + // getOperator method + op = addOperation(resultClass, "getOperator", "<T extends TopiaEntity> EntityOperator<T>", ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + addParameter(op,"Class<T>","klass"); + setOperationBody(op, "" + /*{ + <%=entityEnumName%> constant = <%=entityEnumName%>.valueOf(klass); + return (EntityOperator<T>) EntityOperatorStore.getOperator(constant); + }*/ + ); + } + + // add enum + + ObjectModelEnumerationImpl entityEnum = (ObjectModelEnumerationImpl) addInnerClassifier(resultClass, ObjectModelType.OBJECT_MODEL_ENUMERATION, entityEnumName); + addImport(resultClass,TopiaEntityEnum.class); + addInterface(entityEnum, TopiaEntityEnum.class); + + for (ObjectModelClass clazz : classes) { + String clazzName = clazz.getName(); + addLiteral(entityEnum, clazzName + "(" + clazzName + ".class)"); + } + attr = (ObjectModelAttributeImpl) addAttribute(entityEnum, "contract", "Class<? extends TopiaEntity>"); + attr.setDocumentation("the contract of the entity"); + + attr = (ObjectModelAttributeImpl) addAttribute(entityEnum, "implementationFQN", "String"); + attr.setDocumentation("the fully qualified name of the implementation of the entity"); + + attr = (ObjectModelAttributeImpl) addAttribute(entityEnum, "implementation", "Class<? extends TopiaEntity>"); + attr.setDocumentation("the implementation class of the entity (will be lazy computed at runtime)"); + + // constructor + op = addConstructor(entityEnum, ObjectModelModifier.PACKAGE); + addParameter(op,"Class<? extends TopiaEntity >","contract"); + setOperationBody(op, "" + /*{ + this.contract = contract; + this.implementationFQN = contract.getName()+"Impl"; + }*/ + ); + + // getContract method + op = addOperation(entityEnum, "getContract","Class<? extends TopiaEntity>",ObjectModelModifier.PUBLIC); + setOperationBody(op, "" + /*{ + return contract; + }*/ + ); + + // getImplementationFQN method + op = addOperation(entityEnum, "getImplementationFQN","String",ObjectModelModifier.PUBLIC); + setOperationBody(op, "" + /*{ + return implementationFQN; + }*/ + ); + + // setImplementationFQN method + op = addOperation(entityEnum, "setImplementationFQN","void",ObjectModelModifier.PUBLIC); + addParameter(op,"String","implementationFQN"); + if (generateOperator) { + setOperationBody(op, "" + /*{ + this.implementationFQN = implementationFQN; + this.implementation = null; + // on reinitialise le magasin d'operators + EntityOperatorStore.clear(); + }*/ + ); + } else { + setOperationBody(op, "" + /*{ + this.implementationFQN = implementationFQN; + this.implementation = null; + }*/ + ); + } + + // accept method + op = addOperation(entityEnum, "accept","boolean",ObjectModelModifier.PUBLIC); + addParameter(op,"Class<? extends TopiaEntity>","klass"); + setOperationBody(op, "" + /*{ + return <%=daoHelperClazzName%>.getContractClass(klass) == contract; + }*/ + ); + + // getImplementation method + op = addOperation(entityEnum, "getImplementation","Class<? extends TopiaEntity>",ObjectModelModifier.PUBLIC); + setOperationBody(op, "" + /*{ + if (implementation == null) { + try { + implementation = (Class<? extends TopiaEntity>) Class.forName(implementationFQN); + } catch (ClassNotFoundException e) { + throw new RuntimeException("could not find class " + implementationFQN); + } + } + return implementation; + }*/ + ); + + // valueOf method + op = addOperation(entityEnum, "valueOf", entityEnumName, ObjectModelModifier.PUBLIC,ObjectModelModifier.STATIC); + addParameter(op,"TopiaEntity","entity"); + setOperationBody(op, "" + /*{ + return valueOf(entity.getClass()); + }*/ + ); + + // valueOf method + op = addOperation(entityEnum, "valueOf", entityEnumName, ObjectModelModifier.PUBLIC,ObjectModelModifier.STATIC); + addParameter(op,"Class<?>","klass"); + setOperationBody(op, "" + /*{ + if (klass.isInterface()) { + return <%=entityEnumName%>.valueOf(klass.getSimpleName()); + } + for (<%=entityEnumName%> entityEnum : <%=entityEnumName%>.values()) { + if (entityEnum.getContract().isAssignableFrom(klass)) { + //todo check it works for inheritance + return entityEnum; + } + } + throw new IllegalArgumentException("no entity defined for the class " + klass + " in : " + Arrays.toString(<%=entityEnumName%>.values())); + }*/ + ); + } +} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * EntityPOJOGenerator.java * @@ -33,21 +38,17 @@ import java.io.IOException; import java.io.Writer; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelOperation; - +/** + * + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : + * {@link DAOImplTransformer}. + */ +@Deprecated public class DAOImplGenerator extends ObjectModelGenerator { - public DAOImplGenerator() { - super(); - } - - public DAOImplGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + "DAOImpl.java"; Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,69 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ +package org.nuiton.topia.generator; + +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.ObjectModelClass; +import org.nuiton.eugene.models.object.ObjectModelOperation; + +/** + * Created: 14 déc. 2009 + * + * @author Tony Chemit <chemit@codelutin.com> Copyright Code Lutin + * @version $Revision$ + * <p/> + * Mise a jour: $Date$ par : + * $Author: tchemit $ + */ +public class DAOImplTransformer extends ObjectModelTransformerToJava { + + @Override + public void transformFromClass(ObjectModelClass clazz) { + if (!clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY) || hasDAOOperations(clazz)) { + return; + } + String clazzName = clazz.getName(); + String clazzFQN = clazz.getQualifiedName(); + ObjectModelClass result = createClass(clazzName + "DAOImpl<E extends " + clazzName + ">", clazz.getPackageName()); + setDocumentation(result, "/**\n" + + " Implantation du DAO pour l'entité " + clazzName + ".\n" + + " * L'utilisateur peut remplacer cette classe par la sienne en la mettant \n" + + " * simplement dans ces sources. Cette classe générée sera alors simplement\n" + + " * écrasée\n" + + " */"); + setSuperClass(result, clazzFQN + "DAOAbstract<E>"); + } + + /** + * Detect if the class has DAO operations identified with <<dao>> stereotype. + * + * @param clazz The ObjectModelClass with operations (Corresponding to the Entity) + * @return true if the class has some dao operations, false if not + */ + public static boolean hasDAOOperations(ObjectModelClass clazz) { + for (ObjectModelOperation op : clazz.getOperations()) { + if (op.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_DAO)) { + return true; + } + } + return false; + } +} Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,60 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ +package org.nuiton.topia.generator; + +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.ObjectModelClass; +import org.nuiton.eugene.models.object.ObjectModelElement; +import org.nuiton.eugene.models.object.xml.ObjectModelElementImpl; + +/*{generator option: parentheses = false}*/ + +/*{generator option: writeString = +}*/ +/** + * Created: 13 déc. 2009 + * + * @author Tony Chemit <chemit@codelutin.com> Copyright Code Lutin + * @version $Revision$ + * <p/> + * Mise a jour: $Date$ par : + * $Author: tchemit $ + * @since 2.3.0 + */ +public class DAOTransformer extends ObjectModelTransformerToJava { + + @Override + public void transformFromClass(ObjectModelClass clazz) { + if (!clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + return; + } + String clazzName = clazz.getName(); + String clazzFQN = clazz.getQualifiedName(); + ObjectModelClass result = createClass(clazzName + "DAO", clazz.getPackageName()); + setDocumentation(result,"/**\n" + + " * Cette classe etend le DAOImpl pour parametrer la classe avec le bon type\n" + + " * Cette classe est marque finale car l'heritage entre les DAO se fait\n" + + " * sur les DOAImpl, c-a-d que DAOAbstract peut etendre le DAOImpl\n" + + " */"); + setSuperClass(result,clazzFQN+"DAOImpl<"+clazzName+">"); + } + + +} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DTOGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DTOGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DTOGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * EntityAbstractGenerator.java * @@ -46,6 +51,9 @@ import org.nuiton.eugene.models.object.ObjectModelClassifier; import org.nuiton.eugene.models.object.ObjectModelInterface; +// do not remove me :) +import org.apache.commons.lang.StringUtils; + /** * DTO generator */ @@ -54,13 +62,8 @@ /** * Logger for this class */ - private static final Log log = LogFactory - .getLog(DTOGenerator.class); + private static final Log log = LogFactory.getLog(DTOGenerator.class); - public DTOGenerator() { - super(); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + "DTO.java"; @@ -90,7 +93,7 @@ import java.util.Collection; /** - * DTO implantation for <%=GeneratorUtil.capitalize(clazzName)%> entity. + * DTO implantation for <%=StringUtils.capitalize(clazzName)%> entity. *) public class <%=clazzName%>DTO}*/ @@ -379,13 +382,13 @@ if (!GeneratorUtil.isNMultiplicity(attr)) { if (!attr.hasAssociationClass()) { -/*{ public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=attrTypeDTO%> value) { +/*{ public void set<%=StringUtils.capitalize(attrName)%>(<%=attrTypeDTO%> value) { <%=attrTypeDTO%> oldValue = this.<%=attrName%>; this.<%=attrName%> = value; p.firePropertyChange("<%=attrName%>", oldValue, value); } - public <%=attrTypeDTO%> get<%=GeneratorUtil.capitalize(attrName)%>() { + public <%=attrTypeDTO%> get<%=StringUtils.capitalize(attrName)%>() { return <%=attrName%>; } @@ -396,13 +399,13 @@ if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } -/*{ public void set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%>DTO association) { +/*{ public void set<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%>DTO association) { <%=assocClassFQN%>DTO oldAssocation = this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = association; p.firePropertyChange("<%=attrName%>", oldAssocation, assocation); } - public <%=assocClassFQN%>DTO get<%=GeneratorUtil.capitalize(assocAttrName)%>() { + public <%=assocClassFQN%>DTO get<%=StringUtils.capitalize(assocAttrName)%>() { return <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; } @@ -417,7 +420,7 @@ } else { nMultType = "Collection<" + attrTypeDTO + ">"; } -/*{ public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=nMultType%> values) { +/*{ public void set<%=StringUtils.capitalize(attrName)%>(<%=nMultType%> values) { <%=nMultType%> oldValues = this.<%=attrName%>; this.<%=attrName%> = values; p.firePropertyChange("<%=attrName%>", oldValues, values); @@ -431,7 +434,7 @@ }*/ if (reverse != null && reverse.isNavigable()) { String reverseAttrName = reverse.getName(); -/*{ <%=attrName%>.set<%=GeneratorUtil.capitalize(reverseAttrName)%>(this); +/*{ <%=attrName%>.set<%=StringUtils.capitalize(reverseAttrName)%>(this); }*/ } /*{ return <%=attrName%>; @@ -444,7 +447,7 @@ }*/ if (reverse != null && reverse.isNavigable()) { String reverseAttrName = reverse.getName(); -/*{ <%=attrName%>.set<%=GeneratorUtil.capitalize(reverseAttrName)%>(null); +/*{ <%=attrName%>.set<%=StringUtils.capitalize(reverseAttrName)%>(null); }*/ } /*{ } @@ -462,7 +465,7 @@ if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } -/*{ public void set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=nMultType%> values) { +/*{ public void set<%=StringUtils.capitalize(assocAttrName)%>(<%=nMultType%> values) { <%=nMultType%> oldValues = this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = values; p.firePropertyChange("<%=attrName%>", oldValues, values); @@ -477,7 +480,7 @@ } else { nMultType = "Collection<" + attrTypeDTO + ">"; } -/*{ public <%=nMultType%> get<%=GeneratorUtil.capitalize(attrName)%>() { +/*{ public <%=nMultType%> get<%=StringUtils.capitalize(attrName)%>() { return this.<%=attrName%>; } @@ -494,7 +497,7 @@ if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } -/*{ public <%=nMultType%> get<%=GeneratorUtil.capitalize(assocAttrName)%>() { +/*{ public <%=nMultType%> get<%=StringUtils.capitalize(assocAttrName)%>() { return this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; } @@ -535,4 +538,4 @@ }*/ } -} //EntityDTOGenerator +} //DTOGenerator Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * EntityAbstractGenerator.java * @@ -29,9 +34,9 @@ package org.nuiton.topia.generator; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.models.object.ObjectModelAssociationClass; @@ -54,12 +59,15 @@ * Generateur d'entites abstraites. Il s'agit de l'implatation par defaut d'une * entite. Les classes generees sont surchargees par un XXXImpl lorsque l'entite * n'est pas abstraite. La surcharge peut etre ecrite par l'utilisateur. + * + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : + * {@link EntityAbstractTransformer}. */ +@Deprecated public class EntityAbstractGenerator extends ObjectModelGenerator { /** Logger for this class */ - private static final Log log = LogFactory - .getLog(EntityAbstractGenerator.class); + private static final Log log = LogFactory.getLog(EntityAbstractGenerator.class); // TODO THIMEL : Je pense qu'il faudrait que l'EntityInterfaceGenerator // hérite de ce générateur, avec generateBody qui renvoie false, et que dans @@ -69,14 +77,6 @@ return true; } - public EntityAbstractGenerator() { - super(); - } - - public EntityAbstractGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + "Abstract.java"; @@ -119,7 +119,7 @@ } /*{ /** - * Implantation POJO pour l'entité {@link <%=TopiaGeneratorUtil.capitalize(clazzFQN)%>}. + * Implantation POJO pour l'entité {@link <%=StringUtils.capitalize(clazzFQN)%>}. }*/ { String dbName = clazz.getTagValue(TopiaGeneratorUtil.TAG_DB_NAME); @@ -341,7 +341,7 @@ if (attr.referenceClassifier() && attr.getClassifier().hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { if (attr.isAggregate()) { String attrName = attr.getName(); - String getterName = "get" + GeneratorUtil.capitalize(attrName); + String getterName = "get" + StringUtils.capitalize(attrName); if (GeneratorUtil.isNMultiplicity(attr)) { /*{ tmp.addAll(<%=getterName%>()); }*/ @@ -375,7 +375,7 @@ if (attr.referenceClassifier() && attr.getClassifier().hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { if (attr.isComposite()) { String attrName = attr.getName(); - String getterName = "get" + GeneratorUtil.capitalize(attrName); + String getterName = "get" + StringUtils.capitalize(attrName); if (GeneratorUtil.isNMultiplicity(attr)) { /*{ if (<%=getterName%>() != null) { tmp.addAll(<%=getterName%>()); @@ -409,10 +409,12 @@ // tmp.addAll(<%=ref%>); // } /*{ - org.nuiton.topia.persistence.TopiaDAO<<%=assocClassFQN%>> dao = ((TopiaContextImplementor) getTopiaContext()).getDAO(<%=assocClassFQN%>.class); - List<<%=assocClassFQN%>> findAllByProperties = dao.findAllByProperties("<%=reverseAttrName%>", this); - if (findAllByProperties != null) { - tmp.addAll(findAllByProperties); + { + org.nuiton.topia.persistence.TopiaDAO<<%=assocClassFQN%>> dao = ((TopiaContextImplementor) getTopiaContext()).getDAO(<%=assocClassFQN%>.class); + List<<%=assocClassFQN%>> findAllByProperties = dao.findAllByProperties("<%=reverseAttrName%>", this); + if (findAllByProperties != null) { + tmp.addAll(findAllByProperties); + } } }*/ } @@ -448,10 +450,10 @@ if (!GeneratorUtil.isNMultiplicity(attr)) { if (!attr.hasAssociationClass()) { /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#set<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%>) + * @see <%=clazzFQN%>#set<%=StringUtils.capitalize(attrName)%>(<%=attrType%>) *) @Override - public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%> value) { + public void set<%=StringUtils.capitalize(attrName)%>(<%=attrType%> value) { <%=attrType%> _oldValue = this.<%=attrName%>; fireOnPreWrite("<%=attrName%>", _oldValue, value); this.<%=attrName%> = value; @@ -459,10 +461,10 @@ } /* (non-Javadoc) - * @see <%=clazzFQN%>#get<%=GeneratorUtil.capitalize(attrName)%>() + * @see <%=clazzFQN%>#get<%=StringUtils.capitalize(attrName)%>() *) @Override - public <%=attrType%> get<%=GeneratorUtil.capitalize(attrName)%>() { + public <%=attrType%> get<%=StringUtils.capitalize(attrName)%>() { fireOnPreRead("<%=attrName%>", <%=attrName%>); <%=attrType%> result = this.<%=attrName%>; fireOnPostRead("<%=attrName%>", <%=attrName%>); @@ -474,10 +476,10 @@ String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); String assocClassFQN = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName()); /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%>) + * @see <%=clazzFQN%>#set<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%>) *) @Override - public void set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%> association) { + public void set<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%> association) { <%=assocClassFQN%> _oldValue = this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, association); this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = association; @@ -485,10 +487,10 @@ } /* (non-Javadoc) - * @see <%=clazzFQN%>#get<%=GeneratorUtil.capitalize(assocAttrName)%>() + * @see <%=clazzFQN%>#get<%=StringUtils.capitalize(assocAttrName)%>() *) @Override - public <%=assocClassFQN%> get<%=GeneratorUtil.capitalize(assocAttrName)%>() { + public <%=assocClassFQN%> get<%=StringUtils.capitalize(assocAttrName)%>() { return <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; } @@ -499,10 +501,10 @@ String collectionObject = TopiaGeneratorUtil.getSimpleName(TopiaGeneratorUtil.getNMultiplicityObjectType(attr)); if (!attr.hasAssociationClass()) { //Méthodes remplacées par des accesseurs sur les classes d'assoc /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#add<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%>) + * @see <%=clazzFQN%>#add<%=StringUtils.capitalize(attrName)%>(<%=attrType%>) *) @Override - public void add<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%> <%=attrName%>) { + public void add<%=StringUtils.capitalize(attrName)%>(<%=attrType%> <%=attrName%>) { fireOnPreWrite("<%=attrName%>", null, <%=attrName%>); if (this.<%=attrName%> == null) { this.<%=attrName%> = new <%=collectionObject%><<%=attrType%>>(); @@ -513,13 +515,13 @@ String reverseAttrName = reverse.getName(); String reverseAttrType = TopiaGeneratorUtil.getSimpleName(reverse.getType()); if (!GeneratorUtil.isNMultiplicity(reverse)) { -/*{ <%=attrName%>.set<%=GeneratorUtil.capitalize(reverseAttrName)%>(this); +/*{ <%=attrName%>.set<%=StringUtils.capitalize(reverseAttrName)%>(this); }*/ } else { -/*{ if (<%=attrName%>.get<%=GeneratorUtil.capitalize(reverseAttrName)%>() == null) { - <%=attrName%>.set<%=GeneratorUtil.capitalize(reverseAttrName)%>(new <%=collectionObject%><<%=reverseAttrType%>>()); +/*{ if (<%=attrName%>.get<%=StringUtils.capitalize(reverseAttrName)%>() == null) { + <%=attrName%>.set<%=StringUtils.capitalize(reverseAttrName)%>(new <%=collectionObject%><<%=reverseAttrType%>>()); } - <%=attrName%>.get<%=GeneratorUtil.capitalize(reverseAttrName)%>().add(this); + <%=attrName%>.get<%=StringUtils.capitalize(reverseAttrName)%>().add(this); }*/ } } @@ -528,35 +530,35 @@ } /* (non-Javadoc) - * @see <%=clazzFQN%>#addAll<%=GeneratorUtil.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>>) + * @see <%=clazzFQN%>#addAll<%=StringUtils.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>>) *) @Override - public void addAll<%=GeneratorUtil.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>> values) { + public void addAll<%=StringUtils.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>> values) { if (values == null) { return; } for (<%=attrType%> item : values) { - add<%=GeneratorUtil.capitalize(attrName)%>(item); + add<%=StringUtils.capitalize(attrName)%>(item); } } }*/ if (!isPrimitiveType(attr) && !isDateType(attr)) { /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#get<%=GeneratorUtil.capitalize(attrName)%>ByTopiaId(String) + * @see <%=clazzFQN%>#get<%=StringUtils.capitalize(attrName)%>ByTopiaId(String) *) @Override - public <%=attrType%> get<%=GeneratorUtil.capitalize(attrName)%>ByTopiaId(String topiaId) { + public <%=attrType%> get<%=StringUtils.capitalize(attrName)%>ByTopiaId(String topiaId) { return org.nuiton.topia.persistence.util.TopiaEntityHelper.getEntityByTopiaId(<%=attrName%>, topiaId); } }*/ } /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#set<%=GeneratorUtil.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>>) + * @see <%=clazzFQN%>#set<%=StringUtils.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>>) *) @Override - public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>> values) { + public void set<%=StringUtils.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>> values) { <%=collectionInterface%><<%=attrType%>> _oldValue = <%=attrName%>; fireOnPreWrite("<%=attrName%>", _oldValue, values); <%=attrName%> = values; @@ -564,10 +566,10 @@ } /* (non-Javadoc) - * @see <%=clazzFQN%>#remove<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%>) + * @see <%=clazzFQN%>#remove<%=StringUtils.capitalize(attrName)%>(<%=attrType%>) *) @Override - public void remove<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%> value) { + public void remove<%=StringUtils.capitalize(attrName)%>(<%=attrType%> value) { fireOnPreWrite("<%=attrName%>", value, null); if ((this.<%=attrName%> == null) || (!this.<%=attrName%>.remove(value))) { throw new IllegalArgumentException("List does not contain given element"); @@ -577,10 +579,10 @@ hasUnidirectionalRelationOnAbstractType(attr, model))) { String reverseAttrName = reverse.getName(); if (!GeneratorUtil.isNMultiplicity(reverse)) { -/*{ value.set<%=GeneratorUtil.capitalize(reverseAttrName)%>(null); +/*{ value.set<%=StringUtils.capitalize(reverseAttrName)%>(null); }*/ } else { -/*{ value.get<%=GeneratorUtil.capitalize(reverseAttrName)%>().remove(this); +/*{ value.get<%=StringUtils.capitalize(reverseAttrName)%>().remove(this); }*/ } } @@ -588,10 +590,10 @@ } /* (non-Javadoc) - * @see <%=clazzFQN%>#clear<%=GeneratorUtil.capitalize(attrName)%>() + * @see <%=clazzFQN%>#clear<%=StringUtils.capitalize(attrName)%>() *) @Override - public void clear<%=GeneratorUtil.capitalize(attrName)%>() { + public void clear<%=StringUtils.capitalize(attrName)%>() { if (this.<%=attrName%> == null) { return; } @@ -602,10 +604,10 @@ /*{ for (<%=attrType%> item : this.<%=attrName%>) { }*/ if (!GeneratorUtil.isNMultiplicity(reverse)) { -/*{ item.set<%=GeneratorUtil.capitalize(reverseAttrName)%>(null); +/*{ item.set<%=StringUtils.capitalize(reverseAttrName)%>(null); }*/ } else { -/*{ item.get<%=GeneratorUtil.capitalize(reverseAttrName)%>().remove(this); +/*{ item.get<%=StringUtils.capitalize(reverseAttrName)%>().remove(this); }*/ } /*{ } @@ -622,10 +624,10 @@ String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); String assocClassFQN = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName()); /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#add<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%>) + * @see <%=clazzFQN%>#add<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%>) *) @Override - public void add<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%> value) { + public void add<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%> value) { fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", null, value); if (this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) { this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = new <%=collectionObject%><<%=assocClassFQN%>>(); @@ -634,7 +636,7 @@ if (reverse != null && (reverse.isNavigable() || hasUnidirectionalRelationOnAbstractType(attr, model))) { String reverseAttrName = reverse.getName(); -/*{ value.set<%=GeneratorUtil.capitalize(reverseAttrName)%>(this); +/*{ value.set<%=StringUtils.capitalize(reverseAttrName)%>(this); }*/ } /*{ this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.add(value); @@ -644,35 +646,35 @@ if (!isPrimitiveType(attr) && !isDateType(attr)) { /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#get<%=GeneratorUtil.capitalize(attrName)%>ByTopiaId(String) + * @see <%=clazzFQN%>#get<%=StringUtils.capitalize(attrName)%>ByTopiaId(String) *) @Override - public <%=assocClassFQN%> get<%=GeneratorUtil.capitalize(assocAttrName)%>ByTopiaId(String topiaId) { + public <%=assocClassFQN%> get<%=StringUtils.capitalize(assocAttrName)%>ByTopiaId(String topiaId) { return org.nuiton.topia.persistence.util.TopiaEntityHelper.getEntityByTopiaId(<%=assocAttrName%>, topiaId); } }*/ } /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#addAll<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>>() + * @see <%=clazzFQN%>#addAll<%=StringUtils.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>>() *) @Override - public void addAll<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>> values) { + public void addAll<%=StringUtils.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>> values) { if (values == null) { return; } for (<%=assocClassFQN%> item : values) { - add<%=GeneratorUtil.capitalize(assocAttrName)%>(item); + add<%=StringUtils.capitalize(assocAttrName)%>(item); } } /* (non-Javadoc) - * @see <%=clazzFQN%>#set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>>() + * @see <%=clazzFQN%>#set<%=StringUtils.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>>() *) @Override - public void set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>> values) { -// clear<%=GeneratorUtil.capitalize(assocAttrName)%>(); -// addAll<%=GeneratorUtil.capitalize(assocAttrName)%>(values); + public void set<%=StringUtils.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>> values) { +// clear<%=StringUtils.capitalize(assocAttrName)%>(); +// addAll<%=StringUtils.capitalize(assocAttrName)%>(values); // FIXME <%=collectionInterface%><<%=assocClassFQN%>> _oldValue = <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, values); @@ -681,10 +683,10 @@ } /* (non-Javadoc) - * @see <%=clazzFQN%>#remove<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%>) + * @see <%=clazzFQN%>#remove<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%>) *) @Override - public void remove<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%> value) { + public void remove<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%> value) { fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", value, null); if ((this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) || (!this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.remove(value))) { throw new IllegalArgumentException("List does not contain given element"); @@ -693,17 +695,17 @@ if (reverse != null && (reverse.isNavigable() || hasUnidirectionalRelationOnAbstractType(attr, model))) { String reverseAttrName = reverse.getName(); -/*{ value.set<%=GeneratorUtil.capitalize(reverseAttrName)%>(null); +/*{ value.set<%=StringUtils.capitalize(reverseAttrName)%>(null); }*/ } /*{ fireOnPostWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.size()+1, value, null); } /* (non-Javadoc) - * @see <%=clazzFQN%>#clear<%=GeneratorUtil.capitalize(assocAttrName)%>() + * @see <%=clazzFQN%>#clear<%=StringUtils.capitalize(assocAttrName)%>() *) @Override - public void clear<%=GeneratorUtil.capitalize(assocAttrName)%>() { + public void clear<%=StringUtils.capitalize(assocAttrName)%>() { if (this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) { return; } @@ -712,7 +714,7 @@ hasUnidirectionalRelationOnAbstractType(attr, model))) { String reverseAttrName = reverse.getName(); /*{ for (<%=assocClassFQN%> item : this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>) { - item.set<%=GeneratorUtil.capitalize(reverseAttrName)%>(null); + item.set<%=StringUtils.capitalize(reverseAttrName)%>(null); } }*/ } @@ -726,18 +728,18 @@ } if (!attr.hasAssociationClass()) { /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#get<%=GeneratorUtil.capitalize(attrName)%>() + * @see <%=clazzFQN%>#get<%=StringUtils.capitalize(attrName)%>() *) @Override - public <%=collectionInterface%><<%=attrType%>> get<%=GeneratorUtil.capitalize(attrName)%>() { + public <%=collectionInterface%><<%=attrType%>> get<%=StringUtils.capitalize(attrName)%>() { return <%=attrName%>; } /* (non-Javadoc) - * @see <%=clazzFQN%>#size<%=GeneratorUtil.capitalize(attrName)%>() + * @see <%=clazzFQN%>#size<%=StringUtils.capitalize(attrName)%>() *) @Override - public int size<%=GeneratorUtil.capitalize(attrName)%>() { + public int size<%=StringUtils.capitalize(attrName)%>() { if (<%=attrName%> == null) { return 0; } @@ -745,11 +747,11 @@ } /* (non-Javadoc) - * @see <%=clazzFQN%>#is<%=GeneratorUtil.capitalize(attrName)%>Empty() + * @see <%=clazzFQN%>#is<%=StringUtils.capitalize(attrName)%>Empty() *) @Override - public boolean is<%=GeneratorUtil.capitalize(attrName)%>Empty() { - int size = size<%=GeneratorUtil.capitalize(attrName)%>(); + public boolean is<%=StringUtils.capitalize(attrName)%>Empty() { + int size = size<%=StringUtils.capitalize(attrName)%>(); return size == 0; } @@ -758,23 +760,23 @@ String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); String assocClassFQN = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName()); /*{ /* (non-Javadoc) - * @see <%=clazzFQN%>#get<%=GeneratorUtil.capitalize(assocAttrName)%>() + * @see <%=clazzFQN%>#get<%=StringUtils.capitalize(assocAttrName)%>() *) @Override - public <%=collectionInterface%><<%=assocClassFQN%>> get<%=GeneratorUtil.capitalize(assocAttrName)%>() { + public <%=collectionInterface%><<%=assocClassFQN%>> get<%=StringUtils.capitalize(assocAttrName)%>() { return <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; } /* (non-Javadoc) - * @see <%=clazzFQN%>#get<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=attrType%>) + * @see <%=clazzFQN%>#get<%=StringUtils.capitalize(assocAttrName)%>(<%=attrType%>) *) @Override - public <%=assocClassFQN%> get<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=attrType%> value) { + public <%=assocClassFQN%> get<%=StringUtils.capitalize(assocAttrName)%>(<%=attrType%> value) { if (value == null || <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) { return null; } for (<%=assocClassFQN%> item : <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>) { - if (value.equals(item.get<%=GeneratorUtil.capitalize(attrName)%>())) { + if (value.equals(item.get<%=StringUtils.capitalize(attrName)%>())) { return item; } } @@ -782,10 +784,10 @@ } /* (non-Javadoc) - * @see <%=clazzFQN%>#size<%=GeneratorUtil.capitalize(assocAttrName)%>() + * @see <%=clazzFQN%>#size<%=StringUtils.capitalize(assocAttrName)%>() *) @Override - public int size<%=GeneratorUtil.capitalize(assocAttrName)%>() { + public int size<%=StringUtils.capitalize(assocAttrName)%>() { if (<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) { return 0; } @@ -793,11 +795,11 @@ } /* (non-Javadoc) - * @see <%=clazzFQN%>#is<%=GeneratorUtil.capitalize(assocAttrName)%>Empty() + * @see <%=clazzFQN%>#is<%=StringUtils.capitalize(assocAttrName)%>Empty() *) @Override - public boolean is<%=GeneratorUtil.capitalize(assocAttrName)%>Empty() { - int size = size<%=GeneratorUtil.capitalize(assocAttrName)%>(); + public boolean is<%=StringUtils.capitalize(assocAttrName)%>Empty() { + int size = size<%=StringUtils.capitalize(assocAttrName)%>(); return size == 0; } @@ -867,7 +869,7 @@ * @param value La valeur de l'attribut <%=name%> à positionner. *) @Override - public void set<%=GeneratorUtil.capitalize(name)%>(<%=type%> value) { + public void set<%=StringUtils.capitalize(name)%>(<%=type%> value) { <%=type%> _oldValue = this.<%=GeneratorUtil.toLowerCaseFirstLetter(name)%>; fireOnPreWrite("<%=name%>", _oldValue, value); this.<%=GeneratorUtil.toLowerCaseFirstLetter(name)%> = value; @@ -878,7 +880,7 @@ * @return La valeur de l'attribut <%=name%>. *) @Override - public <%=type%> get<%=GeneratorUtil.capitalize(name)%>() { + public <%=type%> get<%=StringUtils.capitalize(name)%>() { return <%=GeneratorUtil.toLowerCaseFirstLetter(name)%>; } Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,1063 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ +package org.nuiton.topia.generator; + +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.eugene.GeneratorUtil; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.*; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaContextImplementor; +import static org.nuiton.topia.generator.TopiaGeneratorUtil.*; +import org.nuiton.topia.persistence.EntityVisitor; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.TopiaEntityAbstract; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/*{generator option: parentheses = false}*/ + +/*{generator option: writeString = +}*/ + +/** + * Created: 14 déc. 2009 + * + * @author Tony Chemit <chemit@codelutin.com> Copyright Code Lutin + * @version $Revision$ + * <p/> + * Mise a jour: $Date$ par : + * $Author: tchemit $ + */ +public class EntityAbstractTransformer extends ObjectModelTransformerToJava { + + /** + * Logger + */ + private static final Log log = LogFactory.getLog(EntityAbstractTransformer.class); + + @Override + public void transformFromClass(ObjectModelClass clazz) { + if (!clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + return; + } + + String clazzName = clazz.getName(); + String clazzFQN = TopiaGeneratorUtil.getSimpleName(clazz.getQualifiedName()); + + ObjectModelClass result; + + if (log.isInfoEnabled()) { + log.info("for entity : " + clazz.getQualifiedName()); + } + + result = createAbstractClass(clazzName + "Abstract", clazz.getPackageName()); + + addInterface(result, clazzName); + + addImport(result, ArrayList.class); + addImport(result, List.class); + addImport(result, Serializable.class); + addImport(result, ToStringBuilder.class); + addImport(result, TopiaEntity.class); + addImport(result, TopiaContextImplementor.class); + + // javadoc + + StringBuilder doc = new StringBuilder(); + doc.append("Implantation POJO pour l'entité {@link ").append(StringUtils.capitalize(clazzFQN)).append("}\n"); + + { + String dbName = clazz.getTagValue(TopiaGeneratorUtil.TAG_DB_NAME); + if (dbName != null) { + doc.append("<p>Nom de l'entité en BD : ").append(dbName).append(".</p>"); + } + } + + setDocumentation(result, doc.toString()); + + // super classes + + for (ObjectModelClass parent : clazz.getSuperclasses()) { + String extendClass = parent.getQualifiedName(); + //Si une des classes parentes définies des méthodes abstraites, son + // impl ne sera pas créé + boolean abstractParent = shouldBeAbstract(parent); + if (parent.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + if (abstractParent) { + extendClass += "Abstract"; + } else { + extendClass += "Impl"; + } + } + setSuperClass(result, extendClass); + } + + if (result.getSuperclasses().isEmpty()) { + setSuperClass(result, TopiaEntityAbstract.class); + } + + // serialVersionUID + + String svUID = TopiaGeneratorUtil.findTagValue("serialVersionUID", clazz, model); + if (svUID != null) { + addAttribute(result, "serialVersionUID", long.class, svUID, ObjectModelModifier.PRIVATE, ObjectModelModifier.STATIC, ObjectModelModifier.FINAL); + + } + + ObjectModelParameter attr2; + + for (ObjectModelAttribute attr : clazz.getAttributes()) { + ObjectModelAttribute reverse = attr.getReverseAttribute(); + + // pour les asso quoi qu'il arrive il faut les lier des 2 cotes + // pour pouvoir supprimer en cascade l'asso lors de la suppression + // d'un des cotes + if (!(attr.isNavigable() + || hasUnidirectionalRelationOnAbstractType(reverse, model) + || attr.hasAssociationClass())) { + continue; + } + + String type; + String name; + + if (!attr.hasAssociationClass()) { + String attrName = attr.getName(); + name = attrName; + type = attr.getType(); +// type = TopiaGeneratorUtil.getSimpleName(attr.getType()); + } else { + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + //TODO THIMEL : Je pense que les GeneratorUtil.toLowerCaseFirstLetter sont inutiles ici, ou alors il faudrait le faire partout + name = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); + type = attr.getAssociationClass().getQualifiedName(); +// type = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName()); + } + + if (GeneratorUtil.isNMultiplicity(attr)) { + String collectionType = TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr); + type = collectionType + "<" + type + ">"; + } + + String attrVisibility = attr.getVisibility(); + + attr2 = addAttribute(result, name, type, null, ObjectModelModifier.toValue(attrVisibility)); + + + doc = new StringBuilder(); + + if (TopiaGeneratorUtil.hasDocumentation(attr) || attr.hasTagValue(TopiaGeneratorUtil.TAG_DB_NAME)) { + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + String attrDocumentation = attr.getDocumentation(); + doc.append(attrDocumentation).append("\n"); + } + if (attr.hasTagValue(TopiaGeneratorUtil.TAG_DB_NAME)) { + String dbName = attr.getTagValue(TopiaGeneratorUtil.TAG_DB_NAME); + doc.append("Nom de l'attribut en BD : ").append(dbName).append("\n"); + } + } + + setDocumentation(attr2, doc.toString()); + + + if (attr.hasTagValue(TopiaGeneratorUtil.TAG_ANNOTATION)) { + String annotation = attr.getTagValue(TopiaGeneratorUtil.TAG_ANNOTATION); + //FIXME Make annotation works... +///* <%=annotation%> +//*/ + } + } + + //Déclaration des attributs d'une classe d'associations + if (clazz instanceof ObjectModelAssociationClass) { + ObjectModelAssociationClass assoc = (ObjectModelAssociationClass) clazz; + for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) { + if (attr != null) { + String attrVisibility = attr.getVisibility(); + String attrType = attr.getType(); + String attrName = attr.getName(); + addAttribute(result, GeneratorUtil.toLowerCaseFirstLetter(attrName), attrType, null, ObjectModelModifier.toValue(attrVisibility)); + } + } + } + + ObjectModelOperation op = addOperation(result, "update", "void", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + setOperationBody(op, "" +/*{ + ((TopiaContextImplementor)getTopiaContext()).getDAO(<%=clazzName%>.class).update(this); +}*/ + ); + + op = addOperation(result, "delete", "void", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + setOperationBody(op, "" +/*{ + ((TopiaContextImplementor)getTopiaContext()).getDAO(<%=clazzName%>.class).delete(this); +}*/ + ); + + generateAcceptMethod(result, clazz); + + generateAggregateMethod(result, clazz); + + generateCompositeMethod(result, clazz); + + + for (ObjectModelAttribute attr : clazz.getAttributes()) { + ObjectModelAttribute reverse = attr.getReverseAttribute(); + + if (!(attr.isNavigable() + || hasUnidirectionalRelationOnAbstractType(reverse, model))) { + continue; + } + + transformAttribute(result, attr, reverse); + } + + + //Méthodes d'accès aux attributs d'une classe d'associations + if (clazz instanceof ObjectModelAssociationClass) { + generateAssociationAccessors(result, (ObjectModelAssociationClass) clazz); + } + + boolean doGenerateToString = TopiaGeneratorUtil.generateToString(clazz, model); + if (doGenerateToString) { + generateToStringMethod(result, clazz); + } + + String i18nPrefix = TopiaGeneratorUtil.getI18nPrefix(clazz, model); + if (i18nPrefix != null) { + // generate i18n prefix + generateI18n(result, i18nPrefix, clazz); + } + } + + protected void transformAttribute(ObjectModelClass result, ObjectModelAttribute attr, ObjectModelAttribute reverse) { + + String attrName = attr.getName(); + String attrType = TopiaGeneratorUtil.getSimpleName(attr.getType()); + addImport(result, attrType); + + attrType = TopiaGeneratorUtil.getSimpleName(attrType); + + ObjectModelOperation op; + + if (!GeneratorUtil.isNMultiplicity(attr)) { + + if (attr.hasAssociationClass()) { + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + String assocClassFQN = attr.getAssociationClass().getQualifiedName(); + addImport(result, assocClassFQN); + assocClassFQN = TopiaGeneratorUtil.getSimpleName(assocClassFQN); + String name = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); + + // setXXX + + op = addOperation(result, "set" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, assocClassFQN, "association"); + setOperationBody(op, "" +/*{ + <%=assocClassFQN%> _oldValue = this.<%=name%>; + fireOnPreWrite("<%=name%>", _oldValue, association); + this.<%=name%> = association; + fireOnPostWrite("<%=name%>", _oldValue, association); +}*/ + ); + + // getXXX + + op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName), assocClassFQN, ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + return <%=name%>; +}*/ + ); + } else { + + // setXXX + + op = addOperation(result, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, attrType, "value"); + setOperationBody(op, "" +/*{ + <%=attrType%> _oldValue = this.<%=attrName%>; + fireOnPreWrite("<%=attrName%>", _oldValue, value); + this.<%=attrName%> = value; + fireOnPostWrite("<%=attrName%>", _oldValue, value); +}*/ + + ); + + // getXXX + + op = addOperation(result, "get" + StringUtils.capitalize(attrName), attrType, ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + fireOnPreRead("<%=attrName%>", <%=attrName%>); + <%=attrType%> result = this.<%=attrName%>; + fireOnPostRead("<%=attrName%>", <%=attrName%>); + return result; +}*/ + ); + } + } else { //NMultiplicity + String collectionInterface = TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr); + String collectionObject = TopiaGeneratorUtil.getNMultiplicityObjectType(attr); + addImport(result, collectionInterface); + addImport(result, collectionObject); + collectionInterface = TopiaGeneratorUtil.getSimpleName(collectionInterface); + collectionObject = TopiaGeneratorUtil.getSimpleName(collectionObject); + + if (!attr.hasAssociationClass()) { + //Méthodes remplacées par des accesseurs sur les classes d'assoc + + // addXXX + + op = addOperation(result, "add" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, attrType, attrName); + StringBuilder body = new StringBuilder(); + + body.append("" +/*{ + fireOnPreWrite("<%=attrName%>", null, <%=attrName%>); + if (this.<%=attrName%> == null) { + this.<%=attrName%> = new <%=collectionObject%><<%=attrType%>>(); + } +}*/ + ); + + if (reverse != null && (reverse.isNavigable() || + hasUnidirectionalRelationOnAbstractType(attr, model))) { + String reverseAttrName = reverse.getName(); + String reverseAttrType = TopiaGeneratorUtil.getSimpleName(reverse.getType()); + if (!GeneratorUtil.isNMultiplicity(reverse)) { + body.append("" +/*{ <%=attrName%>.set<%=StringUtils.capitalize(reverseAttrName)%>(this); +}*/ + ); + } else { + body.append("" +/*{ if (<%=attrName%>.get<%=StringUtils.capitalize(reverseAttrName)%>() == null) { + <%=attrName%>.set<%=StringUtils.capitalize(reverseAttrName)%>(new <%=collectionObject%><<%=reverseAttrType%>>()); + } + <%=attrName%>.get<%=StringUtils.capitalize(reverseAttrName)%>().add(this); +}*/ + ); + } + } + body.append("" +/*{ this.<%=attrName%>.add(<%=attrName%>); + fireOnPostWrite("<%=attrName%>", this.<%=attrName%>.size(), null, <%=attrName%>); +}*/ + ); + setOperationBody(op, body.toString()); + + // addAllXXX + + op = addOperation(result, "addAll" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, collectionInterface + "<" + attrType + ">", "values"); + + setOperationBody(op, "" +/*{ + if (values == null) { + return; + } + for (<%=attrType%> item : values) { + add<%=StringUtils.capitalize(attrName)%>(item); + } +}*/ + ); + + if (!isPrimitiveType(attr) && !isDateType(attr)) { + + op = addOperation(result, "get" + StringUtils.capitalize(attrName) + "ByTopiaId", attrType, ObjectModelModifier.PUBLIC); + addParameter(op, String.class, "topiaId"); + setOperationBody(op, "" +/*{ + return org.nuiton.topia.persistence.util.TopiaEntityHelper.getEntityByTopiaId(<%=attrName%>, topiaId); + }*/ + ); + + } + + // setXXX + + op = addOperation(result, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, collectionInterface + "<" + attrType + ">", "values"); + + setOperationBody(op, "" +/*{ + <%=collectionInterface%><<%=attrType%>> _oldValue = <%=attrName%>; + fireOnPreWrite("<%=attrName%>", _oldValue, values); + <%=attrName%> = values; + fireOnPostWrite("<%=attrName%>", _oldValue, values); +}*/ + ); + + + // removeXXX + + + op = addOperation(result, "remove" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, attrType, "value"); + body = new StringBuilder(); + + body.append("" +/*{ + fireOnPreWrite("<%=attrName%>", value, null); + if ((this.<%=attrName%> == null) || (!this.<%=attrName%>.remove(value))) { + throw new IllegalArgumentException("List does not contain given element"); + } +}*/ + ); + + if (reverse != null && (reverse.isNavigable() || + hasUnidirectionalRelationOnAbstractType(attr, model))) { + String reverseAttrName = reverse.getName(); + if (!GeneratorUtil.isNMultiplicity(reverse)) { + body.append("" +/*{ value.set<%=StringUtils.capitalize(reverseAttrName)%>(null); +}*/ + ); + } else { + body.append("" +/*{ value.get<%=StringUtils.capitalize(reverseAttrName)%>().remove(this); +}*/ + ); + } + } + body.append("" +/*{ fireOnPostWrite("<%=attrName%>", this.<%=attrName%>.size()+1, value, null); +}*/ + ); + setOperationBody(op, body.toString()); + + + // clearXXX + + op = addOperation(result, "clear" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC); + + body = new StringBuilder(); + + body.append("" +/*{ + if (this.<%=attrName%> == null) { + return; + } +}*/ + ); + + if (reverse != null && (reverse.isNavigable() || + hasUnidirectionalRelationOnAbstractType(attr, model))) { + String reverseAttrName = reverse.getName(); + body.append("" +/*{ for (<%=attrType%> item : this.<%=attrName%>) { +}*/ + ); + if (!GeneratorUtil.isNMultiplicity(reverse)) { + body.append("" +/*{ item.set<%=StringUtils.capitalize(reverseAttrName)%>(null); +}*/ + ); + } else { + body.append("" +/*{ item.get<%=StringUtils.capitalize(reverseAttrName)%>().remove(this); +}*/ + ); + } + body.append("" +/*{ } +}*/ + ); + } + body.append("" +/*{ <%=collectionInterface%><<%=attrType%>> _oldValue = new <%=collectionObject%><<%=attrType%>>(this.<%=attrName%>); + fireOnPreWrite("<%=attrName%>", _oldValue, this.<%=attrName%>); + this.<%=attrName%>.clear(); + fireOnPostWrite("<%=attrName%>", _oldValue, this.<%=attrName%>); +}*/ + ); + + setOperationBody(op, body.toString()); + + } else { + + + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + String assocClassFQN = attr.getAssociationClass().getQualifiedName(); +// String assocClassFQN = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName()); + + // addXXX + + op = addOperation(result, "add" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, assocClassFQN, "value"); + + StringBuilder body = new StringBuilder(); + + body.append("" +/*{ + fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", null, value); + if (this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) { + this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = new <%=collectionObject%><<%=assocClassFQN%>>(); + } +}*/ + ); + if (reverse != null && (reverse.isNavigable() || + hasUnidirectionalRelationOnAbstractType(attr, model))) { + String reverseAttrName = reverse.getName(); + body.append("" +/*{ value.set<%=StringUtils.capitalize(reverseAttrName)%>(this); +}*/ + ); + } + body.append("" +/*{ this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.add(value); + fireOnPostWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.size(), null, value); +}*/ + ); + setOperationBody(op, body.toString()); + + + if (!isPrimitiveType(attr) && !isDateType(attr)) { + + // getXXXByTopiaId + + op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName) + "ByTopiaId", assocClassFQN, ObjectModelModifier.PUBLIC); + addParameter(op, String.class, "topiaId"); + setOperationBody(op, "" +/*{ + return org.nuiton.topia.persistence.util.TopiaEntityHelper.getEntityByTopiaId(<%=assocAttrName%>, topiaId); +}*/ + ); + + } + + // addAllXXX + + op = addOperation(result, "addAll" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, collectionInterface + "<" + assocClassFQN + ">", "values"); + setOperationBody(op, "" +/*{ + if (values == null) { + return; + } + for (<%=assocClassFQN%> item : values) { + add<%=StringUtils.capitalize(assocAttrName)%>(item); + } +}*/ + ); + + // setXXX + + op = addOperation(result, "set" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, collectionInterface + "<" + assocClassFQN + ">", "values"); + setOperationBody(op, "" +/*{ +// clear<%=StringUtils.capitalize(assocAttrName)%>(); +// addAll<%=StringUtils.capitalize(assocAttrName)%>(values); +// FIXME + <%=collectionInterface%><<%=assocClassFQN%>> _oldValue = <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; + fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, values); + <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = values; + fireOnPostWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, values); +}*/ + ); + + // removeXXX + + op = addOperation(result, "remove" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC); + addParameter(op, assocClassFQN, "value"); + + body = new StringBuilder(); + + body.append("" +/*{ + fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", value, null); + if ((this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) || (!this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.remove(value))) { + throw new IllegalArgumentException("List does not contain given element"); + } +}*/ + ); + if (reverse != null && (reverse.isNavigable() || + hasUnidirectionalRelationOnAbstractType(attr, model))) { + String reverseAttrName = reverse.getName(); + body.append("" +/*{ value.set<%=StringUtils.capitalize(reverseAttrName)%>(null); +}*/ + ); + } + body.append("" +/*{ fireOnPostWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.size()+1, value, null); +}*/ + ); + + setOperationBody(op, body.toString()); + + // clearXXX + + op = addOperation(result, "clear" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC); + + body = new StringBuilder(); + + body.append("" +/*{ + if (this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) { + return; + } +}*/ + ); + + if (reverse != null && (reverse.isNavigable() || + hasUnidirectionalRelationOnAbstractType(attr, model))) { + String reverseAttrName = reverse.getName(); + body.append("" +/*{ for (<%=assocClassFQN%> item : this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>) { + item.set<%=StringUtils.capitalize(reverseAttrName)%>(null); + } +}*/ + ); + } + body.append("" +/*{ <%=collectionInterface%><<%=assocClassFQN%>> _oldValue = new <%=collectionObject%><<%=assocClassFQN%>>(this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>); + fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, null); + this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.clear(); + fireOnPostWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, null); +}*/ + ); + setOperationBody(op, body.toString()); + } + + if (!attr.hasAssociationClass()) { + + // getXXX + + op = addOperation(result, "get" + StringUtils.capitalize(attrName), collectionInterface + "<" + attrType + ">", ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + return <%=attrName%>; +}*/ + ); + + // sizeXXX + + op = addOperation(result, "size" + StringUtils.capitalize(attrName), int.class, ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + if (<%=attrName%> == null) { + return 0; + } + return <%=attrName%>.size(); +}*/ + ); + + // isXXXEmpty + + op = addOperation(result, "is" + StringUtils.capitalize(attrName) + "Empty", boolean.class, ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + int size = size<%=StringUtils.capitalize(attrName)%>(); + return size == 0; +}*/ + ); + + } else { + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + String assocClassFQN = attr.getAssociationClass().getQualifiedName(); +// String assocClassFQN = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName()); + + // getXXX + + op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName), collectionInterface + "<" + assocClassFQN + ">", ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + return <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; +}*/ + ); + + // getXXX + + op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName), assocClassFQN, ObjectModelModifier.PUBLIC); + addParameter(op, attrType, "value"); + setOperationBody(op, "" +/*{ + if (value == null || <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) { + return null; + } + for (<%=assocClassFQN%> item : <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>) { + if (value.equals(item.get<%=StringUtils.capitalize(attrName)%>())) { + return item; + } + } + return null; +}*/ + ); + + + // sizeXXX + + op = addOperation(result, "size" + StringUtils.capitalize(assocAttrName), int.class, ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + if (<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) { + return 0; + } + return <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.size(); +}*/ + ); + + //isXXXEmpty + + op = addOperation(result, "is" + StringUtils.capitalize(assocAttrName) + "Empty", boolean.class, ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + int size = size<%=StringUtils.capitalize(assocAttrName)%>(); + return size == 0; +}*/ + ); + + } + } + } + + protected void generateAssociationAccessors(ObjectModelClass result, ObjectModelAssociationClass assoc) { + for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) { + if (attr != null) { + String attrType = TopiaGeneratorUtil.getSimpleName(attr.getType()); + String attrName = attr.getName(); + generateAssociationAccessors(result, attrName, attrType); +// //Ne sert plus à rien normalement avec la navigabilité +// ObjectModelAttribute reverse = attr.getReverseAttribute(); +// if (reverse == null) { +// attrType = ((ObjectModelClassifier)attr.getDeclaringElement()).getQualifiedName(); +// attrName = attr.getDeclaringElement().getName(); +// generateAssociationAccessors(output, attrName, attrType); +// } + } + } + } + + protected void generateToStringMethod(ObjectModelClass result, ObjectModelClass clazz) { + + ObjectModelOperation op = addOperation(result, "toString", String.class, ObjectModelModifier.PUBLIC); + StringBuilder body = new StringBuilder(); + + + body.append("" +/*{ + String result = new ToStringBuilder(this). +}*/ + ); + for (ObjectModelAttribute attr : clazz.getAttributes()) { + //FIXME possibilité de boucles (non directes) + ObjectModelClass attrEntity = null; + if (model.hasClass(attr.getType())) { + attrEntity = model.getClass(attr.getType()); + } + boolean isEntity = (attrEntity != null && attrEntity.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)); + ObjectModelAttribute reverse = attr.getReverseAttribute(); + if ((isEntity && (reverse == null || !reverse.isNavigable()) && !attr.hasAssociationClass()) || (!isEntity)) { + String attrName = attr.getName(); + body.append("" +/*{ append("<%=attrName%>", this.<%=attrName%>). +}*/ + ); + } + } + body.append("" +/*{ toString(); + return result; +}*/ + ); + setOperationBody(op, body.length() == 0 ? " " : body.toString()); + + } + + protected void generateCompositeMethod(ObjectModelClass result, ObjectModelClass clazz) { + + ObjectModelOperation op = addOperation(result, "getComposite", List.class.getName() + "<" + TopiaEntity.class.getName() + ">", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + StringBuilder body = new StringBuilder(); + body.append("" +/*{ + List<TopiaEntity> tmp = new ArrayList<TopiaEntity>(); + + // pour tous les attributs rechecher les composites et les class d'asso + // on les ajoute dans tmp +}*/ + ); + for (ObjectModelAttribute attr : clazz.getAttributes()) { + if (attr.referenceClassifier() && attr.getClassifier().hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + if (attr.isComposite()) { + String attrName = attr.getName(); + String getterName = "get" + StringUtils.capitalize(attrName); + if (GeneratorUtil.isNMultiplicity(attr)) { + body.append("" +/*{ if (<%=getterName%>() != null) { + tmp.addAll(<%=getterName%>()); + } +}*/ + ); + } else { + body.append("" +/*{ tmp.add(<%=getterName%>()); +}*/ + ); + } + } else if (attr.hasAssociationClass()) { + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + String assocClassFQN = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName()); + String ref = "this." + GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); + if (!GeneratorUtil.isNMultiplicity(attr)) { + body.append("" +/*{ + if (<%=ref%> != null) { + tmp.add(<%=ref%>); + } +}*/ + ); + } else { + ObjectModelAttribute reverse = attr.getReverseAttribute(); + String reverseAttrName = reverse.getName(); + // On utilise pas l'attribut car il est potentiellement + // pas a jour, car pour les asso avec cardinalité + // personne ne fait de add. Ce qui est normal, mais + // pour pouvoir faire tout de meme des delete en cascade + // sur les asso, le champs est dans le mapping + // hibernate et donc il le faut aussi dans la classe + // sinon hibernate rale lorsqu'il charge l'objet +// if (<%=ref%> != null) { +// tmp.addAll(<%=ref%>); +// } + body.append("" +/*{ + { + org.nuiton.topia.persistence.TopiaDAO<<%=assocClassFQN%>> dao = ((TopiaContextImplementor) getTopiaContext()).getDAO(<%=assocClassFQN%>.class); + List<<%=assocClassFQN%>> findAllByProperties = dao.findAllByProperties("<%=reverseAttrName%>", this); + if (findAllByProperties != null) { + tmp.addAll(findAllByProperties); + } + } +}*/ + ); + } + } + } + } + body.append("" +/*{ + // on refait un tour sur chaque entity de tmp pour recuperer leur + // composite + List<TopiaEntity> result = new ArrayList<TopiaEntity>(); + for (TopiaEntity entity : tmp) { + if (entity != null) { + result.add(entity); + result.addAll(entity.getComposite()); + } + } + + return result; +}*/ + ); + + setOperationBody(op, body.length() == 0 ? " " : body.toString()); + } + + protected void generateAggregateMethod(ObjectModelClass result, ObjectModelClass clazz) { + + ObjectModelOperation op = addOperation(result, "accept", List.class.getName() + "<" + TopiaEntity.class.getName() + ">", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + + StringBuilder body = new StringBuilder(); + body.append("" +/*{ + List<TopiaEntity> tmp = new ArrayList<TopiaEntity>(); + + // pour tous les attributs rechecher les composites et les class d'asso + // on les ajoute dans tmp +}*/ + ); + for (ObjectModelAttribute attr : clazz.getAttributes()) { + if (attr.referenceClassifier() && attr.getClassifier().hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + if (attr.isAggregate()) { + String attrName = attr.getName(); + String getterName = "get" + StringUtils.capitalize(attrName); + if (GeneratorUtil.isNMultiplicity(attr)) { + body.append("" +/*{ tmp.addAll(<%=getterName%>()); +}*/ + ); + } else { + body.append("" +/*{ tmp.add(<%=getterName%>()); +}*/ + ); + } + } + } + } + body.append("" +/*{ + // on refait un tour sur chaque entity de tmp pour recuperer leur + // composite + List<TopiaEntity> result = new ArrayList<TopiaEntity>(); + for (TopiaEntity entity : tmp) { + result.add(entity); + result.addAll(entity.getAggregate()); + } + + return result; +}*/ + ); + + setOperationBody(op, body.length() == 0 ? " " : body.toString()); + } + + protected void generateAcceptMethod(ObjectModelClass result, ObjectModelClass clazz) { + + ObjectModelOperation op = addOperation(result, "accept", "void", ObjectModelModifier.PUBLIC); + addException(op, TopiaException.class); + setDocumentation(op, "Envoi via les methodes du visitor l'ensemble des champs de l'entity\n" + + "avec leur nom, type et valeur."); + { + ObjectModelParameter attr = addParameter(op, EntityVisitor.class, "visitor"); + setDocumentation(attr, "le visiteur de l'entite."); + } + StringBuilder body = new StringBuilder(); + body.append("" +/*{ + visitor.start(this); +}*/ + ); + for (ObjectModelAttribute attr : clazz.getAttributes()) { + ObjectModelAttribute reverse = attr.getReverseAttribute(); + + // pour les asso quoi qu'il arrive il faut les lier des 2 cotes + // pour pouvoir supprimer en cascade l'asso lors de la suppression + // d'un des cotes + if (!(attr.isNavigable() + || hasUnidirectionalRelationOnAbstractType(reverse, model) + || attr.hasAssociationClass())) { + continue; + } + + if (!attr.hasAssociationClass()) { + String attrType = TopiaGeneratorUtil.getSimpleName(attr.getType()); + String attrName = attr.getName(); + if (!GeneratorUtil.isNMultiplicity(attr)) { + body.append("" +/*{ visitor.visit(this, "<%=attrName%>", <%=attrType%>.class, <%=attrName%>); +}*/ + ); + } else { + String collectionType = TopiaGeneratorUtil.getSimpleName(TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr)); + body.append("" +/*{ visitor.visit(this, "<%=attrName%>", <%=collectionType%>.class, <%=attrType%>.class, <%=attrName%>); +}*/ + ); + } + } else { + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + assocAttrName = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); + String assocClassFQN = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName()); + if (!GeneratorUtil.isNMultiplicity(attr)) { + body.append("" +/*{ visitor.visit(this, "<%=assocAttrName%>", <%=assocClassFQN%>.class, <%=assocAttrName%>); +}*/ + ); + } else { + String collectionType = TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr); + body.append("" +/*{ visitor.visit(this, "<%=assocAttrName%>", <%=collectionType%>.class, <%=assocClassFQN%>.class, <%=assocAttrName%>); +}*/ + ); + } + } + } + + //Déclaration des attributs d'une classe d'associations + if (clazz instanceof ObjectModelAssociationClass) { + ObjectModelAssociationClass assoc = (ObjectModelAssociationClass) clazz; + for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) { + if (attr != null) { + String attrType = TopiaGeneratorUtil.getSimpleName(attr.getType()); + String attrName = attr.getName(); + attrName = GeneratorUtil.toLowerCaseFirstLetter(attrName); + body.append("" +/*{ visitor.visit(this, "<%=attrName%>", <%=attrType%>.class, <%=attrName%>); +}*/ + ); + } + } + } + body.append("" +/*{ visitor.end(this); +}*/ + ); + + setOperationBody(op, body.length() == 0 ? " " : body.toString()); + } + + + private void generateAssociationAccessors(ObjectModelClass result, String name, String type) { + ObjectModelOperation op; + op = addOperation(result, "set" + StringUtils.capitalize(name), "void", ObjectModelModifier.PUBLIC); + ObjectModelParameter param = addParameter(op, type, "value"); + setDocumentation(param, "La valeur de l'attribut " + name + " à positionner."); + setOperationBody(op, "" +/*{ + <%=type%> _oldValue = this.<%=GeneratorUtil.toLowerCaseFirstLetter(name)%>; + fireOnPreWrite("<%=name%>", _oldValue, value); + this.<%=GeneratorUtil.toLowerCaseFirstLetter(name)%> = value; + fireOnPostWrite("<%=name%>", _oldValue, value); +}*/ + ); + + op = addOperation(result, "get" + StringUtils.capitalize(name), type, ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + return <%=GeneratorUtil.toLowerCaseFirstLetter(name)%>; +}*/ + ); + + } + + + private void generateI18n(ObjectModelClass result, String i18nPrefix, ObjectModelClass clazz) { + + StringBuilder buffer = new StringBuilder(); + addI18n(buffer, i18nPrefix, java.beans.Introspector.decapitalize(clazz.getName())); + for (ObjectModelAttribute attr : clazz.getAttributes()) { + addI18n(buffer, i18nPrefix, java.beans.Introspector.decapitalize(attr.getName())); + } + + //FIXME : use a block extension for java + } + + private void addI18n(StringBuilder buffer, String i18nPrefix, String suffix) { + buffer.append(" org.nuiton.i18n.I18n.n_(\"").append(i18nPrefix).append(suffix).append("\");\n"); + } +} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * EntityAbstractGenerator.java * @@ -46,23 +51,24 @@ import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelClassifier; +// do not remove me +import org.apache.commons.lang.StringUtils; /** * Generateur d'entites abstraites. Il s'agit de l'implatation par defaut d'une * entite. Les classes generees sont surchargees par un XXXImpl lorsque l'entite * n'est pas abstraite. La surcharge peut etre ecrite par l'utilisateur. + * + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : + * {@link EntityDTOTransformer}. */ +@Deprecated public class EntityDTOGenerator extends ObjectModelGenerator { /** * Logger for this class */ - private static final Log log = LogFactory - .getLog(EntityDTOGenerator.class); + private static final Log log = LogFactory.getLog(EntityDTOGenerator.class); - public EntityDTOGenerator() { - super(); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + "DTO.java"; @@ -90,7 +96,7 @@ import java.beans.PropertyChangeListener; /** - * Implantation DTO pour l'entité <%=GeneratorUtil.capitalize(clazzName)%>. + * Implantation DTO pour l'entité <%=StringUtils.capitalize(clazzName)%>. *) }*/ String extendClass = ""; @@ -230,25 +236,25 @@ attrType += "DTO"; } if (!GeneratorUtil.isNMultiplicity(attr)) { -/*{ public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%> value) { +/*{ public void set<%=StringUtils.capitalize(attrName)%>(<%=attrType%> value) { <%=attrType%> oldValue = this.<%=attrName%>; this.<%=attrName%> = value; p.firePropertyChange("<%=attrName%>", oldValue, value); } - public <%=attrType%> get<%=GeneratorUtil.capitalize(attrName)%>() { + public <%=attrType%> get<%=StringUtils.capitalize(attrName)%>() { return <%=attrName%>; } }*/ } else { -/*{ public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%>[] values) { +/*{ public void set<%=StringUtils.capitalize(attrName)%>(<%=attrType%>[] values) { <%=attrType%>[] oldValues = this.<%=attrName%>; this.<%=attrName%> = values; p.firePropertyChange("<%=attrName%>", oldValues, values); } - public <%=attrType%>[] get<%=GeneratorUtil.capitalize(attrName)%>() { + public <%=attrType%>[] get<%=StringUtils.capitalize(attrName)%>() { return this.<%=attrName%>; } @@ -258,25 +264,25 @@ String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); String assocClassFQN = attr.getAssociationClass().getQualifiedName(); if (!GeneratorUtil.isNMultiplicity(attr)) { -/*{ public void set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%>DTO association) { +/*{ public void set<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%>DTO association) { <%=assocClassFQN%>DTO oldAssocation= this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = association; p.firePropertyChange("<%=attrName%>", oldAssocation, assocation); } - public <%=assocClassFQN%>DTO get<%=GeneratorUtil.capitalize(assocAttrName)%>() { + public <%=assocClassFQN%>DTO get<%=StringUtils.capitalize(assocAttrName)%>() { return <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; } }*/ } else { -/*{ public void set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%>DTO[] values) { +/*{ public void set<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%>DTO[] values) { <%=assocClassFQN%>DTO[] oldValues = this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = values; p.firePropertyChange("<%=attrName%>", oldValues, values); } - public <%=assocClassFQN%>DTO[] get<%=GeneratorUtil.capitalize(assocAttrName)%>() { + public <%=assocClassFQN%>DTO[] get<%=StringUtils.capitalize(assocAttrName)%>() { return this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>; } @@ -316,13 +322,13 @@ //TODO Check wether this method could be used to generate getter and setters protected void generateNormalGetterAndSetterWithPropertyChangeSupport(Writer output, String attrType, String attrName) throws IOException { -/*{ public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%> value) { +/*{ public void set<%=StringUtils.capitalize(attrName)%>(<%=attrType%> value) { <%=attrType%> _oldValue = this.<%=attrName%>; this.<%=attrName%> = value; p.firePropertyChange("<%=attrName%>", _oldValue, value); } - public <%=attrType%> get<%=GeneratorUtil.capitalize(attrName)%>() { + public <%=attrType%> get<%=StringUtils.capitalize(attrName)%>() { return this.<%=attrName%>; } Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,316 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ +package org.nuiton.topia.generator; + +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.nuiton.eugene.GeneratorUtil; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.*; +import static org.nuiton.topia.generator.TopiaGeneratorUtil.hasUnidirectionalRelationOnAbstractType; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import java.io.Serializable; + + +/*{generator option: parentheses = false}*/ + +/*{generator option: writeString = +}*/ + +/** + * Created: 14 déc. 2009 + * + * @author Tony Chemit <chemit@codelutin.com> Copyright Code Lutin + * @version $Revision$ + * <p/> + * Mise a jour: $Date$ par : + * $Author: tchemit $ + */ +public class EntityDTOTransformer extends ObjectModelTransformerToJava { + + public boolean isEntity(String type) { + ObjectModelClassifier clazz = model.getClassifier(type); + return clazz != null && clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY); + } + + @Override + public void transformFromClass(ObjectModelClass clazz) { + if (!clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + return; + } + String clazzName = clazz.getName(); + ObjectModelClass result; + result = createClass(clazzName + "DTO", clazz.getPackageName()); + addImport(result, ToStringBuilder.class); + addImport(result, PropertyChangeListener.class); + + setDocumentation(result, "Implantation DTO pour l'entité " + StringUtils.capitalize(clazzName) + "."); + String extendClass = ""; + for (ObjectModelClass parent : clazz.getSuperclasses()) { + extendClass = parent.getQualifiedName() + "DTO"; + // no multi-inheritance in java + break; + } + if (extendClass.length() > 0) { + setSuperClass(result, extendClass); + } + addInterface(result, Serializable.class); + + String svUID = TopiaGeneratorUtil.findTagValue("dto-serialVersionUID", clazz, model); + if (svUID != null) { + addAttribute(result, "serialVersionUID", "long", svUID, ObjectModelModifier.FINAL, ObjectModelModifier.PUBLIC, ObjectModelModifier.STATIC); + } + + ObjectModelAttribute attr2; + for (ObjectModelAttribute attr : clazz.getAttributes()) { + ObjectModelAttribute reverse = attr.getReverseAttribute(); + + // pour les asso quoi qu'il arrive il faut les lier des 2 cotes + // pour pouvoir supprimer en cascade l'asso lors de la suppression + // d'un des cotes + if (!(attr.isNavigable() + || hasUnidirectionalRelationOnAbstractType(reverse, model) + || attr.hasAssociationClass())) { + continue; + } + +//FIXME : make annotation possible +// if (attr.hasTagValue(TAG_ANNOTATION)) { +// String annotation = attr.getTagValue(TAG_ANNOTATION); +//{ <%=annotation%> +//}*/ +// } + + String attrVisibility = attr.getVisibility(); + ObjectModelModifier modifier = ObjectModelModifier.toValue(attrVisibility); + if (!attr.hasAssociationClass()) { + String attrType = attr.getType(); + String attrName = attr.getName(); + if (isEntity(attrType)) { + attrType += "DTO"; + } + if (!GeneratorUtil.isNMultiplicity(attr)) { + attr2 = addAttribute(result, attrName, attrType, null, modifier); + } else { + attr2 = addAttribute(result, attrName, attrType + "[]", null, modifier); + } + } else { + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + String assocClassFQN = attr.getAssociationClass().getQualifiedName(); + if (!GeneratorUtil.isNMultiplicity(attr)) { + attr2 = addAttribute(result, GeneratorUtil.toLowerCaseFirstLetter(assocAttrName), assocClassFQN + "DTO", null, modifier); + } else { + attr2 = addAttribute(result, GeneratorUtil.toLowerCaseFirstLetter(assocAttrName), assocClassFQN + "DTO[]", null, modifier); + } + } + if (attr2 != null) { + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + setDocumentation(attr2, attr.getDocumentation()); + } + } + } + + //Déclaration des attributs d'une classe d'associations + if (clazz instanceof ObjectModelAssociationClass) { + ObjectModelAssociationClass assoc = (ObjectModelAssociationClass) clazz; + for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) { + if (attr != null) { + String attrVisibility = attr.getVisibility(); + ObjectModelModifier modifier = ObjectModelModifier.toValue(attrVisibility); + String attrType = attr.getType(); + String attrName = attr.getName(); + if (isEntity(attrType)) { + attrType += "DTO"; + } + attr2 = addAttribute(result, GeneratorUtil.toLowerCaseFirstLetter(attrName), attrType, null, modifier); + } + } + } + + addAttribute(result,"p", PropertyChangeSupport.class,"new PropertyChangeSupport(this)",ObjectModelModifier.PROTECTED,ObjectModelModifier.FINAL); + + ObjectModelOperation op; + op = addOperation(result, "addPropertyChangeListener", "void"); + addParameter(op,PropertyChangeListener.class,"listener"); + setOperationBody(op,"" +/*{ + p.addPropertyChangeListener(listener); + }*/ + ); + + op = addOperation(result, "addPropertyChangeListener", "void"); + addParameter(op, String.class, "propertyName"); + addParameter(op, PropertyChangeListener.class, "listener"); + setOperationBody(op, "" +/*{ + p.addPropertyChangeListener(propertyName, listener); + }*/ + ); + + op = addOperation(result, "removePropertyChangeListener", "void"); + addParameter(op, PropertyChangeListener.class, "listener"); + setOperationBody(op, "" +/*{ + p.removePropertyChangeListener(listener); + }*/ + ); + + op = addOperation(result, "removePropertyChangeListener", "void"); + addParameter(op, String.class, "propertyName"); + addParameter(op, PropertyChangeListener.class, "listener"); + setOperationBody(op, "" +/*{ + p.removePropertyChangeListener(propertyName, listener); + }*/ + ); + + for (ObjectModelAttribute attr : clazz.getAttributes()) { + + ObjectModelAttribute reverse = attr.getReverseAttribute(); + + if (!(attr.isNavigable() || hasUnidirectionalRelationOnAbstractType(reverse, model))) { + continue; + } + + String attrName = attr.getName(); + + if (!attr.hasAssociationClass()) { + String attrType = attr.getType(); + if (isEntity(attrType)) { + attrType += "DTO"; + } + String capitalizedAttrName = StringUtils.capitalize(attrName); + if (!GeneratorUtil.isNMultiplicity(attr)) { + op = addOperation(result, "set" + capitalizedAttrName, "void", ObjectModelModifier.PUBLIC); + addParameter(op, attrType, "value"); + setOperationBody(op, "" +/*{ + <%=attrType%> oldValue = this.<%=attrName%>; + this.<%=attrName%> = value; + p.firePropertyChange("<%=attrName%>", oldValue, value); + }*/ + ); + + op = addOperation(result, "get" + capitalizedAttrName, attrType, ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + return <%=attrName%>; + }*/ + ); + + } else { + + op = addOperation(result, "set" + capitalizedAttrName, "void", ObjectModelModifier.PUBLIC); + addParameter(op, attrType+"[]", "values"); + setOperationBody(op, "" +/*{ + <%=attrType%>[] oldValues = this.<%=attrName%>; + this.<%=attrName%> = values; + p.firePropertyChange("<%=attrName%>", oldValues, values); + }*/ + ); + + op = addOperation(result, "get" + capitalizedAttrName, attrType+"[]", ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + return <%=attrName%>; + }*/ + ); + } + } else { + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + String propertyName = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); + String assocClassFQN = attr.getAssociationClass().getQualifiedName(); + String capitaliedAttrName = StringUtils.capitalize(assocAttrName); + if (!GeneratorUtil.isNMultiplicity(attr)) { + op = addOperation(result, "set" + capitaliedAttrName, "void", ObjectModelModifier.PUBLIC); + addParameter(op, assocClassFQN + "DTO", "association"); + setOperationBody(op, "" +/*{ + <%=assocClassFQN%>DTO oldAssocation= this.<%=propertyName%>; + this.<%=propertyName%> = association; + p.firePropertyChange("<%=attrName%>", oldAssocation, assocation); + }*/ + ); + + op = addOperation(result, "get" + capitaliedAttrName, assocClassFQN + "DTO", ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + return <%=propertyName%>; + }*/ + ); + + } else { + op = addOperation(result, "set" + capitaliedAttrName, "void", ObjectModelModifier.PUBLIC); + addParameter(op, assocClassFQN + "DTO[]", "values"); + setOperationBody(op, "" +/*{ + <%=assocClassFQN%>DTO[] oldValues = this.<%=propertyName%>; + this.<%=propertyName%> = values; + p.firePropertyChange("<%=attrName%>", oldValues, values); + }*/ + ); + + op = addOperation(result, "get" + capitaliedAttrName, assocClassFQN + "DTO[]", ObjectModelModifier.PUBLIC); + setOperationBody(op, "" +/*{ + return this.<%=propertyName%>; + }*/ + ); + } + } + } + + op = addOperation(result,"toString",String.class, ObjectModelModifier.PUBLIC); + StringBuilder buffer = new StringBuilder(); + + buffer.append("" +/*{ + String result = new ToStringBuilder(this). +}*/ + ); + + for (Object o : clazz.getAttributes()) { + ObjectModelAttribute attr = (ObjectModelAttribute) o; + //FIXME possibilité de boucles (non directes) + ObjectModelClass attrEntity = null; + if (model.hasClass(attr.getType())) { + attrEntity = model.getClass(attr.getType()); + } + boolean isEntity = (attrEntity != null && attrEntity.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)); + ObjectModelAttribute reverse = attr.getReverseAttribute(); + if ((isEntity && (reverse == null || !reverse.isNavigable()) && !attr.hasAssociationClass()) || (!isEntity)) { + String attrName = attr.getName(); + buffer.append("" +/*{ append("<%=attrName%>", this.<%=attrName%>). +}*/ + ); + } + } + buffer.append("" +/*{ toString(); + return result; +}*/ + ); + setOperationBody(op, buffer.toString()); + } +} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * EntityHibernateMappingGenerator.java * @@ -33,7 +38,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.models.object.ObjectModelAssociationClass; @@ -67,14 +71,6 @@ private Map<String, String[]> columnNamesMap = new HashMap<String, String[]>(); - public EntityHibernateMappingGenerator() { - super(); - } - - public EntityHibernateMappingGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { String DOName = TopiaGeneratorUtil.getDOType(clazz, model); @@ -408,6 +404,9 @@ return generateFromTagValue(attr, tagName, attributeName, null); } + /** + * Generate hibernate xml attribute with a final space. + */ private String generateFromTagValue(ObjectModelAttribute attr, String tagName, String attributeName, String defaultValue) { String result = ""; @@ -493,7 +492,8 @@ String attrType = getType(attr); String attrName = getName(attr); String attrColumn = TopiaGeneratorUtil.getDBName(attr); - String lazy = generateFromTagValue(attr, TopiaGeneratorUtil.TAG_LAZY, "lazy", "true"); + String lazy = generateFromTagValue(attr, TopiaGeneratorUtil.TAG_LAZY, "lazy", "true"); + String orderBy = generateFromTagValue(attr, TopiaGeneratorUtil.TAG_ORDER_BY, "order-by"); String collType = TopiaGeneratorUtil.getNMultiplicityHibernateType(attr); String tableName = TopiaGeneratorUtil.getManyToManyTableName(attr); String inverse = ""; @@ -509,7 +509,7 @@ /*{<%=prefix%> <list-index column="<%=reverseAttrDBName%>_idx"/> }*/ } -/*{<%=prefix%> <many-to-many class="<%=attrType%>" column="<%=attrColumn%>" node="topiaId"/> +/*{<%=prefix%> <many-to-many class="<%=attrType%>" column="<%=attrColumn%>" <%=orderBy%>node="topiaId"/> <%=prefix%> </<%=collType%>> }*/ } Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityImplGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityImplGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityImplGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * EntityPOJOGenerator.java * @@ -34,25 +39,22 @@ import java.io.Writer; import java.util.Collection; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelOperation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +/** + * + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : + * {@link EntityImplTransformer}. + */ +@Deprecated public class EntityImplGenerator extends ObjectModelGenerator { private static final Log log = LogFactory.getLog(EntityImplGenerator.class); - public EntityImplGenerator() { - super(); - } - - public EntityImplGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + "Impl.java"; @@ -100,7 +102,6 @@ }*/ } - protected boolean isAbstract(ObjectModelClass clazz) { if (clazz.isAbstract()) { return true; Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityImplTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityImplTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityImplTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityImplTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,130 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ +package org.nuiton.topia.generator; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.ObjectModelClass; +import org.nuiton.eugene.models.object.ObjectModelOperation; + +import java.io.Serializable; +import java.util.Collection; + +/** + * Created: 14 déc. 2009 + * + * @author Tony Chemit <chemit@codelutin.com> Copyright Code Lutin + * @version $Revision$ + * <p/> + * Mise a jour: $Date$ par : + * $Author: tchemit $ + */ +public class EntityImplTransformer extends ObjectModelTransformerToJava { + + /** + * Logger + */ + private static final Log log = LogFactory.getLog(EntityImplTransformer.class); + + @Override + public void transformFromClass(ObjectModelClass clazz) { + if (!clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + return; + } + // On ne génère pas le impl si l'entité a des opérations qui ne sont pas seulement pour le DAO + if (clazz.getOperations().size() > 0 && !hasOnlyDAOOperations(clazz)) { + return; + } + //De même, on ne génère pas le impl si il y a des opérations venant des + // superclasses non implémentées + for (ObjectModelOperation otherOp : clazz.getAllOtherOperations(false)) { + if (otherOp.isAbstract()) { + return; + } + } + String clazzName = clazz.getName(); + String clazzFQN = clazz.getQualifiedName(); + ObjectModelClass result; + if (isAbstract(clazz)) { + result = createAbstractClass(clazzName + "Impl", clazz.getPackageName()); + } else { + result = createClass(clazzName + "Impl", clazz.getPackageName()); + } + setDocumentation(result, "Implantation des operations pour l'entité " + clazzName + "."); + setSuperClass(result, clazzFQN + "Abstract"); + addInterface(result, Serializable.class); + addInterface(result, clazzFQN); + + } + + protected boolean isAbstract(ObjectModelClass clazz) { + if (clazz.isAbstract()) { + return true; + } + + //Une classe peut être abstraite si elle a des méthodes définies dans + // ses superinterface et non implantées dans ses superclasses + Collection<ObjectModelOperation> allInterfaceOperations = clazz.getAllInterfaceOperations(true); + allInterfaceOperations.removeAll(clazz.getAllOtherOperations(true)); + for (ObjectModelOperation op : allInterfaceOperations) { + boolean implementationFound = false; + for (ObjectModelClass superClazz : clazz.getSuperclasses()) { + for (ObjectModelOperation matchingOp : superClazz.getOperations(op.getName())) { + implementationFound = (op.equals(matchingOp) && !matchingOp.isAbstract()); + if (implementationFound) { + break; + } + } + if (implementationFound) { + break; + } + } + if (!implementationFound) { + if (log.isDebugEnabled()) { + log.debug(clazz.getName() + " : abstract operation " + op); + } + return true; + } + } + return false; + } + + /** + * Detect if the clazz has only operations for DAO implementation. + * These operations are identified with the stereotype <<dao>>. + * + * @param clazz The ObjectModelClass with all operations. + * @return true if there is only dao operations, false if there is no operations or some without + * dao stereotype. + */ + public static boolean hasOnlyDAOOperations(ObjectModelClass clazz) { + boolean res = true; + Collection<ObjectModelOperation> operations = clazz.getOperations(); + if (operations.size() == 0) { + res = false; + } + for (ObjectModelOperation op : operations) { + res &= op.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_DAO); + } + return res; + } +} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,8 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ + /* * * EntityGenerator.java * @@ -31,7 +36,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.models.object.ObjectModelAssociationClass; @@ -57,20 +61,20 @@ import java.util.List; import java.util.Set; +// do not remove me :) +import org.apache.commons.lang.StringUtils; + +/** + * + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : + * {@link EntityInterfaceTransformer}. + */ +@Deprecated public class EntityInterfaceGenerator extends ObjectModelGenerator { /** Logger for this class */ - private static final Log log = LogFactory - .getLog(EntityInterfaceGenerator.class); + private static final Log log = LogFactory.getLog(EntityInterfaceGenerator.class); - public EntityInterfaceGenerator() { - super(); - } - - public EntityInterfaceGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + ".java"; @@ -81,27 +85,25 @@ return interfacez.getQualifiedName().replace('.', File.separatorChar) + ".java"; } - /* (non-Javadoc) - * @see org.nuiton.eugene.ObjectModelGenerator#generateFromInterface(java.io.Writer, org.nuiton.eugene.models.object.ObjectModelInterface) - */ - @Override - public void generateFromInterface(Writer output, ObjectModelInterface interfacez) throws IOException { - if (!interfacez.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { - return; - } + //TC-20091214 : never used : always generate from a <<entity>> class +// @Override +// public void generateFromInterface(Writer output, ObjectModelInterface interfacez) throws IOException { +// if (!interfacez.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { +// return; +// } +// +// if (log.isDebugEnabled()) { +// log.debug("Generating interface for : " + interfacez.getName()); +// } +// +// generateInterfaceHeaderFromClassifier(output, interfacez); +// +// generateInterfaceOperations(output, interfacez); +// +///{} //<%=interfacez.getName()%> +//}*/ +// } - if (log.isDebugEnabled()) { - log.debug("Generating interface for : " + interfacez.getName()); - } - - generateInterfaceHeaderFromClassifier(output, interfacez); - - generateInterfaceOperations(output, interfacez); - -/*{} //<%=interfacez.getName()%> -}*/ - } - private String getStringRepresentation(List<String> strings) { StringBuffer result = new StringBuffer(); String doubleQuote = "\""; @@ -249,7 +251,7 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> La valeur de l'attribut <%=attrName%> à positionner. *) - public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); + public void set<%=StringUtils.capitalize(attrName)%>(<%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); }*/ /*{ /** @@ -260,7 +262,7 @@ } /*{ * @return La valeur de l'attribut <%=attrName%>. *) - public <%=attrType%> get<%=GeneratorUtil.capitalize(attrName)%>(); + public <%=attrType%> get<%=StringUtils.capitalize(attrName)%>(); }*/ } else { @@ -273,7 +275,7 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> L'instance de <%=attrName%> à ajouter. *) - public void add<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); + public void add<%=StringUtils.capitalize(attrName)%>(<%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); /** }*/ @@ -283,7 +285,7 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> Les instances de <%=attrName%> à ajouter. *) - public void addAll<%=GeneratorUtil.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); + public void addAll<%=StringUtils.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); /** }*/ @@ -293,7 +295,7 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> La Collection de <%=attrName%> à positionner. *) - public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); + public void set<%=StringUtils.capitalize(attrName)%>(<%=collectionInterface%><<%=attrType%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); /** }*/ @@ -303,7 +305,7 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> L'instance de <%=attrName%> à retirer. *) - public void remove<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); + public void remove<%=StringUtils.capitalize(attrName)%>(<%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>); /** }*/ @@ -313,7 +315,7 @@ } /*{ * Vide la Collection de <%=attrName%>. *) - public void clear<%=GeneratorUtil.capitalize(attrName)%>(); + public void clear<%=StringUtils.capitalize(attrName)%>(); }*/ @@ -325,7 +327,7 @@ } /*{ * @return La Liste de <%=attrName%>. *) - public <%=collectionInterface%><<%=attrType%>> get<%=GeneratorUtil.capitalize(attrName)%>(); + public <%=collectionInterface%><<%=attrType%>> get<%=StringUtils.capitalize(attrName)%>(); }*/ if (!isPrimitiveType(attr) && !isDateType(attr)) { @@ -337,19 +339,19 @@ * * @return l'attribut recherché, ou <code>null</code> s'il n'existe pas. *) - public <%=attrType%> get<%=GeneratorUtil.capitalize(attrName)%>ByTopiaId(String topiaId); + public <%=attrType%> get<%=StringUtils.capitalize(attrName)%>ByTopiaId(String topiaId); }*/ } /*{ /** * @return Le nombre d'éléments de la collection <%=attrName%>. *) - public int size<%=GeneratorUtil.capitalize(attrName)%>(); + public int size<%=StringUtils.capitalize(attrName)%>(); /** * @return <code>true</code> si la collection <%=attrName%> est vide. *) - public boolean is<%=GeneratorUtil.capitalize(attrName)%>Empty(); + public boolean is<%=StringUtils.capitalize(attrName)%>Empty(); }*/ @@ -362,12 +364,12 @@ /*{ /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> La valeur de l'attribut <%=assocClassName%> à positionner. *) - public void set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); + public void set<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); /** * @return La valeur de l'attribut <%=assocClassName%>. *) - public <%=assocClassFQN%> get<%=GeneratorUtil.capitalize(assocAttrName)%>(); + public <%=assocClassFQN%> get<%=StringUtils.capitalize(assocAttrName)%>(); }*/ } else { @@ -375,32 +377,32 @@ /*{ /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> L'instance de <%=assocClassName%> à ajouter. *) - public void add<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); + public void add<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> Les instances de <%=assocClassName%> à ajouter. *) - public void addAll<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); + public void addAll<%=StringUtils.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> La Collection de <%=assocClassName%> à positionner. *) - public void set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); + public void set<%=StringUtils.capitalize(assocAttrName)%>(<%=collectionInterface%><<%=assocClassFQN%>> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> L'instance de <%=assocClassName%> à retirer. *) - public void remove<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); + public void remove<%=StringUtils.capitalize(assocAttrName)%>(<%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>); /** * Vide la Collection de <%=assocClassName%>. *) - public void clear<%=GeneratorUtil.capitalize(assocAttrName)%>(); + public void clear<%=StringUtils.capitalize(assocAttrName)%>(); /** * @return La liste des attributs <%=assocClassName%>. *) - public <%=collectionInterface%><<%=assocClassFQN%>> get<%=GeneratorUtil.capitalize(assocAttrName)%>(); + public <%=collectionInterface%><<%=assocClassFQN%>> get<%=StringUtils.capitalize(assocAttrName)%>(); }*/ if (!isPrimitiveType(attr) && !isDateType(attr)) { /*{ @@ -411,24 +413,24 @@ * * @return l'attribut recherché, ou <code>null</code> s'il n'existe pas. *) - public <%=assocClassFQN%> get<%=GeneratorUtil.capitalize(assocAttrName)%>ByTopiaId(String topiaId); + public <%=assocClassFQN%> get<%=StringUtils.capitalize(assocAttrName)%>ByTopiaId(String topiaId); }*/ } /*{ /** * @return L'attribut <%=assocClassName%> associé à la valeur <code>value</code> de l'attribut <%=attrName%>. *) - public <%=assocClassFQN%> get<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=attrType%> value); + public <%=assocClassFQN%> get<%=StringUtils.capitalize(assocAttrName)%>(<%=attrType%> value); /** * @return Le nombre d'éléments de la collection <%=attrName%>. *) - public int size<%=GeneratorUtil.capitalize(assocAttrName)%>(); + public int size<%=StringUtils.capitalize(assocAttrName)%>(); /** * @return <code>true</code> si la collection <%=assocAttrName%> est vide. *) - public boolean is<%=GeneratorUtil.capitalize(assocAttrName)%>Empty(); + public boolean is<%=StringUtils.capitalize(assocAttrName)%>Empty(); }*/ } @@ -506,12 +508,12 @@ /*{ /** * @param value La valeur de l'attribut <%=attrName%> à positionner. *) - public void set<%=GeneratorUtil.capitalize(attrName)%>(<%=attrType%> value); + public void set<%=StringUtils.capitalize(attrName)%>(<%=attrType%> value); /** * @return La valeur de l'attribut <%=attrName%>. *) - public <%=attrType%> get<%=GeneratorUtil.capitalize(attrName)%>(); + public <%=attrType%> get<%=StringUtils.capitalize(attrName)%>(); }*/ } Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,470 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ +package org.nuiton.topia.generator; + +import org.apache.commons.lang.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.eugene.GeneratorUtil; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.*; +import org.nuiton.topia.persistence.SearchFields; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.util.*; + + +/*{generator option: parentheses = false}*/ + +/*{generator option: writeString = +}*/ + +/** + * Created: 14 déc. 2009 + * + * @author Tony Chemit <chemit@codelutin.com> Copyright Code Lutin + * @version $Revision$ + * <p/> + * Mise a jour: $Date$ par : + * $Author: tchemit $ + */ +public class EntityInterfaceTransformer extends ObjectModelTransformerToJava { + + /** + * Logger + */ + private static final Log log = LogFactory.getLog(EntityInterfaceTransformer.class); + + @Override + public void transformFromClass(ObjectModelClass clazz) { + if (!clazz.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + return; + } + + String clazzName = clazz.getName(); + + ObjectModelInterface result; + + if (log.isInfoEnabled()) { + log.info("for entity : "+clazz.getQualifiedName()); + } + + result = createInterface(clazzName, clazz.getPackageName()); + + addImport(result, SearchFields.class); + addImport(result, TopiaEntity.class); + if (TopiaGeneratorUtil.hasDocumentation(clazz)) { + setDocumentation(result,clazz.getDocumentation()); + } + + generateSearchFields(result, clazz); + + // super classes + + for (ObjectModelClassifier parent : clazz.getInterfaces()) { + addInterface(result,parent.getQualifiedName()); + } + + for (ObjectModelClassifier parent : clazz.getSuperclasses()) { + if (parent.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) { + addInterface(result,parent.getQualifiedName()); + break; + } + } + + addInterface(result, TopiaEntity.class); + + generateStaticColumnNames(result, clazz); + + for (ObjectModelAttribute attr : clazz.getAttributes()) { + ObjectModelAttribute reverse = attr.getReverseAttribute(); + if (!attr.isNavigable() && !TopiaGeneratorUtil.hasUnidirectionalRelationOnAbstractType(reverse, model)) { + continue; + } + + if (attr.hasAssociationClass()) { + + addAssociationAttribute(result, attr); + + } else { + + addNoneAssociationAttribute(result, attr); + } + } + + //Méthodes d'accès aux attributs d'une classe d'associations + generateAssociationAttributes(result, clazz); + + generateInterfaceOperations(result, clazz); + } + + protected void generateAssociationAttributes(ObjectModelInterface result, ObjectModelClass clazz) { + if (clazz instanceof ObjectModelAssociationClass) { + ObjectModelAssociationClass assoc = (ObjectModelAssociationClass) clazz; + for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) { + if (attr != null) { + String type = attr.getType(); + String name = attr.getName(); + generateAssociationAccessors(result, name, type); + if (attr.getReverseAttribute() == null) { + type = ((ObjectModelClassifier) attr.getDeclaringElement()).getQualifiedName(); + name = attr.getDeclaringElement().getName(); + generateAssociationAccessors(result, name, type); + } + } + } + } + } + + + protected void addNoneAssociationAttribute(ObjectModelInterface result, ObjectModelAttribute attr) { + String attrName = attr.getName(); + String attrType = attr.getType(); + ObjectModelOperation op; + ObjectModelParameter attr2; + + if (!GeneratorUtil.isNMultiplicity(attr)) { + + // setXXX + + op = addOperation(result, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE); + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + setDocumentation(op, attr.getDocumentation()); + } + attr2 = addParameter(op, attrType, GeneratorUtil.toLowerCaseFirstLetter(attrName)); + setDocumentation(attr2, "La valeur de l'attribut " + attrName + " à positionner."); + + // getXXX + + op = addOperation(result, "get" + StringUtils.capitalize(attrName), attrType, ObjectModelModifier.PACKAGE); + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + setDocumentation(op, attr.getDocumentation()); + } + } else { + String collectionInterface = TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr); + + // addXXX + + op = addOperation(result, "add" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE); + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + setDocumentation(op, attr.getDocumentation()); + } + attr2 = addParameter(op, attrType, GeneratorUtil.toLowerCaseFirstLetter(attrName)); + setDocumentation(attr2, "L'instance de " + attrName + " à ajouter"); + + // addAllXXX + + op = addOperation(result, "addAll" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE); + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + setDocumentation(op, attr.getDocumentation()); + } + attr2 = addParameter(op, collectionInterface + "<" + attrType + ">", GeneratorUtil.toLowerCaseFirstLetter(attrName)); + setDocumentation(attr2, "Les instances de " + attrName + " à ajouter"); + + // setXXX + + op = addOperation(result, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE); + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + setDocumentation(op, attr.getDocumentation()); + } + attr2 = addParameter(op, collectionInterface + "<" + attrType + ">", GeneratorUtil.toLowerCaseFirstLetter(attrName)); + setDocumentation(attr2, "La Collection de " + attrName + " à ajouter"); + + // removeXXX + + op = addOperation(result, "remove" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE); + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + setDocumentation(op, attr.getDocumentation()); + } + attr2 = addParameter(op, attrType, GeneratorUtil.toLowerCaseFirstLetter(attrName)); + setDocumentation(attr2, "L'instance de " + attrName + " à retirer"); + + // clearXXX + + op = addOperation(result, "clear" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE); + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + setDocumentation(op, attr.getDocumentation()); + } + setDocumentation(attr2, "Vide la Collection de " + attrName); + + // getXXX + + op = addOperation(result, "get" + StringUtils.capitalize(attrName), collectionInterface + "<" + attrType + ">", ObjectModelModifier.PACKAGE); + if (TopiaGeneratorUtil.hasDocumentation(attr)) { + setDocumentation(op, "Retourne la collection."); + } + + if (!TopiaGeneratorUtil.isPrimitiveType(attr) && !TopiaGeneratorUtil.isDateType(attr)) { + + // getXXXByTopiaId + + op = addOperation(result, "get" + StringUtils.capitalize(attrName) + "ByTopiaId", attrType, ObjectModelModifier.PACKAGE); + setDocumentation(op, "Recupère l'attribut " + attrName + " à partir de son topiaId"); + attr2 = addParameter(op, String.class, "topiaId"); + setDocumentation(attr2, "le topia id de l'entité recherchée"); + } + + // sizeXXX + + op = addOperation(result, "size" + StringUtils.capitalize(attrName), int.class, ObjectModelModifier.PACKAGE); + setDocumentation(op, "Retourne le nombre d'éléments de la collection " + attrName); + + // isXXXEmpty + + op = addOperation(result, "is" + StringUtils.capitalize(attrName) + "Empty", boolean.class, ObjectModelModifier.PACKAGE); + setDocumentation(op, "Retourne {@code true} si la collection " + attrName + " est vide."); + } + } + + protected void addAssociationAttribute(ObjectModelInterface result, ObjectModelAttribute attr) { + String attrName = attr.getName(); + String attrType = attr.getType(); + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + String assocClassFQN = attr.getAssociationClass().getQualifiedName(); + String assocClassName = attr.getAssociationClass().getName(); + + ObjectModelOperation op; + ObjectModelParameter attr2; + + if (!GeneratorUtil.isNMultiplicity(attr)) { + + // setXXX + + op = addOperation(result, "set" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE); + attr2 = addParameter(op, assocClassFQN, GeneratorUtil.toLowerCaseFirstLetter(assocClassName)); + setDocumentation(attr2, "La valeur de l'attribut " + assocClassName + " à positionner"); + + // getXXX + + addOperation(result, "get" + StringUtils.capitalize(assocAttrName), assocClassFQN, ObjectModelModifier.PACKAGE); + + } else { + String collectionInterface = TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr); + + // addXXX + + op = addOperation(result, "add" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE); + attr2 = addParameter(op, assocClassFQN, GeneratorUtil.toLowerCaseFirstLetter(assocClassName)); + setDocumentation(attr2, "L'instance de " + assocClassName + " à ajouter"); + + // addAllXXX + + op = addOperation(result, "addAll" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE); + attr2 = addParameter(op, collectionInterface + "<" + assocClassFQN + ">", GeneratorUtil.toLowerCaseFirstLetter(assocClassName)); + setDocumentation(attr2, "Les instances de " + assocClassName + " à ajouter"); + + // setXXX + + op = addOperation(result, "set" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE); + attr2 = addParameter(op, collectionInterface + "<" + assocClassFQN + ">", GeneratorUtil.toLowerCaseFirstLetter(assocClassName)); + setDocumentation(attr2, "La Collection de " + assocClassName + " à ajouter"); + + // removeXXX + + op = addOperation(result, "remove" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE); + attr2 = addParameter(op, assocClassFQN, GeneratorUtil.toLowerCaseFirstLetter(assocClassName)); + setDocumentation(attr2, "L'instance de " + assocClassName + " à retirer"); + + // clearXXX + + op = addOperation(result, "clear" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE); + setDocumentation(op, "Vide la Collection de " + assocClassName + " ."); + + // getXXX + + addOperation(result, "get" + StringUtils.capitalize(assocAttrName), collectionInterface + "<" + assocClassFQN + ">", ObjectModelModifier.PACKAGE); + + if (!TopiaGeneratorUtil.isPrimitiveType(attr) && !TopiaGeneratorUtil.isDateType(attr)) { + + // getXXXByTopiaId + + op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName) + "ByTopiaId", assocClassFQN, ObjectModelModifier.PACKAGE); + setDocumentation(op, "Recupère l'attribut " + attrName + " à partir de son topiaId"); + attr2 = addParameter(op, String.class, "topiaId"); + setDocumentation(attr2, "le topia id de l'entité recherchée"); + } + + // getXXX + + op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName), assocClassFQN); + addParameter(op, attrType, "value"); + + + // sizeXXX + + addOperation(result, "size" + StringUtils.capitalize(assocAttrName), int.class, ObjectModelModifier.PACKAGE); + + + // isXXXEmpty + + addOperation(result, "is" + StringUtils.capitalize(assocAttrName) + "Empty", boolean.class, ObjectModelModifier.PACKAGE); + } + } + + private void generateInterfaceOperations(ObjectModelInterface output, ObjectModelClassifier classifier) { + + for (ObjectModelOperation op : classifier.getOperations()) { + + if (op.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_DAO)) { + // Pas de génération des signatures de méthodes pour celles à intégrer au DAO de l'entité + continue; + } + + String opName = op.getName(); + String opType = op.getReturnType(); + + ObjectModelOperation op2 = addOperation(output, opName, opType, ObjectModelModifier.PACKAGE); + if (TopiaGeneratorUtil.hasDocumentation(op)) { + setDocumentation(op2, op.getDocumentation()); + } + + for (ObjectModelParameter param : op.getParameters()) { + String paramName = param.getName(); + String paramType = param.getType(); + ObjectModelParameter param2 = addParameter(op2, paramType, paramName); + if (TopiaGeneratorUtil.hasDocumentation(param)) { + setDocumentation(param2, param.getDocumentation()); + } + } + for (String exception : op.getExceptions()) { + addException(op2, exception); + } + } + } + + private void generateAssociationAccessors(ObjectModelInterface output, String attrName, String attrType) { + + ObjectModelOperation op; + ObjectModelParameter param; + + op = addOperation(output, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE); + param = addParameter(op, attrType, "value"); + setDocumentation(param, "La valeur de l'attribut " + attrName + " à positionner."); + + op = addOperation(output, "get" + StringUtils.capitalize(attrName), attrType, ObjectModelModifier.PACKAGE); + setDocumentation(op, "Retourne la valeur de l'attribut " + attrName + "."); + } + + private static final String doubleQuote = "\""; + private static final String comma = ","; + + private String getStringRepresentation(List<String> strings) { + StringBuilder result = new StringBuilder(); + + Iterator<String> it = strings.iterator(); + if (it.hasNext()) { + result.append(doubleQuote).append(it.next()).append(doubleQuote); + } + while (it.hasNext()) { + result.append(comma).append(doubleQuote).append(it.next()).append(doubleQuote); + } + return result.toString(); + } + + private void generateSearchFields(ObjectModelInterface result, ObjectModelClass clazz) { + List<String> txtFields = new ArrayList<String>(); + List<String> numFields = new ArrayList<String>(); + List<String> boolFields = new ArrayList<String>(); + List<String> dateFields = new ArrayList<String>(); + List<ObjectModelAttribute> allAttrs = new ArrayList<ObjectModelAttribute>(); + allAttrs.addAll(clazz.getAttributes()); + allAttrs.addAll(clazz.getAllOtherAttributes()); + boolean needAnnotation = false; + for (ObjectModelAttribute attr : allAttrs) { + String name = GeneratorUtil.toLowerCaseFirstLetter(attr.getName()); + if (TopiaGeneratorUtil.isTextType(attr)) { + txtFields.add(name); + needAnnotation = true; + } else if (TopiaGeneratorUtil.isNumericType(attr)) { + numFields.add(name); + needAnnotation = true; + } else if (TopiaGeneratorUtil.isBooleanType(attr)) { + boolFields.add(name); + needAnnotation = true; + } else if (TopiaGeneratorUtil.isDateType(attr)) { + dateFields.add(name); + needAnnotation = true; + } + } + //FIXME introduce a annotation extension to generate them + +/*@SearchFields (*/ + if (needAnnotation) { + StringBuilder buffer = new StringBuilder(); + if (!txtFields.isEmpty()) { + buffer.append("\n txtFields={").append(getStringRepresentation(txtFields)).append("}"); + if (!numFields.isEmpty() || !boolFields.isEmpty() || !dateFields.isEmpty()) { + buffer.append(","); + } + } + if (!numFields.isEmpty()) { + buffer.append("\n numFields={").append(getStringRepresentation(numFields)).append("}"); + if (!boolFields.isEmpty() || !dateFields.isEmpty()) { + buffer.append(","); + } + } + if (!boolFields.isEmpty()) { + buffer.append("\n boolFields={").append(getStringRepresentation(boolFields)).append("}"); + if (!dateFields.isEmpty()) { + buffer.append(","); + } + } + if (!dateFields.isEmpty()) { + buffer.append("\n dateFields={").append(getStringRepresentation(dateFields)).append("}"); + } +/*<%=buffer.toString()%> +*/ + } +/*) +*/ + } + + private void generateStaticColumnNames(ObjectModelInterface result, ObjectModelClass clazz) { + for (ObjectModelAttribute attr : clazz.getAttributes()) { + ObjectModelAttribute reverse = attr.getReverseAttribute(); + if (!(attr.isNavigable() + || TopiaGeneratorUtil.hasUnidirectionalRelationOnAbstractType(reverse, model) + || attr.hasAssociationClass())) { + continue; + } + String attrName; + if (!attr.hasAssociationClass()) { + attrName = attr.getName(); + } else { + String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); + attrName = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName); + } + String attrColName = TopiaGeneratorUtil.convertVariableNameToConstantName(attrName); + addAttribute(result, attrColName, String.class, "\"" + attrName + "\"", ObjectModelModifier.PACKAGE); + } + + //Déclaration des noms des champs des attributs d'une classe d'associations + if (clazz instanceof ObjectModelAssociationClass) { + ObjectModelAssociationClass assoc = (ObjectModelAssociationClass) clazz; + for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) { + if (attr != null) { + String attrName = attr.getName(); + String attrColName = TopiaGeneratorUtil.convertVariableNameToConstantName(attrName); + addAttribute(result, attrColName, String.class, "\"" + attrName + "\"", ObjectModelModifier.PACKAGE); + } + } + } + } +} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,25 +14,29 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ -/* * -* EntityGenerator.java -* -* Created: 12 déc. 2005 -* -* @author Arnaud Thimel <thimel@codelutin.com> -* @version $Revision$ -* -* Mise a jour: $Date$ -* par : $Author$ -*/ +/*{generator option: parentheses = true}*/ +/*{generator option: writeString = output.write}*/ +/** + * InterfaceGenerator.java + * + * Created: 12 déc. 2005 + * + * @author Arnaud Thimel <thimel@codelutin.com> + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ + * @deprecated since 2.3.0, use {@link org.nuiton.topia.generator.InterfaceTransformer} instead + */ + package org.nuiton.topia.generator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelClassifier; @@ -45,19 +50,18 @@ import java.util.Collection; import java.util.Set; + +/** + * + * @deprecated since 2.3.0, prefer use the corresponding {@link org.nuiton.eugene.Transformer} : + * {@link InterfaceTransformer}. + */ +@Deprecated public class InterfaceGenerator extends ObjectModelGenerator { //InterfaceGenerator /** Logger for this class */ private static final Log log = LogFactory.getLog(InterfaceGenerator.class); - public InterfaceGenerator() { - super(); - } - - public InterfaceGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForClass(ObjectModelClass clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + ".java"; Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceGenerator.java ___________________________________________________________________ Deleted: svn:mergeinfo - Copied: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceTransformer.java (from rev 1714, branches/from2.2.2-eugene2-beta/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceTransformer.java) =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceTransformer.java (rev 0) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/InterfaceTransformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -0,0 +1,84 @@ +/* + * *##% + * ToPIA :: Persistence + * Copyright (C) 2004 - 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* + */ + +package org.nuiton.topia.generator; + +import java.util.Iterator; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.ObjectModelAttribute; +import org.nuiton.eugene.models.object.ObjectModelInterface; +import org.nuiton.eugene.models.object.ObjectModelModifier; +import org.nuiton.eugene.models.object.ObjectModelOperation; +import org.nuiton.eugene.models.object.ObjectModelParameter; + +/** + * InterfaceTransformer + * + * Created: 7 nov. 2009 + * + * @author fdesbois + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ + */ +public class InterfaceTransformer extends ObjectModelTransformerToJava { + + private static final Log log = LogFactory.getLog(InterfaceTransformer.class); + + @Override + public void transformFromInterface(ObjectModelInterface interfacez) { + if (!interfacez.getStereotypes().isEmpty()) { + // can only generate an interface with there is no other stereotypes + return; + } + + ObjectModelInterface resultInterface = createInterface(interfacez.getName(), interfacez.getPackageName()); + + // extend interface + Iterator<ObjectModelInterface> it = interfacez.getInterfaces().iterator(); + if (it.hasNext()) { + ObjectModelInterface extend = it.next(); + addInterface(resultInterface, extend.getQualifiedName()); + } + + // constant attributes + for (ObjectModelAttribute attr : interfacez.getAttributes()) { + if (!attr.isStatic() && StringUtils.isNotEmpty(attr.getDefaultValue())) { // only static attribut with value + addConstant(resultInterface, attr.getName(), attr.getType(), attr.getDefaultValue(), ObjectModelModifier.PUBLIC); + } + } + + // interface operations + for (ObjectModelOperation op : interfacez.getOperations()) { + ObjectModelOperation resultOp = addOperation(resultInterface, op.getName(), op.getReturnType()); + for (ObjectModelParameter param : op.getParameters()) { + addParameter(resultOp, param.getType(), param.getName()); + } + for (String exception : op.getExceptions()) { + addException(resultOp, exception); + } + } + } +} Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /******************************************************************************* * GeneratorUtil.java * @@ -37,7 +39,7 @@ import java.util.Set; import org.apache.commons.lang.StringUtils; -import org.nuiton.eugene.Generator; +import org.nuiton.eugene.AbstractGenerator; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.models.Model; import org.nuiton.eugene.models.object.ObjectModel; @@ -73,6 +75,8 @@ public static final String STEREOTYPE_UNIQUE = "unique"; /** Stéréotype pour les attributs étant des clés primaires */ public static final String STEREOTYPE_PRIMARYKAY = "primaryKey"; + /** Stéréotype pour les attributs considérés comme des tableaux */ + public static final String STEREOTYPE_ARRAY = "array"; /** Tag pour le type de persistence */ public static final String TAG_PERSISTENCE_TYPE = "persistenceType"; /** Tag pour le nom du champ / entité en BD */ @@ -143,7 +147,7 @@ * @param generator le générateur donné * @return le package par défaut du générator donné */ - public static String getDefaultPackage(Generator generator) { + public static String getDefaultPackage(AbstractGenerator<?> generator) { String packageName = generator.getProperty(PROPERTY_DEFAULT_PACKAGE); if (packageName == null || "".equals(packageName)) { packageName = DEFAULT_PACKAGE; @@ -151,23 +155,23 @@ return packageName; } - /** - * @see GeneratorUtil#hasDocumentation - * @deprecated - */ - @Deprecated - public static boolean hasDocumentation(ObjectModelElement element) { - return notEmpty(element.getDocumentation()); - } +// /** +// * @see GeneratorUtil#hasDocumentation +// * @deprecated +// */ +// @Deprecated +// public static boolean hasDocumentation(ObjectModelElement element) { +// return notEmpty(element.getDocumentation()); +// } - /** - * @see GeneratorUtil#notEmpty - * @deprecated - */ - @Deprecated - public static boolean notEmpty(String s) { - return (s != null && !"".equals(s)); - } +// /** +// * @see GeneratorUtil#notEmpty +// * @deprecated +// */ +// @Deprecated +// public static boolean notEmpty(String s) { +// return (s != null && !"".equals(s)); +// } /** * Renvoie l'interface DAO associée à la classe passée en paramètre @@ -365,27 +369,27 @@ return findTagValue(TAG_COPYRIGHT, null, model); } - /** - * @see GeneratorUtil#findTagValue - * @deprecated - */ - @Deprecated - public static String findTagValue(String tagName, - ObjectModelElement element, Model model) { - if (element == null) { - if (model != null) { - if (notEmpty(model.getTagValue(tagName))) { - return model.getTagValue(tagName); - } - } - return null; - } - if (notEmpty(element.getTagValue(tagName))) { - return element.getTagValue(tagName); - } - //On va chercher sur l'element declarant - return findTagValue(tagName, element.getDeclaringElement(), model); - } +// /** +// * @see GeneratorUtil#findTagValue +// * @deprecated +// */ +// @Deprecated +// public static String findTagValue(String tagName, +// ObjectModelElement element, Model model) { +// if (element == null) { +// if (model != null) { +// if (notEmpty(model.getTagValue(tagName))) { +// return model.getTagValue(tagName); +// } +// } +// return null; +// } +// if (notEmpty(element.getTagValue(tagName))) { +// return element.getTagValue(tagName); +// } +// //On va chercher sur l'element declarant +// return findTagValue(tagName, element.getDeclaringElement(), model); +// } public static <Type extends ObjectModelElement> Collection<Type> getElementsWithStereotype( Collection<Type> elements, String... stereotypes) { Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaJavaValidator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaJavaValidator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaJavaValidator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.generator; @@ -42,15 +44,12 @@ /** * Constructor. * - * @param model + * @param model model to validate */ public TopiaJavaValidator(ObjectModel model) { super(model); } - /* - * @see org.nuiton.eugene.models.object.validator.ObjectModelValidator#validateAttribute(org.nuiton.eugene.models.object.ObjectModelAttribute) - */ @Override protected boolean validateAttribute(ObjectModelAttribute attr) { @@ -77,9 +76,6 @@ } - /* - * @see org.nuiton.eugene.models.object.validator.ObjectModelValidator#validateClass(org.nuiton.eugene.models.object.ObjectModelClass) - */ @Override protected boolean validateClass(ObjectModelClass clazz) { @@ -102,9 +98,6 @@ return isValid; } - /* - * @see org.nuiton.eugene.models.object.validator.ObjectModelValidator#validateModel(org.nuiton.eugene.models.object.ObjectModel) - */ @Override protected boolean validateModel(ObjectModel model) { @@ -114,7 +107,7 @@ /** * Returns true if s is a legal Java identifier. * - * @param s + * @param s string to test * @return true if s is a legal Java identifier */ public static boolean isJavaIdentifier(String s) { Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaMetaGenerator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaMetaGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaMetaGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /******************************************************************************* * ObjectModelToEntityGenerator.java @@ -32,7 +34,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.eugene.AbstractGenerator; import org.nuiton.eugene.ObjectModelGenerator; +import org.nuiton.eugene.Template; +import org.nuiton.eugene.Transformer; import org.nuiton.eugene.models.object.ObjectModel; import org.nuiton.eugene.models.object.validator.AttributeNamesValidator; import org.nuiton.eugene.models.object.validator.ClassNamesValidator; @@ -57,19 +62,27 @@ /** * la liste des generateurs par defaut a utiliser */ - protected static final List<Class<? extends ObjectModelGenerator>> DEFAULT_GENERATORS = java.util.Collections + protected static final List<Class<? extends Template<ObjectModel>>> DEFAULT_GENERATORS = java.util.Collections .unmodifiableList(Arrays.asList( EntityInterfaceGenerator.class, +// EntityInterfaceTransformer.class, EntityAbstractGenerator.class, - EntityImplGenerator.class, +// EntityAbstractTransformer.class, + EntityImplTransformer.class, +// EntityImplGenerator.class, EntityHibernateMappingGenerator.class, - DAOGenerator.class, - DAOImplGenerator.class, - DAOAbstractGenerator.class, + DAOTransformer.class, + DAOImplTransformer.class, + DAOAbstractTransformer.class, + DAOHelperTransformer.class +// DAOGenerator.class, +// DAOImplGenerator.class, +// DAOAbstractGenerator.class, - DAOHelperGenerator.class)); +// DAOHelperGenerator.class) + )); protected boolean validateModel(ObjectModel model) { List<ObjectModelValidator> validators = new ArrayList<ObjectModelValidator>(); @@ -88,13 +101,13 @@ "Le nom d'attribut \"end\" est incompatible avec certains SGBD"); attrValidator.addNameAndReason("authorization", "Le nom d'attribut \"authorization\" est incompatible avec certains SGBD"); + attrValidator.addNameAndReason("order", + "Le nom d'attribut \"order\" est incompatible avec certains SGBD"); validators.add(attrValidator); ClassNamesValidator classValidator = new ClassNamesValidator(model); - classValidator.addNameAndReason("constraint", - "Nom de classe incompatible avec certains SGBD"); - classValidator.addNameAndReason("user", - "Nom de classe incompatible avec certains SGBD"); + classValidator.addNameAndReason("constraint", "Nom de classe incompatible avec certains SGBD"); + classValidator.addNameAndReason("user", "Nom de classe incompatible avec certains SGBD"); validators.add(classValidator); validators.add(new TopiaJavaValidator(model)); @@ -113,7 +126,7 @@ } @Override - public void generate(ObjectModel model, File destDir) throws IOException { + public void applyTemplate(ObjectModel model, File destDir) throws IOException { //On n'empeche pas la génération si le modèle n'est pas valide validateModel(model); @@ -132,9 +145,9 @@ public void generatePersistence(ObjectModel model, File destDir) throws IOException { - for (Class<? extends ObjectModelGenerator> generatorClass : DEFAULT_GENERATORS) { - ObjectModelGenerator generator; - if (excludeTemplates.contains(generatorClass.getName())) { + for (Class<? extends Template<ObjectModel>> generatorClass : DEFAULT_GENERATORS) { + Template<ObjectModel> generator; + if (getExcludeTemplates().contains(generatorClass.getName())) { // exclude generator log.info("exclude generator " + generatorClass); continue; @@ -142,8 +155,15 @@ try { generator = generatorClass.newInstance(); - generator.setParent(this); + // init generator + + if (generator instanceof AbstractGenerator) { + ((AbstractGenerator<ObjectModel>)generator).setParent(this); + } + if (generator instanceof Transformer) { + generator.setProperties(properties); + } } catch (Exception e) { // should never happens if(log.isErrorEnabled()) { @@ -156,7 +176,7 @@ if(log.isDebugEnabled()) { log.debug("call template : " + generatorClass.getSimpleName()); } - generator.generate(model, destDir); + generator.applyTemplate(model, destDir); } } Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaRelationValidator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaRelationValidator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaRelationValidator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaRelationValidator.java Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/package.html ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/DepthEntityVisitor.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/DepthEntityVisitor.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/DepthEntityVisitor.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.persistence; import java.util.ArrayList; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/EntityVisitor.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/EntityVisitor.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/EntityVisitor.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.persistence; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/SearchFields.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/SearchFields.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/SearchFields.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * SearchFields.java Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/SearchFields.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAO.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAO.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAO.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaDAO.java @@ -134,12 +136,12 @@ throws TopiaException; /** - * TODO modifier l'implantation pour faire un simple count sur la base + * Compte le nombre d'entites en base * - * @return la taille de ? + * @return le nombre total d'entites existantes * @throws TopiaException */ - int size() throws TopiaException; + long size() throws TopiaException; /** * Recherche la classe en utilisant la cle naturelle, chaque champs de la Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAO.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaDAOAbstract.java @@ -288,8 +290,8 @@ * private method because this is hibernate specific method and we don't * want expose it * - * @return - * @throws TopiaException + * @return the meta-data of the entity + * @throws TopiaException if any pb */ private ClassMetadata getClassMetadata() throws TopiaException { ClassMetadata meta = getContext().getHibernateFactory() @@ -380,12 +382,6 @@ return result; } - /** - * {@link TopiaDAOImpl#findAllContainsProperties(java.util.Map)} - * @param properties - * @return - * @throws org.nuiton.topia.TopiaException - */ @Override public Entity findContainsProperties(Map<String, Collection> properties) throws TopiaException { @@ -397,14 +393,6 @@ return result; } - /** - * {@link TopiaDAOImpl#findAllContainsProperties(java.util.Map)} - * @param propertyName - * @param values - * @param others - * @return - * @throws org.nuiton.topia.TopiaException - */ @Override public Entity findContainsProperties(String propertyName, Collection values, Object... others) throws TopiaException { @@ -444,11 +432,10 @@ * findAllContainsProperties(properties); * @param properties * @return the list of entities corresponding to the request - * @throws org.nuiton.topia.TopiaException + * @throws org.nuiton.topia.TopiaException if any pb */ @Override - public List<Entity> findAllContainsProperties( - Map<String, Collection> properties) throws TopiaException { + public List<Entity> findAllContainsProperties(Map<String, Collection> properties) throws TopiaException { List<Entity> all = findAll(); List<Entity> result = new ArrayList<Entity>(); for (Entity e : all) { @@ -492,14 +479,6 @@ return result; } - /** - * {@link TopiaDAOImpl#findAllContainsProperties(java.util.Map)} - * @param propertyName - * @param values - * @param others - * @return - * @throws org.nuiton.topia.TopiaException - */ @Override public List<Entity> findAllContainsProperties(String propertyName, Collection values, Object... others) throws TopiaException { @@ -752,15 +731,15 @@ } /** - * TODO implanter une facon plus rapide de recupere la size (count direct - * sur la base) ? - * - * Si la methode doit charger les objets, on faut le dire :) + * Utilisation du count(*) en HQL pour recuperer le nombre d'entites du type lie au DAO + * @return un long correspondant au nombre d'entités existantes en base */ @Override - public int size() throws TopiaException { - int result = findAll().size(); - return result; + public long size() throws TopiaException { + //int result = findAll().size(); + + List result = this.getContext().find("SELECT count(*) FROM " + getEntityClass().getName() + "Impl"); + return (Long)result.get(0); } @Override @@ -864,6 +843,7 @@ * Renvoie un Criteria créé avec l'entityClass * @param mode le FlushMode du Criteria * @return le Criteria nouvellement créé + * @throws org.nuiton.topia.TopiaException if any pb */ private Criteria createCriteria(FlushMode mode) throws TopiaException { Criteria criteria = getSession().createCriteria(entityClass); @@ -873,6 +853,8 @@ /** * Renvoie la Session contenue dans le contexte + * @return hibernate session + * @throws org.nuiton.topia.TopiaException if any pb */ private Session getSession() throws TopiaException { return getContext().getHibernate(); Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaDAOImpl.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntity.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntity.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntity.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaEntity.java Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntity.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /******************************************************************************* * TopiaEntityAbstract.java Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityEnum.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityEnum.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityEnum.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence; Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityEnum.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaId.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaId.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaId.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaId.java Property changes on: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaId.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/BeanPropertyLoador.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/BeanPropertyLoador.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/BeanPropertyLoador.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Collector.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Collector.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Collector.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Creator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Creator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Creator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/DBMapping.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/DBMapping.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/DBMapping.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Deletor.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Deletor.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Deletor.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/DiffState.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/DiffState.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/DiffState.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityListUpdator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityListUpdator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityListUpdator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityLoador.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityLoador.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityLoador.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityOperator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityOperator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityOperator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityOperatorStore.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityOperatorStore.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/EntityOperatorStore.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/ListUpdator.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/ListUpdator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/ListUpdator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Loador.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Loador.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/Loador.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/TopiaEntityHelper.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/TopiaEntityHelper.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/TopiaEntityHelper.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/TopiaEntityRef.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/TopiaEntityRef.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/util/TopiaEntityRef.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Property changes on: trunk/topia-persistence/src/site ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/resources/ContactUseCases.png ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/resources/ServiceCall.png ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/resources/topia.zargo ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/Devel.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/FAQ.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/HibernateMapping.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/Isolation.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/ModelGeneration.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/SchemaMigration.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/site/rst/Todo.rst =================================================================== --- trunk/topia-persistence/src/site/rst/Todo.rst 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/site/rst/Todo.rst 2009-12-15 00:26:16 UTC (rev 1715) @@ -143,8 +143,6 @@ - Generation des UI par defaut (JAXX et JSP) - prendre en compte le contenu de l'onglet doc des entités et attributs jusqu'au -- pour les tooltips (doc tooltips/doc user/doc dev) -- tag-value calculated sur les attributs calculés (gestion utile pour l'historisation) - --> génération : annotation @Calculated A reflechir (voir si c vraiment utile) -------------------------------------- Property changes on: trunk/topia-persistence/src/site/rst/Todo.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/TopiaDocumentation.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/event.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/howto.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/index.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/project.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-persistence/src/site/rst/security.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/site/site_fr.xml =================================================================== --- trunk/topia-persistence/src/site/site_fr.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/site/site_fr.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -9,7 +9,7 @@ <body> <breadcrumbs> - <item name="${project.name}" href="${project.url}" /> + <item name="${project.name}" href="index.html" /> </breadcrumbs> <menu ref="parent"/> @@ -23,6 +23,12 @@ name="Javadoc (jar)"/> <item href="${repository.home.url}/org/nuiton/topia/${project.artifactId}/${project.version}/${project.build.finalName}-sources.jar" name="Sources (jar)"/> + <item href="${repository.home.url}/org/nuiton/topia/${project.artifactId}/${project.version}/${project.build.finalName}-tests.jar" + name="Test Librairie (jar)"/> + <item href="${repository.home.url}/org/nuiton/topia/${project.artifactId}/${project.version}/${project.build.finalName}-test-javadoc.jar" + name="Test Javadoc (jar)"/> + <item href="${repository.home.url}/org/nuiton/topia/${project.artifactId}/${project.version}/${project.build.finalName}-test-sources.jar" + name="Test Sources (jar)"/> </menu> <menu name="Developpeur"> Property changes on: trunk/topia-persistence/src/test/java/org/nuiton/topia/framework ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/EntityStateTest.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/EntityStateTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/EntityStateTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaUtilTest.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaUtilTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaUtilTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.framework; import java.net.URL; Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaGeneratorUtilTest.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaGeneratorUtilTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaGeneratorUtilTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ /* * To change this template, choose Tools | Templates Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.generator; @@ -63,7 +65,7 @@ @BeforeClass public static void init() { config = new Properties(); - config.setProperty("topia.persistence.classes",TopiaTestDAOHelper.entitiesList); + config.setProperty("topia.persistence.classes",TopiaTestDAOHelper.getImplementationClassesAsString()); config.setProperty(Environment.USER, "sa"); config.setProperty(Environment.PASS, ""); Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/EntityVisitorExportXmlTest.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/EntityVisitorExportXmlTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/EntityVisitorExportXmlTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.persistence; Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/ExportXMLVisitor.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/ExportXMLVisitor.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/ExportXMLVisitor.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.persistence; Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/CollectorTest.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/CollectorTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/CollectorTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ /* * To change this template, choose Tools | Templates Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/EntityOperatorTest.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/EntityOperatorTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/EntityOperatorTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityHelperTest.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityHelperTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topia/persistence/util/TopiaEntityHelperTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.persistence.util; Modified: trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/Contact2DAOImpl.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/Contact2DAOImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/Contact2DAOImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Persistence + * *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topiatest.deletetest; Property changes on: trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/Contact2DAOImpl.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java =================================================================== --- trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-persistence/src/test/java/org/nuiton/topiatest/deletetest/DeleteEntityTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Persistence +/* *##% + * ToPIA :: Persistence * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /** * DeleteEntityTest.java @@ -153,7 +155,7 @@ * Test for deleting entities with NMultiplicity relation without association class entity. * Test DAO generation for deleting references between two entities with NMultiplicity relation. * In the test model, the two entities have both inheritance. - * @see org.nuiton.topia.generator.DAOAbstractGenerator + * @see org.nuiton.topia.generator.DAOAbstractTransformer */ @Test public void testDeleteEntityWithManyToManyRelation() { Modified: trunk/topia-service-history/pom.xml =================================================================== --- trunk/topia-service-history/pom.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-history/pom.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -10,7 +10,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>topia</artifactId> - <version>2.2.3-SNAPSHOT</version> + <version>2.3.0-beta-2-SNAPSHOT</version> </parent> <groupId>org.nuiton.topia</groupId> @@ -46,13 +46,16 @@ <artifactId>nuiton-utils</artifactId> </dependency> - <!--BD H2 pour le test--> + <!-- Depencies for test--> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> - <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </dependency> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> @@ -63,7 +66,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>ToPIA - History service</name> + <name>ToPIA :: Service History</name> <description>Hibernate based history service</description> <!-- ************************************************************* --> @@ -95,13 +98,14 @@ <phase>generate-sources</phase> <id>generate-sources</id> <configuration> + <reader>org.nuiton.eugene.ObjectModelReader</reader> <includes>**/*.objectmodel</includes> <templates>org.nuiton.topia.generator.TopiaMetaGenerator</templates> <defaultPackage>org.nuiton.topia</defaultPackage> <fullPackagePath>org.nuiton.topia</fullPackagePath> <copyVersionDir>${maven.src.dir}/main/resources/oldmappings/%MODELNAME%</copyVersionDir> <copyVersionFiles>**/*.hbm.xml</copyVersionFiles> - <copyOverwrite>true</copyOverwrite> + <overwrite>true</overwrite> </configuration> <goals> <goal>zargo2xmi</goal> Modified: trunk/topia-service-history/src/main/java/org/nuiton/topia/history/NoHistory.java =================================================================== --- trunk/topia-service-history/src/main/java/org/nuiton/topia/history/NoHistory.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-history/src/main/java/org/nuiton/topia/history/NoHistory.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - History service +/* *##% + * ToPIA :: Service History * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * NoHistory.java Modified: trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryListener.java =================================================================== --- trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryListener.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryListener.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - History service +/* *##% + * ToPIA :: Service History * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * HistoryListener.java Modified: trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryService.java =================================================================== --- trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - History service +/* *##% + * ToPIA :: Service History * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaHistoryService.java Modified: trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryServiceImpl.java =================================================================== --- trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryServiceImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-history/src/main/java/org/nuiton/topia/history/TopiaHistoryServiceImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - History service +/* *##% + * ToPIA :: Service History * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * HistoryServiceImpl.java Modified: trunk/topia-service-history/src/main/java/org/nuiton/topia/history/entities/HistoryImpl.java =================================================================== --- trunk/topia-service-history/src/main/java/org/nuiton/topia/history/entities/HistoryImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-history/src/main/java/org/nuiton/topia/history/entities/HistoryImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - History service +/* *##% + * ToPIA :: Service History * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * HistoryImpl.java Modified: trunk/topia-service-history/src/site/rst/index.rst =================================================================== --- trunk/topia-service-history/src/site/rst/index.rst 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-history/src/site/rst/index.rst 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,11 +1,4 @@ ToPIA Historique Service ======================== -Permet de conserver l'ensemble des actions réalisées sur la base de données. - -TODO ----- - -- Sauvegarde des valeurs des champs pour create/update (Attention gérer les collection). -- Ne plus utiliser NoHistory mais plutôt une liste des entités à historiser (include / exclude) dans la configuration -- Gérer cas d'un attribut calculated (tag-value) \ No newline at end of file +Permet de conserver l'ensemble des actions réalisées sur la base de données. \ No newline at end of file Modified: trunk/topia-service-history/src/site/site_fr.xml =================================================================== --- trunk/topia-service-history/src/site/site_fr.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-history/src/site/site_fr.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -9,7 +9,7 @@ <body> <breadcrumbs> - <item name="${project.name}" href="${project.url}" /> + <item name="${project.name}" href="index.html" /> </breadcrumbs> <menu ref="parent"/> Modified: trunk/topia-service-history/src/test/java/org/nuiton/topia/history/HistoryTest.java =================================================================== --- trunk/topia-service-history/src/test/java/org/nuiton/topia/history/HistoryTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-history/src/test/java/org/nuiton/topia/history/HistoryTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - History service +/* *##% + * ToPIA :: Service History * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.history; import org.nuiton.topia.TopiaContext; Modified: trunk/topia-service-index/pom.xml =================================================================== --- trunk/topia-service-index/pom.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-index/pom.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -10,7 +10,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>topia</artifactId> - <version>2.2.3-SNAPSHOT</version> + <version>2.3.0-beta-2-SNAPSHOT</version> </parent> <groupId>org.nuiton.topia</groupId> @@ -45,12 +45,15 @@ <artifactId>lucene-core</artifactId> </dependency> - <!--BD H2 pour le test--> + <!-- Depencies for test--> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> </dependency> - <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> @@ -62,7 +65,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>ToPIA - Index service</name> + <name>ToPIA :: Service Index</name> <description>Hibernate based index service</description> <!-- ************************************************************* --> Modified: trunk/topia-service-index/src/main/java/org/nuiton/topia/index/IndexEntry.java =================================================================== --- trunk/topia-service-index/src/main/java/org/nuiton/topia/index/IndexEntry.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-index/src/main/java/org/nuiton/topia/index/IndexEntry.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Index service +/* *##% + * ToPIA :: Service Index * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * IndexEntry.java Modified: trunk/topia-service-index/src/main/java/org/nuiton/topia/index/LuceneIndexer.java =================================================================== --- trunk/topia-service-index/src/main/java/org/nuiton/topia/index/LuceneIndexer.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-index/src/main/java/org/nuiton/topia/index/LuceneIndexer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Index service +/* *##% + * ToPIA :: Service Index * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * LuceneIndexer.java Modified: trunk/topia-service-index/src/main/java/org/nuiton/topia/index/NotIndexable.java =================================================================== --- trunk/topia-service-index/src/main/java/org/nuiton/topia/index/NotIndexable.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-index/src/main/java/org/nuiton/topia/index/NotIndexable.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Index service +/* *##% + * ToPIA :: Service Index * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * NotIndexable.java Modified: trunk/topia-service-index/src/main/java/org/nuiton/topia/index/TopiaIndexImplementor.java =================================================================== --- trunk/topia-service-index/src/main/java/org/nuiton/topia/index/TopiaIndexImplementor.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-index/src/main/java/org/nuiton/topia/index/TopiaIndexImplementor.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Index service +/* *##% + * ToPIA :: Service Index * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * IndexEnginImplementor.java Modified: trunk/topia-service-index/src/main/java/org/nuiton/topia/index/TopiaIndexService.java =================================================================== --- trunk/topia-service-index/src/main/java/org/nuiton/topia/index/TopiaIndexService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-index/src/main/java/org/nuiton/topia/index/TopiaIndexService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Index service +/* *##% + * ToPIA :: Service Index * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * IndexEngin.java Modified: trunk/topia-service-index/src/site/site_fr.xml =================================================================== --- trunk/topia-service-index/src/site/site_fr.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-index/src/site/site_fr.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -9,7 +9,7 @@ <body> <breadcrumbs> - <item name="${project.name}" href="${project.url}" /> + <item name="${project.name}" href="index.html" /> </breadcrumbs> <menu ref="parent"/> Modified: trunk/topia-service-index/src/test/java/org/nuiton/topia/index/IndexTest.java =================================================================== --- trunk/topia-service-index/src/test/java/org/nuiton/topia/index/IndexTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-index/src/test/java/org/nuiton/topia/index/IndexTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Index service +/* *##% + * ToPIA :: Service Index * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.index; Modified: trunk/topia-service-migration/pom.xml =================================================================== --- trunk/topia-service-migration/pom.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/pom.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -10,7 +10,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>topia</artifactId> - <version>2.2.3-SNAPSHOT</version> + <version>2.3.0-beta-2-SNAPSHOT</version> </parent> <groupId>org.nuiton.topia</groupId> @@ -44,13 +44,15 @@ <artifactId>commons-lang</artifactId> </dependency> - <!--BD H2 pour le test--> + <!-- Depencies for test--> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> - <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> </dependency> - <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> @@ -62,7 +64,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>ToPIA - Migration service</name> + <name>ToPIA :: Service Migration</name> <description>Hibernate based migration service</description> <!-- ************************************************************* --> @@ -101,7 +103,8 @@ <execution> <id>Migration service generator</id> <phase>generate-sources</phase> - <configuration> + <configuration> + <reader>org.nuiton.eugene.ObjectModelReader</reader> <includes>**/*.objectmodel</includes> <templates>org.nuiton.topia.generator.TopiaMetaGenerator</templates> <fullPackagePath>org.nuiton.topia.migration</fullPackagePath> Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/DatabaseManager.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/DatabaseManager.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/DatabaseManager.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration; import java.sql.Connection; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationCallback.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationCallback.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationCallback.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Migration service + * *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.migration; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationEngine.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationEngine.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationEngine.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration; import org.nuiton.topia.TopiaContext; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationService.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationServiceException.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationServiceException.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationServiceException.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationServiceImpl.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationServiceImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationServiceImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationService.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration; import org.nuiton.topia.event.TopiaContextListener; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationServiceImpl.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationServiceImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationServiceImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration; import java.io.File; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/callback/MigrationCallbackHandler.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/callback/MigrationCallbackHandler.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/callback/MigrationCallbackHandler.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.callback; import org.nuiton.topia.migration.DatabaseManager; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ExceptionAttributeUndefined.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ExceptionAttributeUndefined.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ExceptionAttributeUndefined.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.common; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapter.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapter.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapter.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.common; import java.io.Serializable; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapterAdmin.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapterAdmin.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapterAdmin.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.common; import java.io.Serializable; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapterImpl.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapterImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/MapAdapterImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.common; import org.nuiton.util.Version; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ProxyClass.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ProxyClass.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ProxyClass.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.common; /** Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ProxyClassMapped.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ProxyClassMapped.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/ProxyClassMapped.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.common; import java.io.Serializable; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/SimpleProxyClass.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/SimpleProxyClass.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/SimpleProxyClass.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.common; import java.util.StringTokenizer; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/SimpleProxyClassMapped.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/SimpleProxyClassMapped.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/SimpleProxyClassMapped.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.common; import java.io.Serializable; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/Version.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/Version.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/common/Version.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.common; import java.util.StringTokenizer; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/BaseException.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/BaseException.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/BaseException.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.kernel; /** Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ConfigurationAdapter.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ConfigurationAdapter.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ConfigurationAdapter.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.kernel; import java.io.Serializable; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ConfigurationHelper.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ConfigurationHelper.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ConfigurationHelper.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.kernel; import java.io.BufferedReader; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/DependenciesHelper.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/DependenciesHelper.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/DependenciesHelper.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.kernel; import java.util.HashSet; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/NullMigrationClass.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/NullMigrationClass.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/NullMigrationClass.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.kernel; import org.nuiton.topia.migration.common.ProxyClass; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ObjectNotFound.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ObjectNotFound.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/ObjectNotFound.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.kernel; /** Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/Transformer.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/Transformer.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/kernel/Transformer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.kernel; import java.io.Serializable; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersion.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersion.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/mappings/TMSVersion.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.mappings; /** Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/AbstractMigration.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/AbstractMigration.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/AbstractMigration.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.transformation; import java.io.Serializable; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/FinderMigration.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/FinderMigration.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/FinderMigration.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.transformation; import org.apache.commons.logging.Log; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MapHelper.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MapHelper.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MapHelper.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.transformation; import java.io.Serializable; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/Migration.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/Migration.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/Migration.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.transformation; import java.io.Serializable; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MigrationClass.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MigrationClass.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MigrationClass.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.transformation; import org.nuiton.topia.migration.common.ProxyClass; Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MigrationNull.java =================================================================== --- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MigrationNull.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/transformation/MigrationNull.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.migration.transformation; import org.nuiton.topia.migration.common.MapAdapter; Modified: trunk/topia-service-migration/src/site/site_fr.xml =================================================================== --- trunk/topia-service-migration/src/site/site_fr.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/site/site_fr.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -9,7 +9,7 @@ <body> <breadcrumbs> - <item name="${project.name}" href="${project.url}" /> + <item name="${project.name}" href="index.html" /> </breadcrumbs> <menu ref="parent"/> Modified: trunk/topia-service-migration/src/test/java/org/nuiton/topia/migration/common/VersionTest.java =================================================================== --- trunk/topia-service-migration/src/test/java/org/nuiton/topia/migration/common/VersionTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/test/java/org/nuiton/topia/migration/common/VersionTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.migration.common; Modified: trunk/topia-service-migration/src/test/java/org/nuiton/topia/migration/kernel/ConfigurationAdapterTest.java =================================================================== --- trunk/topia-service-migration/src/test/java/org/nuiton/topia/migration/kernel/ConfigurationAdapterTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-migration/src/test/java/org/nuiton/topia/migration/kernel/ConfigurationAdapterTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Migration service +/* *##% + * ToPIA :: Service Migration * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.migration.kernel; Modified: trunk/topia-service-replication/pom.xml =================================================================== --- trunk/topia-service-replication/pom.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/pom.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -10,7 +10,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>topia</artifactId> - <version>2.2.3-SNAPSHOT</version> + <version>2.3.0-beta-2-SNAPSHOT</version> </parent> <groupId>org.nuiton.topia</groupId> @@ -39,20 +39,22 @@ <artifactId>nuiton-utils</artifactId> </dependency> - <!-- test --> - + + <!-- Depencies for test--> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> - <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <scope>test</scope> </dependency> - <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </dependency> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> @@ -63,7 +65,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>ToPIA - Replication service</name> + <name>ToPIA :: Service Replication</name> <description>Hibernate based replication service</description> <!-- ************************************************************* --> Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/ReplicationEngine.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/ReplicationEngine.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/ReplicationEngine.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationImplementor.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationImplementor.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationImplementor.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Replication service +/* *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaReplicationImplementor.java Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationOperation.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationOperation.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationOperation.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationService.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Replication service +/* *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * IndexEngin.java Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/Link.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/Link.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/Link.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.model; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationModel.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationModel.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationModel.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.model; Property changes on: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationModel.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationNode.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationNode.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationNode.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.model; Property changes on: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationNode.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationOperationDef.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationOperationDef.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationOperationDef.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.model; Property changes on: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationOperationDef.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationOperationPhase.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationOperationPhase.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/model/ReplicationOperationPhase.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.model; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachAssociation.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachAssociation.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachAssociation.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachDependency.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachDependency.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachDependency.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachLink.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachLink.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachLink.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/DettachAssociation.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/DettachAssociation.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/DettachAssociation.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/DettachDependency.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/DettachDependency.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/DettachDependency.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/Duplicate.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/Duplicate.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/Duplicate.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/LoadLink.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/LoadLink.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/LoadLink.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-replication/src/site/site_fr.xml =================================================================== --- trunk/topia-service-replication/src/site/site_fr.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/site/site_fr.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -9,7 +9,7 @@ <body> <breadcrumbs> - <item name="${project.name}" href="${project.url}" /> + <item name="${project.name}" href="index.html" /> </breadcrumbs> <menu ref="parent"/> Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractReplicationEngineTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractReplicationEngineTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractReplicationEngineTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Replication service +/* *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.replication; import java.io.File; @@ -433,8 +435,8 @@ for (TopiaEntityEnum c : contracts) { TopiaDAO<? extends TopiaEntity> daoSrc = ctxt.getDAO(c.getContract()); TopiaDAO<? extends TopiaEntity> daoDst = ctxt2.getDAO(c.getContract()); - int nbSrc = daoSrc.size(); - int nbDst = daoDst.size(); + long nbSrc = daoSrc.size(); + long nbDst = daoDst.size(); assertEquals("le nombres d'entites de type " + c + " devrait etre " + nbSrc + " mais est " + nbDst, nbSrc, nbDst); List<String> idsSrc = daoSrc.findAllIds(); List<String> idsDst = daoDst.findAllIds(); Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineAllTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineAllTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineAllTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Replication service +/* *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.replication; import java.io.File; Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Replication service +/* *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.replication; import java.io.File; Property changes on: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineTest.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationOperationTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationOperationTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationOperationTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Replication service +/* *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.replication; import java.io.File; Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/FakeOperation.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/FakeOperation.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/FakeOperation.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/UncreatableOperation.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/UncreatableOperation.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/UncreatableOperation.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/UnregistredOperation.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/UnregistredOperation.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/operation/UnregistredOperation.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Replication service + * *##% + * ToPIA :: Service Replication * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.replication.operation; Modified: trunk/topia-service-security/pom.xml =================================================================== --- trunk/topia-service-security/pom.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/pom.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -10,7 +10,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>topia</artifactId> - <version>2.2.3-SNAPSHOT</version> + <version>2.3.0-beta-2-SNAPSHOT</version> </parent> <groupId>org.nuiton.topia</groupId> @@ -42,13 +42,16 @@ <artifactId>commons-lang</artifactId> </dependency> - <!--BD H2 pour le test--> + <!-- Depencies for test--> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> - <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </dependency> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> @@ -59,7 +62,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>ToPIA - Security service</name> + <name>ToPIA :: Service Security</name> <description>Hibernate based security service</description> <!-- ************************************************************* --> @@ -90,7 +93,8 @@ <execution> <id>generate-sources</id> <phase>generate-sources</phase> - <configuration> + <configuration> + <reader>org.nuiton.eugene.ObjectModelReader</reader> <includes>**/*.objectmodel</includes> <templates>org.nuiton.topia.generator.TopiaMetaGenerator</templates> <defaultPackage>org.nuiton.topia</defaultPackage> Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityService.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Security service + * *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.security; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityServiceImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityServiceImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityServiceImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.entities.authorization; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAuthorizationImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAuthorizationImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAuthorizationImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.entities.authorization; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaEntityAuthorizationImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaEntityAuthorizationImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaEntityAuthorizationImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.entities.authorization; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaExpressionLinkImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaExpressionLinkImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaExpressionLinkImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.entities.authorization; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaGroupImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaGroupImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaGroupImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.entities.user; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaUserImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaUserImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaUserImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.entities.user; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaCallbackHandler.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaCallbackHandler.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaCallbackHandler.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaCallbackHandler.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaConfiguration.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaConfiguration.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaConfiguration.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaConfiguration.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaLoginModule.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaLoginModule.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaLoginModule.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaLoginModule.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPermission.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPermission.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPermission.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaPermission.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPolicy.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPolicy.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPolicy.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaPolicy.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPrincipal.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPrincipal.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/jaas/TopiaPrincipal.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaPrincipal.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/EntityVetoable.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/EntityVetoable.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/EntityVetoable.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaSecurityVetoableListener.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/NoSecurityLoad.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/NoSecurityLoad.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/NoSecurityLoad.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.listener; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyReadListener.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyReadListener.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyReadListener.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.listener; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyVetoable.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyVetoable.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyVetoable.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaSecurityVetoableListener.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyWriteListener.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyWriteListener.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyWriteListener.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.listener; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityCaching.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityCaching.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityCaching.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.util; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityFactoryFilter.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityFactoryFilter.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityFactoryFilter.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security.util; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityUtil.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityUtil.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityUtil.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaSecurityUtil.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaSecurityVetoableListener.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasUtil.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasUtil.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasUtil.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaSecurityUtil.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasAccessEntity.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasAccessEntity.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasAccessEntity.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Security service + * *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.taas.event; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasEntityVetoable.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasEntityVetoable.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasEntityVetoable.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Security service + * *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.taas.event; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasEntityVetoableRequestPermission.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasEntityVetoableRequestPermission.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/event/TaasEntityVetoableRequestPermission.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,5 +1,6 @@ /** - * *##% ToPIA - Security service + * *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -14,7 +15,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia.taas.event; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasCallbackHandler.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasCallbackHandler.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasCallbackHandler.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaCallbackHandler.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasConfiguration.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasConfiguration.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasConfiguration.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaConfiguration.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasLoginModule.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasLoginModule.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasLoginModule.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaLoginModule.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPermission.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPermission.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPermission.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaPermission.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPolicy.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPolicy.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPolicy.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaPolicy.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPrincipalWrapper.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPrincipalWrapper.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPrincipalWrapper.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TopiaPrincipal.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasSubjectFinder.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasSubjectFinder.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasSubjectFinder.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TaasSubject.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasSubjectFinderImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasSubjectFinderImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasSubjectFinderImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /* * * TaasSubjectImpl.java Modified: trunk/topia-service-security/src/site/site_fr.xml =================================================================== --- trunk/topia-service-security/src/site/site_fr.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/site/site_fr.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -9,7 +9,7 @@ <body> <breadcrumbs> - <item name="${project.name}" href="${project.url}" /> + <item name="${project.name}" href="index.html" /> </breadcrumbs> <menu ref="parent"/> Modified: trunk/topia-service-security/src/test/java/org/nuiton/topia/TestUtils.java =================================================================== --- trunk/topia-service-security/src/test/java/org/nuiton/topia/TestUtils.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/test/java/org/nuiton/topia/TestUtils.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%* */ package org.nuiton.topia; Modified: trunk/topia-service-security/src/test/java/org/nuiton/topia/security/TopiaSecurityTest.java =================================================================== --- trunk/topia-service-security/src/test/java/org/nuiton/topia/security/TopiaSecurityTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-service-security/src/test/java/org/nuiton/topia/security/TopiaSecurityTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - Security service +/* *##% + * ToPIA :: Service Security * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.security; import static org.nuiton.topia.security.util.TopiaSecurityUtil.LOAD; Property changes on: trunk/topia-soa/TODO ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-soa/changelog.txt ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/pom.xml =================================================================== --- trunk/topia-soa/pom.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/pom.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -10,7 +10,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>topia</artifactId> - <version>2.2.3-SNAPSHOT</version> + <version>2.3.0-beta-2-SNAPSHOT</version> </parent> <groupId>org.nuiton.topia</groupId> @@ -82,7 +82,7 @@ <!-- *** Project Information ************************************* --> <!-- ************************************************************* --> - <name>ToPIA - SOA</name> + <name>ToPIA :: SOA</name> <description>Service Oriented Architecture module</description> <!-- ************************************************************* --> @@ -112,6 +112,7 @@ <id>generate-objectmodel</id> <phase>generate-test-sources</phase> <configuration> + <reader>org.nuiton.eugene.ObjectModelReader</reader> <testPhase>true</testPhase> <fullPackagePath>org.codelutin.soatest</fullPackagePath> <extractedPackages>org.codelutin.soatest</extractedPackages> Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceAbstractGenerator.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceAbstractGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceAbstractGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.generator; import static org.nuiton.topia.generator.TopiaGeneratorUtil.hasUnidirectionalRelationOnAbstractType; @@ -27,7 +29,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.models.object.ObjectModelAssociationClass; @@ -39,6 +40,9 @@ import org.nuiton.eugene.models.object.ObjectModelParameter; import org.nuiton.topia.service.TopiaApplicationServiceAbstract; +// do not remove +import org.apache.commons.lang.StringUtils; + /** * ServiceAbstractGenerator.java * @@ -64,14 +68,6 @@ private static final Log log = LogFactory .getLog(ServiceAbstractGenerator.class); - public ServiceAbstractGenerator() { - super(); - } - - public ServiceAbstractGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForInterface(ObjectModelInterface clazz) { return clazz.getQualifiedName().replace('.', File.separatorChar) + "Abstract.java"; @@ -168,7 +164,7 @@ /*{ * <%=opName%> : <%=opDocumentation%> }*/ } - Collection<ObjectModelParameter> params = (Collection<ObjectModelParameter>)op.getParameters(); + Collection<ObjectModelParameter> params = op.getParameters(); for(ObjectModelParameter param : params) { String paramName = param.getName(); String paramDocumentation = param.getDocumentation(); @@ -313,7 +309,7 @@ public <%=clazzFQN%> find<%=clazzName%>By<%=TopiaGeneratorUtil.capitalize(attr.getName())%>(<%=attr.getType()%> v) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); - <%=clazzName%> entity = dao.findBy<%=TopiaGeneratorUtil.capitalize(attr.getName())%>(v); + <%=clazzName%> entity = dao.findBy<%=StringUtils.capitalize(attr.getName())%>(v); return entity; }; @@ -323,10 +319,10 @@ * @param v la valeur que doit avoir <%=attr.getName()%> * @return une liste *) - public List<<%=clazzFQN%>> findAll<%=clazzName%>By<%=TopiaGeneratorUtil.capitalize(attr.getName())%>(<%=attr.getType()%> v) throws TopiaException{ + public List<<%=clazzFQN%>> findAll<%=clazzName%>By<%=StringUtils.capitalize(attr.getName())%>(<%=attr.getType()%> v) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); - List<<%=clazzName%>> entityList = dao.findAllBy<%=TopiaGeneratorUtil.capitalize(attr.getName())%>(v); + List<<%=clazzName%>> entityList = dao.findAllBy<%=StringUtils.capitalize(attr.getName())%>(v); return entityList; }; }*/ @@ -338,10 +334,10 @@ * @param value la valeur que doit avoir <%=TopiaGeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%> * @return un element ou null *) - public <%=clazzFQN%> find<%=clazzName%>By<%=TopiaGeneratorUtil.capitalize(attr.getAssociationClass().getName())%>(<%=attr.getAssociationClass().getQualifiedName()%> value) throws TopiaException{ + public <%=clazzFQN%> find<%=clazzName%>By<%=StringUtils.capitalize(attr.getAssociationClass().getName())%>(<%=attr.getAssociationClass().getQualifiedName()%> value) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); - <%=clazzName%> entity = dao.findBy<%=TopiaGeneratorUtil.capitalize(attr.getName())%>(v); + <%=clazzName%> entity = dao.findBy<%=StringUtils.capitalize(attr.getName())%>(v); return entity; }; @@ -351,10 +347,10 @@ * @param value la valeur que doit avoir <%=TopiaGeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%> * @return une liste *) - public List<<%=clazzFQN%>> findAll<%=clazzName%>By<%=TopiaGeneratorUtil.capitalize(attr.getAssociationClass().getName())%>(<%=attr.getAssociationClass().getQualifiedName()%> value) throws TopiaException{ + public List<<%=clazzFQN%>> findAll<%=clazzName%>By<%=StringUtils.capitalize(attr.getAssociationClass().getName())%>(<%=attr.getAssociationClass().getQualifiedName()%> value) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); - List<<%=clazzName%>> entityList = dao.findAllBy<%=TopiaGeneratorUtil.capitalize(attr.getName())%>(v); + List<<%=clazzName%>> entityList = dao.findAllBy<%=StringUtils.capitalize(attr.getName())%>(v); return entityList; }; }*/ @@ -371,7 +367,7 @@ * @param v la valeur que doit contenir <%=attr.getName()%> * @return un element ou null *) - public <%=clazzFQN%> find<%=clazzName%>Contains<%=TopiaGeneratorUtil.capitalize(attr.getName())%>(<%=attr.getType()%> ... v) throws TopiaException{ + public <%=clazzFQN%> find<%=clazzName%>Contains<%=StringUtils.capitalize(attr.getName())%>(<%=attr.getType()%> ... v) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>) dao.findContainsProperties("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>", Arrays.asList(v)); @@ -384,7 +380,7 @@ * @param v la valeur que doit contenir <%=attr.getName()%> * @return une liste *) - public List<<%=clazzFQN%>> findAll<%=clazzName%>Contains<%=TopiaGeneratorUtil.capitalize(attr.getName())%>(<%=attr.getType()%> ... v) throws TopiaException{ + public List<<%=clazzFQN%>> findAll<%=clazzName%>Contains<%=StringUtils.capitalize(attr.getName())%>(<%=attr.getType()%> ... v) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); List<<%=clazzName%>> entityList = dao.findAllContainsProperties("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>", Arrays.asList(v)); @@ -434,11 +430,11 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%> La valeur de l'attribut <%=attr.getName()%> � positionner. *) - public void set<%=GeneratorUtil.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=attr.getType()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ + public void set<%=StringUtils.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=attr.getType()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.set<%=GeneratorUtil.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); + entity.set<%=StringUtils.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); usedContextImpl.commitTransaction(); } @@ -451,11 +447,11 @@ } /*{ * @return La valeur de l'attribut <%=attr.getName()%>. *) - public <%=attr.getType()%> get<%=GeneratorUtil.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId) throws TopiaException{ + public <%=attr.getType()%> get<%=StringUtils.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - return entity.get<%=GeneratorUtil.capitalize(attr.getName())%>(); + return entity.get<%=StringUtils.capitalize(attr.getName())%>(); } }*/ @@ -465,21 +461,21 @@ /*{ /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%> La valeur de l'attribut <%=attr.getAssociationClass().getName()%> � positionner. *) - public void set<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attr.getAssociationClass().getQualifiedName()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ + public void set<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attr.getAssociationClass().getQualifiedName()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); + entity.set<%=StringUtils.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); } /** * @return La valeur de l'attribut <%=attr.getAssociationClass().getName()%>. *) - public <%=attr.getAssociationClass().getQualifiedName()%> get<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ + public <%=attr.getAssociationClass().getQualifiedName()%> get<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - return entity.get<%=GeneratorUtil.capitalize(assocAttrName)%>(); + return entity.get<%=StringUtils.capitalize(assocAttrName)%>(); } }*/ @@ -494,11 +490,11 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%> L'instance de <%=attr.getName()%> � ajouter. *) - public void add<%=GeneratorUtil.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=attr.getType()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ + public void add<%=StringUtils.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=attr.getType()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.add<%=GeneratorUtil.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); + entity.add<%=StringUtils.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); } /** @@ -509,11 +505,11 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%> Les instances de <%=attr.getName()%> � ajouter. *) - public void addAll<%=GeneratorUtil.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getType()%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ + public void addAll<%=StringUtils.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getType()%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.addAll<%=GeneratorUtil.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); + entity.addAll<%=StringUtils.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); } /** @@ -524,11 +520,11 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%> La Collection de <%=attr.getName()%> � positionner. *) - public void set<%=GeneratorUtil.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getType()%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ + public void set<%=StringUtils.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getType()%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.set<%=GeneratorUtil.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); + entity.set<%=StringUtils.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); } /** @@ -539,11 +535,11 @@ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%> L'instance de <%=attr.getName()%> � retirer. *) - public void remove<%=GeneratorUtil.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=attr.getType()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ + public void remove<%=StringUtils.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId, <%=attr.getType()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.remove<%=GeneratorUtil.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); + entity.remove<%=StringUtils.capitalize(attr.getName())%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getName())%>); } /** @@ -554,11 +550,11 @@ } /*{ * Vide la Collection de <%=attr.getName()%>. *) - public void clear<%=GeneratorUtil.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId) throws TopiaException{ + public void clear<%=StringUtils.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.clear<%=GeneratorUtil.capitalize(attr.getName())%>(); + entity.clear<%=StringUtils.capitalize(attr.getName())%>(); } }*/ @@ -568,51 +564,51 @@ /*{ /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%> L'instance de <%=attr.getAssociationClass().getName()%> � ajouter. *) - public void add<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attr.getAssociationClass().getQualifiedName()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ + public void add<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attr.getAssociationClass().getQualifiedName()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.add<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); + entity.add<%=StringUtils.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); } /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%> Les instances de <%=attr.getAssociationClass().getName()%> � ajouter. *) - public void addAll<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ + public void addAll<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.addAll<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); + entity.addAll<%=StringUtils.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); } /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%> La Collection de <%=attr.getAssociationClass().getName()%> � positionner. *) - public void set<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ + public void set<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.set<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); + entity.set<%=StringUtils.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); } /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%> L'instance de <%=attr.getAssociationClass().getName()%> � retirer. *) - public void remove<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attr.getAssociationClass().getQualifiedName()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ + public void remove<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attr.getAssociationClass().getQualifiedName()%> <%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.remove<%=GeneratorUtil.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); + entity.remove<%=StringUtils.capitalize(assocAttrName)%>(<%=GeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName())%>); } /** * Vide la Collection de <%=attr.getAssociationClass().getName()%>. *) - public void clear<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ + public void clear<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.clear<%=GeneratorUtil.capitalize(assocAttrName)%>(); + entity.clear<%=StringUtils.capitalize(assocAttrName)%>(); } }*/ @@ -627,21 +623,21 @@ } /*{ * @return La Liste de <%=attr.getName()%>. *) - public <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getType()%>> get<%=GeneratorUtil.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId) throws TopiaException{ + public <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getType()%>> get<%=StringUtils.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - return entity.get<%=GeneratorUtil.capitalize(attr.getName())%>(); + return entity.get<%=StringUtils.capitalize(attr.getName())%>(); } /** * @return Le nombre d'�l�ments de la collection <%=attr.getName()%>. *) - public int size<%=GeneratorUtil.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId) throws TopiaException{ + public int size<%=StringUtils.capitalize(attr.getName())%>Of<%=clazzName%>(String topiaId) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - return entity.size<%=GeneratorUtil.capitalize(attr.getName())%>(); + return entity.size<%=StringUtils.capitalize(attr.getName())%>(); } }*/ @@ -651,31 +647,31 @@ /*{ /** * @return La liste des attributs <%=attr.getAssociationClass().getName()%>. *) - public <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>> get<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ + public <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attr.getAssociationClass().getQualifiedName()%>> get<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - return entity.get<%=GeneratorUtil.capitalize(assocAttrName)%>(); + return entity.get<%=StringUtils.capitalize(assocAttrName)%>(); } /** * @return L'attribut <%=attr.getAssociationClass().getName()%> associ� � la valeur <code>value</code> de l'attribut <%=attr.getName()%>. *) - public <%=attr.getAssociationClass().getQualifiedName()%> get<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attr.getType()%> value) throws TopiaException{ + public <%=attr.getAssociationClass().getQualifiedName()%> get<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attr.getType()%> value) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - return entity.get<%=GeneratorUtil.capitalize(assocAttrName)%>((<%=attr.getType()%>) value); + return entity.get<%=StringUtils.capitalize(assocAttrName)%>((<%=attr.getType()%>) value); } /** * @return Le nombre d'�l�ments de la collection <%=attr.getName()%>. *) - public int size<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ + public int size<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - return entity.size<%=GeneratorUtil.capitalize(assocAttrName)%>(); + return entity.size<%=StringUtils.capitalize(assocAttrName)%>(); } }*/ @@ -772,21 +768,21 @@ /*{ /** * @param value La valeur de l'attribut <%=name%> à positionner. *) - public void set<%=GeneratorUtil.capitalize(name)%>Of<%=clazzName%>(String topiaId, <%=type%> value) throws TopiaException{ + public void set<%=StringUtils.capitalize(name)%>Of<%=clazzName%>(String topiaId, <%=type%> value) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - entity.set<%=GeneratorUtil.capitalize(name)%>( value); + entity.set<%=StringUtils.capitalize(name)%>( value); } /** * @return La valeur de l'attribut <%=name%>. *) - public <%=type%> get<%=GeneratorUtil.capitalize(name)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ + public <%=type%> get<%=StringUtils.capitalize(name)%>Of<%=clazzName%>(String topiaId) throws TopiaException{ TopiaContextImplementor usedContextImpl = (TopiaContextImplementor) topiaContext; <%=clazzName%>DAOAbstract dao = (<%=clazzName%>DAOAbstract)usedContextImpl.getDAO(<%=clazzName%>.class); <%=clazzName%> entity = (<%=clazzName%>)dao.findByTopiaId(topiaId); - return entity.get<%=GeneratorUtil.capitalize(name)%>(); + return entity.get<%=StringUtils.capitalize(name)%>(); } }*/ Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceAbstractGenerator.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceImplGenerator.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceImplGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceImplGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.generator; @@ -24,7 +26,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelClassifier; @@ -60,14 +61,6 @@ private static final Log log = LogFactory .getLog(ServiceImplGenerator.class); - public ServiceImplGenerator() { - super(); - } - - public ServiceImplGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForInterface(ObjectModelInterface interfacez) { return interfacez.getQualifiedName().replace('.', File.separatorChar) + "Impl.java"; Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceImplGenerator.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceInterfaceGenerator.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceInterfaceGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceInterfaceGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,10 +14,12 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.generator; +import org.apache.commons.lang.StringUtils; import static org.nuiton.topia.generator.TopiaGeneratorUtil.hasUnidirectionalRelationOnAbstractType; import java.io.File; @@ -30,7 +33,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.Generator; import org.nuiton.eugene.GeneratorUtil; import org.nuiton.eugene.ObjectModelGenerator; import org.nuiton.eugene.models.object.ObjectModelAssociationClass; @@ -81,14 +83,6 @@ // methodes du service <signature methode> private List<String> methods = null; - public ServiceInterfaceGenerator() { - super(); - } - - public ServiceInterfaceGenerator(Generator parent) { - super(parent); - } - @Override public String getFilenameForInterface(ObjectModelInterface interfacez) { return interfacez.getQualifiedName().replace('.', File.separatorChar) + ".java"; @@ -440,26 +434,26 @@ /*{ /** }*/ if (TopiaGeneratorUtil.hasDocumentation(attr)) { - methods.add("void set"+GeneratorUtil.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+attrType+ " "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")"); + methods.add("void set"+StringUtils.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+attrType+ " "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")"); /*{ * <%=attrName%> : <%=attr.getDocumentation()%> }*/ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> La valeur de l'attribut <%=attrName%> à positionner. *) - public abstract void set<%=GeneratorUtil.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; + public abstract void set<%=StringUtils.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; }*/ /*{ /** }*/ if (TopiaGeneratorUtil.hasDocumentation(attr)) { - methods.add(attrType+" get"+GeneratorUtil.capitalize(attrName)+"Of"+clazzName+"(String topiaId)"); + methods.add(attrType+" get"+StringUtils.capitalize(attrName)+"Of"+clazzName+"(String topiaId)"); /*{ * <%=attrName%> : <%=attr.getDocumentation()%> }*/ } /*{ * @return La valeur de l'attribut <%=attrName%>. *) - public abstract <%=attrType%> get<%=GeneratorUtil.capitalize(attrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; + public abstract <%=attrType%> get<%=StringUtils.capitalize(attrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; }*/ } else { @@ -467,17 +461,17 @@ String assocClassName = attr.getAssociationClass().getName(); String assocClassFQN = attr.getAssociationClass().getQualifiedName(); if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } - methods.add("void set"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+assocClassName+" "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); - methods.add(assocClassName+" get"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId)"); + methods.add("void set"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+assocClassName+" "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); + methods.add(assocClassName+" get"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId)"); /*{ /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> La valeur de l'attribut <%=assocClassName%> à positionner. *) - public abstract void set<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; + public abstract void set<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; /** * @return La valeur de l'attribut <%=assocClassName%>. *) - public abstract <%=assocClassFQN%> get<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; + public abstract <%=assocClassFQN%> get<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; }*/ } @@ -486,58 +480,58 @@ /*{ /** }*/ if (TopiaGeneratorUtil.hasDocumentation(attr)) { - methods.add("void add"+GeneratorUtil.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+attrType+" "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")"); + methods.add("void add"+StringUtils.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+attrType+" "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")"); /*{ * <%=attrName%> : <%=attr.getDocumentation()%> }*/ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> L'instance de <%=attrName%> à ajouter. *) - public abstract void add<%=GeneratorUtil.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; + public abstract void add<%=StringUtils.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; /** }*/ if (TopiaGeneratorUtil.hasDocumentation(attr)) { - methods.add("void addAll"+GeneratorUtil.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+(attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+attrType+"> "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")");; + methods.add("void addAll"+StringUtils.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+(attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+attrType+"> "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")");; /*{ * <%=attrName%> : <%=attr.getDocumentation()%> }*/ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> Les instances de <%=attrName%> à ajouter. *) - public abstract void addAll<%=GeneratorUtil.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attrType%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; + public abstract void addAll<%=StringUtils.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attrType%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; /** }*/ if (TopiaGeneratorUtil.hasDocumentation(attr)) { - methods.add("void set"+GeneratorUtil.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+ (attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+attrType+"> "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")"); + methods.add("void set"+StringUtils.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+ (attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+attrType+"> "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")"); /*{ * <%=attrName%> : <%=attr.getDocumentation()%> }*/ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> La Collection de <%=attrName%> à positionner. *) - public abstract void set<%=GeneratorUtil.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attrType%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; + public abstract void set<%=StringUtils.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attrType%>> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; /** }*/ if (TopiaGeneratorUtil.hasDocumentation(attr)) { - methods.add("void remove"+GeneratorUtil.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+attrType+ " "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")"); + methods.add("void remove"+StringUtils.capitalize(attrName)+"Of"+clazzName+"(String topiaId, "+attrType+ " "+GeneratorUtil.toLowerCaseFirstLetter(attrName)+")"); /*{ * <%=attrName%> : <%=attr.getDocumentation()%> }*/ } /*{ * @param <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%> L'instance de <%=attrName%> à retirer. *) - public abstract void remove<%=GeneratorUtil.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; + public abstract void remove<%=StringUtils.capitalize(attrName)%>Of<%=clazzName%>(String topiaId, <%=attrType%> <%=GeneratorUtil.toLowerCaseFirstLetter(attrName)%>) throws TopiaException; /** }*/ if (TopiaGeneratorUtil.hasDocumentation(attr)) { - methods.add("void clear"+GeneratorUtil.capitalize(attrName)+"Of"+clazzName+"(String topiaId)"); + methods.add("void clear"+StringUtils.capitalize(attrName)+"Of"+clazzName+"(String topiaId)"); /*{ * <%=attrName%> : <%=attr.getDocumentation()%> }*/ } /*{ * Vide la Collection de <%=attrName%>. *) - public abstract void clear<%=GeneratorUtil.capitalize(attrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; + public abstract void clear<%=StringUtils.capitalize(attrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; }*/ } else { @@ -545,35 +539,35 @@ String assocClassFQN = attr.getAssociationClass().getQualifiedName(); String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr); if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } - methods.add("void add"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+assocClassName+" "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); - methods.add("void addAll"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+(attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+assocClassName+"> "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); - methods.add("void set"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+(attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+assocClassName+"> "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); - methods.add("void remove"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+assocClassName+" "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); - methods.add("void clear"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId)"); + methods.add("void add"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+assocClassName+" "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); + methods.add("void addAll"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+(attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+assocClassName+"> "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); + methods.add("void set"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+(attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+assocClassName+"> "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); + methods.add("void remove"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+assocClassName+" "+GeneratorUtil.toLowerCaseFirstLetter(assocClassName)+")"); + methods.add("void clear"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId)"); /*{ /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> L'instance de <%=assocClassName%> à ajouter. *) - public abstract void add<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; + public abstract void add<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> Les instances de <%=assocClassName%> à ajouter. *) - public abstract void addAll<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"List":"Collection")%><<%=assocClassFQN%>> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; + public abstract void addAll<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"List":"Collection")%><<%=assocClassFQN%>> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> La Collection de <%=assocClassName%> à positionner. *) - public abstract void set<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"List":"Collection")%><<%=assocClassFQN%>> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; + public abstract void set<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=(attr.isOrdered()?"List":"Collection")%><<%=assocClassFQN%>> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; /** * @param <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%> L'instance de <%=assocClassName%> à retirer. *) - public abstract void remove<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; + public abstract void remove<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=assocClassFQN%> <%=GeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>) throws TopiaException; /** * Vide la Collection de <%=assocClassName%>. *) - public abstract void clear<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; + public abstract void clear<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; }*/ } @@ -582,20 +576,20 @@ /*{ /** }*/ if (TopiaGeneratorUtil.hasDocumentation(attr)) { - methods.add((attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+attrType+"> get"+GeneratorUtil.capitalize(attrName)+"Of"+clazzName+"(String topiaId)"); - methods.add("int size"+GeneratorUtil.capitalize(attrName)+"Of"+clazzName+"(String topiaId)"); + methods.add((attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+attrType+"> get"+StringUtils.capitalize(attrName)+"Of"+clazzName+"(String topiaId)"); + methods.add("int size"+StringUtils.capitalize(attrName)+"Of"+clazzName+"(String topiaId)"); /*{ * <%=attrName%> : <%=attr.getDocumentation()%> }*/ } /*{ * @return La Liste de <%=attrName%>. *) - public abstract <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attrType%>> get<%=GeneratorUtil.capitalize(attrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; + public abstract <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=attrType%>> get<%=StringUtils.capitalize(attrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; /** * @return Le nombre d'éléments de la collection <%=attrName%>. *) - public abstract int size<%=GeneratorUtil.capitalize(attrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; + public abstract int size<%=StringUtils.capitalize(attrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; }*/ } else { @@ -603,23 +597,23 @@ String assocClassFQN = attr.getAssociationClass().getQualifiedName(); String assocClassName = attr.getAssociationClass().getName(); if (log.isTraceEnabled()) { log.trace("assocAttrName: " + assocAttrName); } - methods.add((attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+assocClassName+"> get"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"Of"+clazzName+"(String topiaId)"); - methods.add(assocClassName+" get"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+attrType+" value)"); - methods.add("int size"+GeneratorUtil.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId)"); + methods.add((attr.isOrdered()?"java.util.List":"java.util.Collection")+"<"+assocClassName+"> get"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"Of"+clazzName+"(String topiaId)"); + methods.add(assocClassName+" get"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId, "+attrType+" value)"); + methods.add("int size"+StringUtils.capitalize(assocAttrName)+"Of"+clazzName+"(String topiaId)"); /*{ /** * @return La liste des attributs <%=assocClassName%>. *) - public abstract <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=assocClassFQN%>> get<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; + public abstract <%=(attr.isOrdered()?"java.util.List":"java.util.Collection")%><<%=assocClassFQN%>> get<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; /** * @return L'attribut <%=assocClassName%> associé à la valeur <code>value</code> de l'attribut <%=attrName%>. *) - public abstract <%=assocClassFQN%> get<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attrType%> value) throws TopiaException; + public abstract <%=assocClassFQN%> get<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId, <%=attrType%> value) throws TopiaException; /** * @return Le nombre d'éléments de la collection <%=attrName%>. *) - public abstract int size<%=GeneratorUtil.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; + public abstract int size<%=StringUtils.capitalize(assocAttrName)%>Of<%=clazzName%>(String topiaId) throws TopiaException; }*/ } @@ -696,17 +690,17 @@ private void generateAssociationAccessors(Writer output, ObjectModelClass clazz, String name, String type) throws IOException { String clazzName = clazz.getName(); - methods.add("=> "+"void set"+GeneratorUtil.capitalize(name)+"Of"+clazzName+"(String topiaId, "+type+" value)"); - methods.add("=> "+type+" get"+GeneratorUtil.capitalize(name)+"Of"+clazzName+"(String topiaId)"); + methods.add("=> "+"void set"+StringUtils.capitalize(name)+"Of"+clazzName+"(String topiaId, "+type+" value)"); + methods.add("=> "+type+" get"+ StringUtils.capitalize(name)+"Of"+clazzName+"(String topiaId)"); /*{ /** * @param value La valeur de l'attribut <%=name%> à positionner. *) - public abstract void set<%=GeneratorUtil.capitalize(name)%>Of<%=clazzName%>(String topiaId, <%=type%> value) throws TopiaException; + public abstract void set<%=StringUtils.capitalize(name)%>Of<%=clazzName%>(String topiaId, <%=type%> value) throws TopiaException; /** * @return La valeur de l'attribut <%=name%>. *) - public abstract <%=type%> get<%=GeneratorUtil.capitalize(name)%>Of<%=clazzName%>(String topiaId) throws TopiaException; + public abstract <%=type%> get<%=StringUtils.capitalize(name)%>Of<%=clazzName%>(String topiaId) throws TopiaException; }*/ } Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/generator/ServiceInterfaceGenerator.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/generator/TopiaApplicationServiceMetaGenerator.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/generator/TopiaApplicationServiceMetaGenerator.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/generator/TopiaApplicationServiceMetaGenerator.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.generator; @@ -34,7 +36,7 @@ private static final Log log = LogFactory.getLog(TopiaApplicationServiceMetaGenerator.class); @Override - public void generate(ObjectModel model, File destDir) throws IOException { + public void applyTemplate(ObjectModel model, File destDir) throws IOException { generateApplicationService(model, destDir); @@ -56,22 +58,25 @@ if(log.isDebugEnabled()) { log.debug("Generating Service Interface"); } - gen = new ServiceInterfaceGenerator(this); - gen.generate(model, destDir); + gen = new ServiceInterfaceGenerator(); + gen.setParent(this); + gen.applyTemplate(model, destDir); // Genere les abstract des services if(log.isDebugEnabled()) { log.debug("Generating Service Abstract"); } - gen = new ServiceAbstractGenerator(this); - gen.generate(model, destDir); + gen = new ServiceAbstractGenerator(); + gen.setParent(this); + gen.applyTemplate(model, destDir); // Genere les impl des services if(log.isDebugEnabled()) { log.debug("Generating Service Impl"); } - gen = new ServiceImplGenerator(this); - gen.generate(model, destDir); + gen = new ServiceImplGenerator(); + gen.setParent(this); + gen.applyTemplate(model, destDir); } } //TopiaApplicationServiceMetaGenerator Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/Protocol.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/Protocol.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/Protocol.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/Protocol.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationService.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationService.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceAbstract.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceAbstract.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceAbstract.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceAbstract.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceFactory.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceFactory.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceFactory.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ /** * Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaApplicationServiceFactory.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaProxy.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaProxy.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaProxy.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaProxy.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceProvider.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceProvider.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceProvider.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceProvider.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServer.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServer.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServer.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServerAbstract.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServerAbstract.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServerAbstract.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/TopiaServiceServerAbstract.java ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/RMIProxy.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/RMIProxy.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/RMIProxy.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service.clients; Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/SOAPProxy.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/SOAPProxy.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/SOAPProxy.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service.clients; Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/XMLRPCProxy.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/XMLRPCProxy.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/clients/XMLRPCProxy.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service.clients; Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/package.html ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/RMIServer.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/RMIServer.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/RMIServer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service.servers; Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/RemoteClassLoader.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/RemoteClassLoader.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/RemoteClassLoader.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service.servers; Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/SOAPServer.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/SOAPServer.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/SOAPServer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service.servers; Modified: trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/XMLRPCServer.java =================================================================== --- trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/XMLRPCServer.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/main/java/org/nuiton/topia/service/servers/XMLRPCServer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service.servers; Property changes on: trunk/topia-soa/src/site/rst/ApplicationServiceGeneration.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-soa/src/site/rst/ApplicationServiceUsing.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-soa/src/site/rst/index.rst ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/site/site_fr.xml =================================================================== --- trunk/topia-soa/src/site/site_fr.xml 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/site/site_fr.xml 2009-12-15 00:26:16 UTC (rev 1715) @@ -9,7 +9,7 @@ <body> <breadcrumbs> - <item name="${project.name}" href="${project.url}" /> + <item name="${project.name}" href="index.html" /> </breadcrumbs> <menu ref="parent"/> Property changes on: trunk/topia-soa/src/test/java/org/nuiton/topia/service ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleService.java =================================================================== --- trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleService.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleService.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleService.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceImpl.java =================================================================== --- trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceImpl.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceImpl.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceImpl.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceServer.java =================================================================== --- trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceServer.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceServer.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceServer.java ___________________________________________________________________ Deleted: svn:mergeinfo - Modified: trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceTest.java =================================================================== --- trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceTest.java 2009-12-15 00:13:09 UTC (rev 1714) +++ trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceTest.java 2009-12-15 00:26:16 UTC (rev 1715) @@ -1,4 +1,5 @@ -/* *##% ToPIA - SOA +/* *##% + * ToPIA :: SOA * Copyright (C) 2004 - 2009 CodeLutin * * This program is free software: you can redistribute it and/or modify @@ -13,7 +14,8 @@ * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see - * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/ + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * ##%*/ package org.nuiton.topia.service; Property changes on: trunk/topia-soa/src/test/java/org/nuiton/topia/service/ExampleServiceTest.java ___________________________________________________________________ Deleted: svn:mergeinfo - Property changes on: trunk/topia-soa/src/test/resources/TopiaApplicationServices.properties ___________________________________________________________________ Deleted: svn:mergeinfo -
participants (1)
-
tchemit@users.nuiton.org