r1333 - in trunk/eugene/src/main/java/org/nuiton/eugene: . models/object/reader
Author: tchemit Date: 2014-04-18 12:07:01 +0200 (Fri, 18 Apr 2014) New Revision: 1333 Url: http://forge.nuiton.org/projects/eugene/repository/revisions/1333 Log: fixes #3164 Modified: trunk/eugene/src/main/java/org/nuiton/eugene/ModelPropertiesUtil.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/ModelPropertiesUtil.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/ModelPropertiesUtil.java 2014-04-18 10:05:51 UTC (rev 1332) +++ trunk/eugene/src/main/java/org/nuiton/eugene/ModelPropertiesUtil.java 2014-04-18 10:07:01 UTC (rev 1333) @@ -33,8 +33,10 @@ import java.lang.annotation.Target; import java.lang.reflect.Field; import java.util.Arrays; +import java.util.HashSet; import java.util.Map; import java.util.ServiceLoader; +import java.util.Set; import java.util.TreeMap; /** @@ -148,6 +150,8 @@ provider.init(); getStereotypeStore().putAll(provider.getStereotypeStore()); getTagValueStore().putAll(provider.getTagValueStore()); + getDeprecatedStereotypes().addAll(provider.getDeprecatedStereotypes()); + getDeprecatedTagValues().addAll(provider.getDeprecatedTagValues()); } } } @@ -238,12 +242,16 @@ protected Map<String, TagValueDefinition> tagValueStore; protected Map<String, StereotypeDefinition> stereotypeStore; + protected Set<String> deprecatedTagValues; + protected Set<String> deprecatedStereotypes; protected boolean verbose; protected ModelPropertiesProvider() { stereotypeStore = new TreeMap<String, StereotypeDefinition>(); tagValueStore = new TreeMap<String, TagValueDefinition>(); + deprecatedTagValues = new HashSet<String>(); + deprecatedStereotypes = new HashSet<String>(); } public boolean isVerbose() { @@ -273,6 +281,9 @@ log.info("Detected stereotype definition [" + fieldName + ":" + stereotypeName + "] : " + Arrays.toString(stereotypeDefinition.target())); } stereotypeStore.put(stereotypeName, stereotypeDefinition); + if (field.isAnnotationPresent(Deprecated.class)) { + deprecatedStereotypes.add((stereotypeName)); + } } } } @@ -293,6 +304,9 @@ log.info("Detected tag value definition [" + fieldName + ":" + tagValueName + "] : " + Arrays.toString(tagValueDefinition.target())); } tagValueStore.put(tagValueName, tagValueDefinition); + if (field.isAnnotationPresent(Deprecated.class)) { + deprecatedTagValues.add((tagValueName)); + } } } } @@ -305,6 +319,14 @@ return tagValueStore; } + public Set<String> getDeprecatedTagValues() { + return deprecatedTagValues; + } + + public Set<String> getDeprecatedStereotypes() { + return deprecatedStereotypes; + } + public Class<?>[] getTagValueTarget(String tagValueName) { TagValueDefinition definition = tagValueStore.get(tagValueName); @@ -376,6 +398,16 @@ // no target found return false; } + + public boolean isDeprecatedTagValue(String tagValueName) { + boolean deprecated = deprecatedTagValues.contains(tagValueName); + return deprecated; + } + + public boolean isDeprecatedStereotype(String stereotypeName) { + boolean deprecated = deprecatedStereotypes.contains(stereotypeName); + return deprecated; + } } } 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-18 10:05:51 UTC (rev 1332) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java 2014-04-18 10:07:01 UTC (rev 1333) @@ -311,6 +311,17 @@ return false; } + if (safe) { + + // test if tagValue is deprecated + boolean deprecated = modelPropertiesProvider.isDeprecatedTagValue(tag); + if (deprecated) { + if (log.isWarnEnabled()) { + log.warn("Deprecated tagValue usage [" + key + "] : " + value ); + } + } + } + ObjectModelImpl modelImpl = (ObjectModelImpl) model; if (tag.equals(EugeneTagValues.TAG_VERSION)) { @@ -373,6 +384,17 @@ return false; } + if (safe) { + + // test if tagValue is deprecated + boolean deprecated = modelPropertiesProvider.isDeprecatedStereotype(value); + if (deprecated) { + if (log.isWarnEnabled()) { + log.warn("Deprecated stereotype usage [" + key + "] : " + value ); + } + } + } + if (log.isDebugEnabled()) { log.debug("Propriete: '" + key + "' => " + "fqn:" + fqn + " target:" + target @@ -477,6 +499,18 @@ return false; } + if (safe) { + + // test if tagValue is deprecated + boolean deprecated = modelPropertiesProvider.isDeprecatedTagValue(tag); + if (deprecated) { + if (log.isWarnEnabled()) { + log.warn("Deprecated tagValue usage [" + key + "] : " + value ); + } + } + } + + ObjectModelClassifier omc = getClassifier(model, TAGVALUE, key, fqn); if (omc == null) {
participants (1)
-
tchemit@users.nuiton.org