r1199 - in trunk: . eugene eugene/src/main/java/org/nuiton/eugene eugene/src/main/java/org/nuiton/eugene/java eugene/src/test/java/org/nuiton/eugene eugene-java-templates eugene-java-templates/src/main/java/org/nuiton/eugene/java eugene-java-templates/src/main/resources eugene-java-templates/src/main/resources/META-INF eugene-java-templates/src/main/resources/META-INF/services eugene-java-templates/src/test/java/org/nuiton/eugene/java eugene-maven-plugin
Author: tchemit Date: 2012-11-06 10:14:01 +0100 (Tue, 06 Nov 2012) New Revision: 1199 Url: http://nuiton.org/repositories/revision/eugene/1199 Log: fixes #2393: Move java templates tag-values and stereotypes to his module move to version 2.5.6-SNAPSHOT Added: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesGeneratorUtil.java trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProvider.java trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesStereoTypes.java trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java trunk/eugene-java-templates/src/main/resources/META-INF/ trunk/eugene-java-templates/src/main/resources/META-INF/services/ trunk/eugene-java-templates/src/main/resources/META-INF/services/org.nuiton.eugene.ModelPropertiesUtil$ModelPropertiesProvider trunk/eugene-java-templates/src/test/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProviderTest.java Modified: trunk/eugene-java-templates/pom.xml trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaBeanTransformer.java trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaEnumerationTransformer.java trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaInterfaceTransformer.java trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/package-info.java trunk/eugene-maven-plugin/pom.xml trunk/eugene/pom.xml trunk/eugene/src/main/java/org/nuiton/eugene/EugeneStereoTypes.java trunk/eugene/src/main/java/org/nuiton/eugene/EugeneTagValues.java trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java trunk/eugene/src/test/java/org/nuiton/eugene/EugeneModelPropertiesProviderTest.java trunk/pom.xml Modified: trunk/eugene/pom.xml =================================================================== --- trunk/eugene/pom.xml 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene/pom.xml 2012-11-06 09:14:01 UTC (rev 1199) @@ -32,7 +32,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>eugene</artifactId> - <version>2.5.5.1-SNAPSHOT</version> + <version>2.5.6-SNAPSHOT</version> </parent> <groupId>org.nuiton.eugene</groupId> Modified: trunk/eugene/src/main/java/org/nuiton/eugene/EugeneStereoTypes.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/EugeneStereoTypes.java 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene/src/main/java/org/nuiton/eugene/EugeneStereoTypes.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -42,15 +42,6 @@ public interface EugeneStereoTypes { /** - * Stereotype for JavaBean objects to place on a classifier. - * - * @see JavaGeneratorUtil#hasBeanStereotype(ObjectModelClassifier) - */ - @StereotypeDefinition(target = ObjectModelClassifier.class, - documentation = "To specify that a class is a JavaBean") - String STEREOTYPE_BEAN = "bean"; - - /** * Stéréotype pour les attributs à indexer en base. * * @see GeneratorUtil#hasIndexedStereotype(ObjectModelAttribute) Modified: trunk/eugene/src/main/java/org/nuiton/eugene/EugeneTagValues.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/EugeneTagValues.java 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene/src/main/java/org/nuiton/eugene/EugeneTagValues.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -86,18 +86,6 @@ String TAG_CONSTANT_PREFIX = "constantPrefix"; /** - * Tag value to set if do not want any pcs (says PropertyChangeSupport in a generated bean). - * <p/> - * You can globaly use it on the complete model or to a specific classifier. - * - * @see JavaGeneratorUtil#getNoPCSTagValue(ObjectModel, ObjectModelClassifier) - * @since 2.3 - */ - @TagValueDefinition(target = {ObjectModel.class, ObjectModelClassifier.class}, - documentation = "To specify to not generate any propertyChange code for a class or any class of a model") - String TAG_NO_PCS = "noPCS"; - - /** * Tag value to specify the i18n prefix to use whene generating i18n keys. * <p/> * You can globaly use it on the complete model or to a specific classifier. Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -121,18 +121,6 @@ /** * Check if the given classifier has the - * {@link EugeneStereoTypes#STEREOTYPE_BEAN} stereotype. - * - * @param classifier classifier to test - * @return {@code true} if stereotype was found, {@code false otherwise} - * @see EugeneStereoTypes#STEREOTYPE_BEAN - */ - public static boolean hasBeanStereotype(ObjectModelClassifier classifier) { - return classifier.hasStereotype(EugeneStereoTypes.STEREOTYPE_BEAN); - } - - /** - * Check if the given classifier has the * {@link EugeneStereoTypes#STEREOTYPE_SKIP} stereotype. * * @param classifier classifier to test @@ -177,23 +165,6 @@ } /** - * Obtain the value of the {@link EugeneTagValues#TAG_NO_PCS} - * tag value on the given model or classifier. - * <p/> - * It will first look on the model, and then in the given classifier. - * - * @param model model to seek - * @param classifier classifier to seek - * @return the none empty value of the found tag value or {@code null} if not found nor empty. - * @see EugeneTagValues#TAG_NO_PCS - * @since 2.3 - */ - public static String getNoPCSTagValue(ObjectModel model, ObjectModelClassifier classifier) { - String value = findTagValue(EugeneTagValues.TAG_NO_PCS, classifier, model); - return value; - } - - /** * Obtain the value of the {@link EugeneTagValues#TAG_CONSTANT_PREFIX} * tag value on the given model or classifier. * <p/> Modified: trunk/eugene/src/test/java/org/nuiton/eugene/EugeneModelPropertiesProviderTest.java =================================================================== --- trunk/eugene/src/test/java/org/nuiton/eugene/EugeneModelPropertiesProviderTest.java 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene/src/test/java/org/nuiton/eugene/EugeneModelPropertiesProviderTest.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -55,7 +55,6 @@ public void getTagValueTarget() throws Exception { getTagValueTarget(EugeneTagValues.TAG_CONSTANT_PREFIX, ObjectModel.class, ObjectModelClassifier.class); getTagValueTarget(EugeneTagValues.TAG_I18N_PREFIX, ObjectModel.class, ObjectModelClassifier.class); - getTagValueTarget(EugeneTagValues.TAG_NO_PCS, ObjectModel.class, ObjectModelClassifier.class); getTagValueTarget(EugeneTagValues.TAG_VERSION, ObjectModel.class); } @@ -63,13 +62,11 @@ public void containsTagValue() throws Exception { containsTagValue(EugeneTagValues.TAG_CONSTANT_PREFIX, true); containsTagValue(EugeneTagValues.TAG_I18N_PREFIX, true); - containsTagValue(EugeneTagValues.TAG_NO_PCS, true); containsTagValue(EugeneTagValues.TAG_VERSION, true); long l = System.nanoTime(); containsTagValue(EugeneTagValues.TAG_CONSTANT_PREFIX + l, false); containsTagValue(EugeneTagValues.TAG_I18N_PREFIX + l, false); - containsTagValue(EugeneTagValues.TAG_NO_PCS + l, false); containsTagValue(EugeneTagValues.TAG_VERSION + l, false); } @@ -77,49 +74,40 @@ public void acceptTagValue() throws Exception { acceptTagValue(EugeneTagValues.TAG_CONSTANT_PREFIX, true, ObjectModel.class, ObjectModelClassifier.class, ObjectModelClass.class, ObjectModelEnumeration.class); acceptTagValue(EugeneTagValues.TAG_I18N_PREFIX, true, ObjectModel.class, ObjectModelClassifier.class, ObjectModelClass.class, ObjectModelEnumeration.class); - acceptTagValue(EugeneTagValues.TAG_NO_PCS, true, ObjectModel.class, ObjectModelClassifier.class, ObjectModelClass.class, ObjectModelEnumeration.class); acceptTagValue(EugeneTagValues.TAG_VERSION, true, ObjectModel.class); acceptTagValue(EugeneTagValues.TAG_CONSTANT_PREFIX, false, ObjectModelOperation.class, ObjectModelAttribute.class); acceptTagValue(EugeneTagValues.TAG_I18N_PREFIX, false, ObjectModelOperation.class, ObjectModelAttribute.class); - acceptTagValue(EugeneTagValues.TAG_NO_PCS, false, ObjectModelOperation.class, ObjectModelAttribute.class); acceptTagValue(EugeneTagValues.TAG_VERSION, false, ObjectModelClassifier.class, ObjectModelOperation.class, ObjectModelAttribute.class); long l = System.nanoTime(); acceptTagValue(EugeneTagValues.TAG_CONSTANT_PREFIX + l, false, ObjectModelOperation.class, ObjectModelAttribute.class); acceptTagValue(EugeneTagValues.TAG_I18N_PREFIX + l, false, ObjectModelOperation.class, ObjectModelAttribute.class); - acceptTagValue(EugeneTagValues.TAG_NO_PCS + l, false, ObjectModelOperation.class, ObjectModelAttribute.class); acceptTagValue(EugeneTagValues.TAG_VERSION + l, false, ObjectModelClassifier.class, ObjectModelOperation.class, ObjectModelAttribute.class); } @Test public void getStereotypeTarget() throws Exception { - getStereotypeTarget(EugeneStereoTypes.STEREOTYPE_BEAN, ObjectModelClassifier.class); getStereotypeTarget(EugeneStereoTypes.STEREOTYPE_INDEXED, ObjectModelAttribute.class); } @Test public void containsStereotype() throws Exception { containsStereotype(EugeneStereoTypes.STEREOTYPE_INDEXED, true); - containsStereotype(EugeneStereoTypes.STEREOTYPE_BEAN, true); long l = System.nanoTime(); containsStereotype(EugeneStereoTypes.STEREOTYPE_INDEXED + l, false); - containsStereotype(EugeneStereoTypes.STEREOTYPE_BEAN + l, false); } @Test public void acceptStereotype() throws Exception { - acceptStereotype(EugeneStereoTypes.STEREOTYPE_BEAN, true, ObjectModelClassifier.class, ObjectModelClass.class, ObjectModelEnumeration.class, ObjectModelInterface.class); acceptStereotype(EugeneStereoTypes.STEREOTYPE_INDEXED, true, ObjectModelAttribute.class); - acceptStereotype(EugeneStereoTypes.STEREOTYPE_BEAN, false, ObjectModel.class, ObjectModelOperation.class); acceptStereotype(EugeneStereoTypes.STEREOTYPE_INDEXED, false, ObjectModel.class, ObjectModelOperation.class, ObjectModelClassifier.class, ObjectModelClass.class, ObjectModelEnumeration.class, ObjectModelInterface.class); long l = System.nanoTime(); - acceptStereotype(EugeneStereoTypes.STEREOTYPE_BEAN + l, false, ObjectModel.class, ObjectModelOperation.class); acceptStereotype(EugeneStereoTypes.STEREOTYPE_INDEXED + l, false, ObjectModel.class, ObjectModelOperation.class, ObjectModelClassifier.class, ObjectModelClass.class, ObjectModelEnumeration.class, ObjectModelInterface.class); } Modified: trunk/eugene-java-templates/pom.xml =================================================================== --- trunk/eugene-java-templates/pom.xml 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene-java-templates/pom.xml 2012-11-06 09:14:01 UTC (rev 1199) @@ -29,7 +29,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>eugene</artifactId> - <version>2.5.5.1-SNAPSHOT</version> + <version>2.5.6-SNAPSHOT</version> </parent> <groupId>org.nuiton.eugene</groupId> Modified: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaBeanTransformer.java =================================================================== --- trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaBeanTransformer.java 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaBeanTransformer.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -28,7 +28,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.EugeneTagValues; import org.nuiton.eugene.models.object.ObjectModelAttribute; import org.nuiton.eugene.models.object.ObjectModelClass; import org.nuiton.eugene.models.object.ObjectModelInterface; @@ -54,8 +53,8 @@ * * Since version 2.2.1, it is possible to * <ul> - * <li>generate a simple POJO (says with no PCS support) by using the tag value {@link EugeneTagValues#TAG_NO_PCS}.</li> - * <li>generate i18n keys using the tag value {@link EugeneTagValues#TAG_I18N_PREFIX}.</li> + * <li>generate a simple POJO (says with no PCS support) by using the tag value {@link JavaTemplatesTagValues#TAG_NO_PCS}.</li> + * <li>generate i18n keys using the tag value {@link JavaTemplatesTagValues#TAG_I18N_PREFIX}.</li> * </ul> * * @author tchemit <chemit@codelutin.com> @@ -71,7 +70,7 @@ @Override public void transformFromClass(ObjectModelClass input) { - if (!JavaGeneratorUtil.hasBeanStereotype(input)) { + if (!JavaTemplatesGeneratorUtil.hasBeanStereotype(input)) { // not a bean return; @@ -93,7 +92,7 @@ Collection<ObjectModelClass> superclasses = input.getSuperclasses(); if(CollectionUtils.isNotEmpty(superclasses)) { for (ObjectModelClass superclass : superclasses) { - if (JavaGeneratorUtil.hasBeanStereotype(superclass)) { + if (JavaTemplatesGeneratorUtil.hasBeanStereotype(superclass)) { superClassIsBean = true; break; } @@ -112,7 +111,7 @@ generateI18nBlock(input, output, i18nPrefix); } - String noPCSTagValue = JavaGeneratorUtil.getNoPCSTagValue(model, input); + String noPCSTagValue = JavaTemplatesGeneratorUtil.getNoPCSTagValue(model, input); boolean usePCS = StringUtils.isEmpty(noPCSTagValue) || !"true".equals(noPCSTagValue.trim()); Modified: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaEnumerationTransformer.java =================================================================== --- trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaEnumerationTransformer.java 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaEnumerationTransformer.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -72,7 +72,7 @@ } protected boolean canGenerate(ObjectModelEnumeration input) { - boolean b = !JavaGeneratorUtil.hasSkipStereotype(input); + boolean b = !JavaTemplatesGeneratorUtil.hasSkipStereotype(input); if (b) { // check if not found in class-path Modified: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaInterfaceTransformer.java =================================================================== --- trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaInterfaceTransformer.java 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaInterfaceTransformer.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -116,7 +116,7 @@ // interface operations - JavaGeneratorUtil.cloneOperations(this, + JavaTemplatesGeneratorUtil.cloneOperations(this, input.getOperations(), output, false Added: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesGeneratorUtil.java =================================================================== --- trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesGeneratorUtil.java (rev 0) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesGeneratorUtil.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -0,0 +1,66 @@ +package org.nuiton.eugene.java; + +/* + * #%L + * EUGene :: Java templates + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 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>. + * #L% + */ + +import org.nuiton.eugene.models.object.ObjectModel; +import org.nuiton.eugene.models.object.ObjectModelClassifier; + +/** + * Utility class for pure java templates. + * + * @author tchemit <chemit@codelutin.com> + * @since 2.5.6 + */ +public class JavaTemplatesGeneratorUtil extends JavaGeneratorUtil { + + /** + * Check if the given classifier has the + * {@link JavaTemplatesStereoTypes#STEREOTYPE_BEAN} stereotype. + * + * @param classifier classifier to test + * @return {@code true} if stereotype was found, {@code false otherwise} + * @see JavaTemplatesStereoTypes#STEREOTYPE_BEAN + */ + public static boolean hasBeanStereotype(ObjectModelClassifier classifier) { + return classifier.hasStereotype(JavaTemplatesStereoTypes.STEREOTYPE_BEAN); + } + + /** + * Obtain the value of the {@link JavaTemplatesTagValues#TAG_NO_PCS} + * tag value on the given model or classifier. + * <p/> + * It will first look on the model, and then in the given classifier. + * + * @param model model to seek + * @param classifier classifier to seek + * @return the none empty value of the found tag value or {@code null} if not found nor empty. + * @see JavaTemplatesTagValues#TAG_NO_PCS + * @since 2.3 + */ + public static String getNoPCSTagValue(ObjectModel model, ObjectModelClassifier classifier) { + String value = findTagValue(JavaTemplatesTagValues.TAG_NO_PCS, classifier, model); + return value; + } +} Property changes on: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesGeneratorUtil.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProvider.java =================================================================== --- trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProvider.java (rev 0) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProvider.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -0,0 +1,43 @@ +package org.nuiton.eugene.java; + +/* + * #%L + * EUGene :: Java templates + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 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>. + * #L% + */ + +import org.nuiton.eugene.ModelPropertiesUtil; + +/** + * The Java templates provider of tag values and stereotypes. + * + * @author tchemit <chemit@codelutin.com> + * @plexus.component role="org.nuiton.eugene.ModelPropertiesUtil$ModelPropertiesProvider" role-hint="java" + * @since 2.5.6 + */ +public class JavaTemplatesModelPropertiesProvider extends ModelPropertiesUtil.ModelPropertiesProvider { + + @Override + public void init() throws IllegalAccessException { + scanStereotypeClass(JavaTemplatesStereoTypes.class); + scanTagValueClass(JavaTemplatesTagValues.class); + } +} Property changes on: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProvider.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesStereoTypes.java =================================================================== --- trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesStereoTypes.java (rev 0) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesStereoTypes.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -0,0 +1,49 @@ +package org.nuiton.eugene.java; + +/* + * #%L + * EUGene :: Java templates + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 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>. + * #L% + */ + +import org.nuiton.eugene.EugeneStereoTypes; +import org.nuiton.eugene.ModelPropertiesUtil; +import org.nuiton.eugene.models.object.ObjectModelClassifier; + +/** + * Defines all stereotypes managed by Java templates. + * + * @author tchemit <chemit@codelutin.com> + * @since 2.5.6 + */ +public interface JavaTemplatesStereoTypes extends EugeneStereoTypes { + + /** + * Stereotype for JavaBean objects to place on a classifier. + * + * @see JavaTemplatesGeneratorUtil#hasBeanStereotype(ObjectModelClassifier) + * @since 2.5.6 + */ + @ModelPropertiesUtil.StereotypeDefinition( + target = ObjectModelClassifier.class, + documentation = "To specify that a class is a JavaBean") + String STEREOTYPE_BEAN = "bean"; +} Property changes on: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesStereoTypes.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java =================================================================== --- trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java (rev 0) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -0,0 +1,53 @@ +package org.nuiton.eugene.java; + +/* + * #%L + * EUGene :: Java templates + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 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>. + * #L% + */ + +import org.nuiton.eugene.EugeneTagValues; +import org.nuiton.eugene.ModelPropertiesUtil; +import org.nuiton.eugene.models.object.ObjectModel; +import org.nuiton.eugene.models.object.ObjectModelClassifier; + +/** + * Defines all tag values managed by Java templates. + * + * @author tchemit <chemit@codelutin.com> + * @since 2.5.6 + */ +public interface JavaTemplatesTagValues extends EugeneTagValues { + + /** + * Tag value to set if do not want any pcs (says PropertyChangeSupport in a generated bean). + * <p/> + * You can globaly use it on the complete model or to a specific classifier. + * + * @see JavaTemplatesGeneratorUtil#getNoPCSTagValue(ObjectModel, ObjectModelClassifier) + * @since 2.5.6 + */ + @ModelPropertiesUtil.TagValueDefinition( + target = {ObjectModel.class, ObjectModelClassifier.class}, + documentation = "To specify to not generate any propertyChange " + + "code for a class or any class of a model") + String TAG_NO_PCS = "noPCS"; +} Property changes on: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/package-info.java =================================================================== --- trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/package-info.java 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/package-info.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -14,7 +14,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2012 CodeLutin + * Copyright (C) 2012 CodeLutin, Tony Chemit * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as Property changes on: trunk/eugene-java-templates/src/main/resources/META-INF/services/org.nuiton.eugene.ModelPropertiesUtil$ModelPropertiesProvider ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/eugene-java-templates/src/test/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProviderTest.java =================================================================== --- trunk/eugene-java-templates/src/test/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProviderTest.java (rev 0) +++ trunk/eugene-java-templates/src/test/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProviderTest.java 2012-11-06 09:14:01 UTC (rev 1199) @@ -0,0 +1,141 @@ +package org.nuiton.eugene.java; + +/* + * #%L + * EUGene :: Java templates + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 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>. + * #L% + */ + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.eugene.ModelPropertiesUtil; +import org.nuiton.eugene.models.object.ObjectModel; +import org.nuiton.eugene.models.object.ObjectModelAttribute; +import org.nuiton.eugene.models.object.ObjectModelClass; +import org.nuiton.eugene.models.object.ObjectModelClassifier; +import org.nuiton.eugene.models.object.ObjectModelEnumeration; +import org.nuiton.eugene.models.object.ObjectModelInterface; +import org.nuiton.eugene.models.object.ObjectModelOperation; + +/** + * To test stereotypes and tag values of this module. + * + * @author tchemit <chemit@codelutin.com> + * @since 2.5.6 + */ +public class JavaTemplatesModelPropertiesProviderTest { + + protected ModelPropertiesUtil.ModelPropertiesProvider provider; + + @Before + public void setUp() throws Exception { + provider = new JavaTemplatesModelPropertiesProvider(); + provider.init(); + } + + @Test + public void getTagValueTarget() throws Exception { + getTagValueTarget(JavaTemplatesTagValues.TAG_NO_PCS, ObjectModel.class, ObjectModelClassifier.class); + } + + @Test + public void containsTagValue() throws Exception { + containsTagValue(JavaTemplatesTagValues.TAG_NO_PCS, true); + + long l = System.nanoTime(); + containsTagValue(JavaTemplatesTagValues.TAG_NO_PCS + l, false); + } + + @Test + public void acceptTagValue() throws Exception { + acceptTagValue(JavaTemplatesTagValues.TAG_NO_PCS, true, ObjectModel.class, ObjectModelClassifier.class, ObjectModelClass.class, ObjectModelEnumeration.class); + + acceptTagValue(JavaTemplatesTagValues.TAG_NO_PCS, false, ObjectModelOperation.class, ObjectModelAttribute.class); + + long l = System.nanoTime(); + acceptTagValue(JavaTemplatesTagValues.TAG_NO_PCS + l, false, ObjectModelOperation.class, ObjectModelAttribute.class); + } + + @Test + public void getStereotypeTarget() throws Exception { + + getStereotypeTarget(JavaTemplatesStereoTypes.STEREOTYPE_BEAN, ObjectModelClassifier.class); + } + + @Test + public void containsStereotype() throws Exception { + containsStereotype(JavaTemplatesStereoTypes.STEREOTYPE_BEAN, true); + + long l = System.nanoTime(); + containsStereotype(JavaTemplatesStereoTypes.STEREOTYPE_BEAN + l, false); + } + + @Test + public void acceptStereotype() throws Exception { + + acceptStereotype(JavaTemplatesStereoTypes.STEREOTYPE_BEAN, true, ObjectModelClassifier.class, ObjectModelClass.class, ObjectModelEnumeration.class, ObjectModelInterface.class); + + acceptStereotype(JavaTemplatesStereoTypes.STEREOTYPE_BEAN, false, ObjectModel.class, ObjectModelOperation.class); + + long l = System.nanoTime(); + acceptStereotype(JavaTemplatesStereoTypes.STEREOTYPE_BEAN + l, false, ObjectModel.class, ObjectModelOperation.class); + + } + + protected void getTagValueTarget(String name, Class<?>... expected) { + Class<?>[] classes = provider.getTagValueTarget(name); + Assert.assertNotNull("Could not find target for " + name, classes); + Assert.assertEquals("Should have " + expected.length + " targets for " + name + " but had " + classes.length, classes.length, expected.length); + Assert.assertArrayEquals(expected, classes); + } + + protected void containsTagValue(String name, boolean expected) { + boolean classes = provider.containsTagValue(name); + Assert.assertEquals(expected, classes); + } + + protected void acceptTagValue(String name, boolean expected, Class<?>... types) { + for (Class<?> type : types) { + boolean actual = provider.acceptTagValue(name, type); + Assert.assertEquals(expected, actual); + } + } + + protected void getStereotypeTarget(String name, Class<?>... expected) { + Class<?>[] classes = provider.getStereotypeTarget(name); + Assert.assertNotNull("Could not find target for " + name, classes); + Assert.assertEquals("Should have " + expected.length + " targets for " + name + " but had " + classes.length, classes.length, expected.length); + Assert.assertArrayEquals(expected, classes); + } + + protected void containsStereotype(String name, boolean expected) { + boolean classes = provider.containsStereotype(name); + Assert.assertEquals(expected, classes); + } + + protected void acceptStereotype(String name, boolean expected, Class<?>... types) { + for (Class<?> type : types) { + boolean actual = provider.acceptStereotype(name, type); + Assert.assertEquals(expected, actual); + } + } +} Property changes on: trunk/eugene-java-templates/src/test/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProviderTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/eugene-maven-plugin/pom.xml =================================================================== --- trunk/eugene-maven-plugin/pom.xml 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/eugene-maven-plugin/pom.xml 2012-11-06 09:14:01 UTC (rev 1199) @@ -33,7 +33,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>eugene</artifactId> - <version>2.5.5.1-SNAPSHOT</version> + <version>2.5.6-SNAPSHOT</version> </parent> <groupId>org.nuiton.eugene</groupId> Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2012-10-30 07:43:35 UTC (rev 1198) +++ trunk/pom.xml 2012-11-06 09:14:01 UTC (rev 1199) @@ -36,7 +36,7 @@ </parent> <artifactId>eugene</artifactId> - <version>2.5.5.1-SNAPSHOT</version> + <version>2.5.6-SNAPSHOT</version> <modules> <module>eugene</module>
participants (1)
-
tchemit@users.nuiton.org