r1345 - in trunk: eugene/src/main/java/org/nuiton/eugene eugene/src/main/java/org/nuiton/eugene/metas eugene/src/main/java/org/nuiton/eugene/metas/matcher eugene/src/main/java/org/nuiton/eugene/models/object/reader eugene/src/test/java/org/nuiton/eugene eugene-java-templates/src/main/java/org/nuiton/eugene/java eugene-java-templates/src/test/java/org/nuiton/eugene/java
Author: tchemit Date: 2014-04-26 21:16:12 +0200 (Sat, 26 Apr 2014) New Revision: 1345 Url: http://forge.nuiton.org/projects/eugene/repository/revisions/1345 Log: refs #3175 add default value on TagValueDefinition Modified: trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java trunk/eugene-java-templates/src/test/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProviderTest.java trunk/eugene/src/main/java/org/nuiton/eugene/EugeneTagValues.java trunk/eugene/src/main/java/org/nuiton/eugene/metas/ModelPropertiesProvider.java trunk/eugene/src/main/java/org/nuiton/eugene/metas/TagValueDefinition.java trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/AbstractTagValueMatcher.java trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/DefaultTagValueMatcher.java trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/PrefixTagNameMatchTagValueMatcher.java trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/TagValueMatcher.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java trunk/eugene/src/test/java/org/nuiton/eugene/EugeneModelPropertiesProviderTest.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/EugeneTagValues.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/EugeneTagValues.java 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene/src/main/java/org/nuiton/eugene/EugeneTagValues.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -79,6 +79,7 @@ * @since 2.3 */ @TagValueDefinition(target = {ObjectModel.class, ObjectModelClassifier.class}, + defaultValue = "PROPERTY_", documentation = "Sets the prefix of any constant to be generated for the given class") String TAG_CONSTANT_PREFIX = "constantPrefix"; @@ -102,6 +103,7 @@ * @since 2.4.1 */ @TagValueDefinition(target = {ObjectModel.class, ObjectModelClassifier.class}, + defaultValue = "true", documentation = "To specify to NOT generate getXXX methods for boolean properties") String TAG_DO_NOT_GENERATE_BOOLEAN_GET_METHODS = "doNotGenerateBooleanGetMethods"; } Modified: trunk/eugene/src/main/java/org/nuiton/eugene/metas/ModelPropertiesProvider.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/metas/ModelPropertiesProvider.java 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene/src/main/java/org/nuiton/eugene/metas/ModelPropertiesProvider.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -149,6 +149,7 @@ return result; } + @Deprecated public boolean containsTagValue(String tagValueName) { boolean b = tagValueStore.containsKey(tagValueName); return b; @@ -159,16 +160,21 @@ return b; } - public void acceptTagValue(String tagValueName, Class<?> type) throws TagValueNotFoundException, MismatchTagValueTargetException { - + public TagValueDefinition getTagValueDefinition(String tagValueName) { TagValueDefinition def = null; for (TagValueMatcher tagValueMatcher : tagValueMatchers) { - def = tagValueMatcher.match(tagValueName, type); + def = tagValueMatcher.match(tagValueName); if (def != null) { break; } } + return def; + } + public void acceptTagValue(String tagValueName, Class<?> type) throws TagValueNotFoundException, MismatchTagValueTargetException { + + TagValueDefinition def = getTagValueDefinition(tagValueName); + if (def == null) { throw new TagValueNotFoundException(); } Modified: trunk/eugene/src/main/java/org/nuiton/eugene/metas/TagValueDefinition.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/metas/TagValueDefinition.java 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene/src/main/java/org/nuiton/eugene/metas/TagValueDefinition.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -42,5 +42,15 @@ */ String documentation(); - Class<? extends TagValueMatcher> validatorClass() default DefaultTagValueMatcher.class; + /** + * @return the matcher used to find out back a tagValue definition from his name. + * @since 2.9 + */ + Class<? extends TagValueMatcher> matcherClass() default DefaultTagValueMatcher.class; + + /** + * @return the default value to use, if not setted then do NOT use the default value. + * @since 2.9 + */ + String defaultValue() default ""; } Modified: trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/AbstractTagValueMatcher.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/AbstractTagValueMatcher.java 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/AbstractTagValueMatcher.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -23,7 +23,7 @@ this.modelPropertiesProvider = modelPropertiesProvider; Map<String, TagValueDefinition> tagValues = new TreeMap<String, TagValueDefinition>(); for (Map.Entry<String, TagValueDefinition> entry : modelPropertiesProvider.getTagValueStore().entrySet()) { - if (getClass().equals(entry.getValue().validatorClass())) { + if (getClass().equals(entry.getValue().matcherClass())) { tagValues.put(entry.getKey(), entry.getValue()); } } Modified: trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/DefaultTagValueMatcher.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/DefaultTagValueMatcher.java 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/DefaultTagValueMatcher.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -16,7 +16,7 @@ } @Override - public TagValueDefinition match(String tagValueName, Class<?> type) { + public TagValueDefinition match(String tagValueName) { TagValueDefinition tagValueDefinition = null; Modified: trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/PrefixTagNameMatchTagValueMatcher.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/PrefixTagNameMatchTagValueMatcher.java 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/PrefixTagNameMatchTagValueMatcher.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -16,7 +16,7 @@ } @Override - public TagValueDefinition match(String tagValueName, Class<?> type) { + public TagValueDefinition match(String tagValueName) { TagValueDefinition tagValueDefinition = null; Modified: trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/TagValueMatcher.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/TagValueMatcher.java 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene/src/main/java/org/nuiton/eugene/metas/matcher/TagValueMatcher.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -3,7 +3,7 @@ import org.nuiton.eugene.metas.TagValueDefinition; /** - * To validate a Tag value. + * To match a Tag value. * <p/> * Created on 4/26/14. * @@ -12,5 +12,5 @@ */ public interface TagValueMatcher { - TagValueDefinition match(String tagValueName, Class<?> type); + TagValueDefinition match(String tagValueName); } Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -451,8 +451,7 @@ } String fqn = matcher.group(1); - fqn = StringUtil.substring(fqn, 0, -1); // remove ended - // . + fqn = StringUtil.substring(fqn, 0, -1); // remove ended dot // target is class, attribute or operation String target = matcher.group(2); // name of the target (can be null on class) Modified: trunk/eugene/src/test/java/org/nuiton/eugene/EugeneModelPropertiesProviderTest.java =================================================================== --- trunk/eugene/src/test/java/org/nuiton/eugene/EugeneModelPropertiesProviderTest.java 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene/src/test/java/org/nuiton/eugene/EugeneModelPropertiesProviderTest.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -123,8 +123,15 @@ } protected void containsTagValue(String name, boolean expected) { - boolean classes = provider.containsTagValue(name); - Assert.assertEquals(expected, classes); + try { + provider.acceptTagValue(name, Object.class); + Assert.assertTrue(expected); + } catch (TagValueNotFoundException e) { + Assert.assertFalse(expected); + } catch (MismatchTagValueTargetException e) { + // dont care + } + } protected void acceptTagValue(String name, boolean expected, Class<?>... types) { Modified: 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 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene-java-templates/src/main/java/org/nuiton/eugene/java/JavaTemplatesTagValues.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -47,6 +47,7 @@ */ @TagValueDefinition( target = {ObjectModel.class, ObjectModelClassifier.class}, + defaultValue = "true", documentation = "To specify to not generate any propertyChange " + "code for a class or any class of a model") String TAG_NO_PCS = "noPCS"; Modified: 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 2014-04-26 18:56:51 UTC (rev 1344) +++ trunk/eugene-java-templates/src/test/java/org/nuiton/eugene/java/JavaTemplatesModelPropertiesProviderTest.java 2014-04-26 19:16:12 UTC (rev 1345) @@ -116,8 +116,14 @@ } protected void containsTagValue(String name, boolean expected) { - boolean classes = provider.containsTagValue(name); - Assert.assertEquals(expected, classes); + try { + provider.acceptTagValue(name, Object.class); + Assert.assertTrue(expected); + } catch (TagValueNotFoundException e) { + Assert.assertFalse(expected); + } catch (MismatchTagValueTargetException e) { + // don't care here + } } protected void acceptTagValue(String name, boolean expected, Class<?>... types) {
participants (1)
-
tchemit@users.nuiton.org