From: Tuukka Lehtonen Date: Wed, 14 Aug 2019 10:46:03 +0000 (+0000) Subject: Merge changes I764df2ec,Ieb979991 X-Git-Tag: v1.43.0~136^2~116 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=aefd2e1032b23c86b153be48bcdfee9f8b4dd126;hp=c01945105c0582852cb1e9833301a312f5e3f613 Merge changes I764df2ec,Ieb979991 * changes: Switch from org.apache.log4j to org.slf4j. Added missing creation of RelatedElementRuleFactory. --- diff --git a/bundles/org.simantics.objmap2/META-INF/MANIFEST.MF b/bundles/org.simantics.objmap2/META-INF/MANIFEST.MF index efd050e10..db84bf0c5 100644 --- a/bundles/org.simantics.objmap2/META-INF/MANIFEST.MF +++ b/bundles/org.simantics.objmap2/META-INF/MANIFEST.MF @@ -8,9 +8,9 @@ Require-Bundle: org.simantics.db;bundle-version="1.1.0", gnu.trove3;bundle-version="3.0.0", org.eclipse.core.runtime;bundle-version="3.7.0", org.simantics.layer0;bundle-version="1.0.0", - org.apache.log4j;bundle-version="1.2.15", org.simantics.db.common;bundle-version="1.1.0", - org.simantics.structural.ontology;bundle-version="1.1.0" + org.simantics.structural.ontology;bundle-version="1.1.0", + org.slf4j.api Export-Package: org.simantics.objmap.backward, org.simantics.objmap.bidirectional, org.simantics.objmap.exceptions, diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/annotations/factories/UpdateMethodFactory.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/annotations/factories/UpdateMethodFactory.java index 10f64be78..b20117626 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/annotations/factories/UpdateMethodFactory.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/annotations/factories/UpdateMethodFactory.java @@ -14,7 +14,8 @@ package org.simantics.objmap.graph.annotations.factories; import java.lang.annotation.Annotation; import java.lang.reflect.Method; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.WriteGraph; import org.simantics.db.exception.DatabaseException; @@ -26,7 +27,7 @@ import org.simantics.objmap.graph.rules.factory.IMethodRuleFactory; public class UpdateMethodFactory implements IMethodRuleFactory { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(UpdateMethodFactory.class); @Override public IBidirectionalMappingRule create(ReadGraph g, diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/impl/Mapping.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/impl/Mapping.java index f105a2894..9f048f775 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/impl/Mapping.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/impl/Mapping.java @@ -21,7 +21,8 @@ import java.util.Iterator; import java.util.List; import java.util.Set; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.WriteGraph; import org.simantics.db.exception.DatabaseException; @@ -42,7 +43,7 @@ import org.simantics.objmap.graph.schema.IMappingSchema; */ public class Mapping implements IMapping { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static final Logger LOGGER = LoggerFactory.getLogger(Mapping.class); IMappingSchema schema; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementRule.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementRule.java index 3b6fac31d..5e4eec39f 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementRule.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementRule.java @@ -11,7 +11,6 @@ *******************************************************************************/ package org.simantics.objmap.graph.rules; -import org.apache.log4j.Logger; import org.simantics.db.ReadGraph; import org.simantics.db.WriteGraph; import org.simantics.objmap.backward.IBackwardMapping; @@ -20,9 +19,8 @@ import org.simantics.objmap.exceptions.MappingException; import org.simantics.objmap.forward.IForwardMapping; import org.simantics.objmap.graph.rules.domain.IDomainAccessor; import org.simantics.objmap.graph.rules.range.IRangeAccessor; - - - +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * A rule that synchronizes collection of elements between @@ -32,7 +30,7 @@ import org.simantics.objmap.graph.rules.range.IRangeAccessor; */ public class MappedElementRule implements IBidirectionalMappingRule { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static final Logger LOGGER = LoggerFactory.getLogger(MappedElementRule.class); IDomainAccessor domainAccessor; IRangeAccessor rangeAccessor; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementsRule.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementsRule.java index cd295e583..43a8ff493 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementsRule.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementsRule.java @@ -14,7 +14,6 @@ package org.simantics.objmap.graph.rules; import java.util.ArrayList; import java.util.Collection; -import org.apache.log4j.Logger; import org.simantics.db.ReadGraph; import org.simantics.db.WriteGraph; import org.simantics.objmap.backward.IBackwardMapping; @@ -23,6 +22,8 @@ import org.simantics.objmap.exceptions.MappingException; import org.simantics.objmap.forward.IForwardMapping; import org.simantics.objmap.graph.rules.domain.IDomainAccessor; import org.simantics.objmap.graph.rules.range.IRangeAccessor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -33,7 +34,7 @@ import org.simantics.objmap.graph.rules.range.IRangeAccessor; */ public class MappedElementsRule implements IBidirectionalMappingRule { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static final Logger LOGGER = LoggerFactory.getLogger(MappedElementsRule.class); IDomainAccessor> domainAccessor; IRangeAccessor> rangeAccessor; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/ValueRule.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/ValueRule.java index 718bc7c2d..d40c44f2b 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/ValueRule.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/ValueRule.java @@ -11,7 +11,8 @@ *******************************************************************************/ package org.simantics.objmap.graph.rules; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.WriteGraph; import org.simantics.objmap.backward.IBackwardMapping; @@ -29,7 +30,7 @@ import org.simantics.objmap.graph.rules.range.IRangeAccessor; */ public class ValueRule implements IBidirectionalMappingRule { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(ValueRule.class); IDomainAccessor domainAccessor; IRangeAccessor rangeAccessor; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/CompoundValueAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/CompoundValueAccessor.java index 78b484303..1c7e267c7 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/CompoundValueAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/CompoundValueAccessor.java @@ -16,7 +16,6 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; -import org.apache.log4j.Logger; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.Statement; @@ -25,6 +24,8 @@ import org.simantics.db.exception.DatabaseException; import org.simantics.layer0.Layer0; import org.simantics.objmap.exceptions.MappingException; import org.simantics.objmap.graph.annotations.factories.CompoundRelatedGetSetValueRuleFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @@ -32,7 +33,7 @@ import org.simantics.objmap.graph.annotations.factories.CompoundRelatedGetSetVal */ public class CompoundValueAccessor implements IDomainAccessor { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static final Logger LOGGER = LoggerFactory.getLogger(CompoundValueAccessor.class); Resource objRelation; Resource objType; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/MappingUtils.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/MappingUtils.java index a0d0d4dac..dbda44e34 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/MappingUtils.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/MappingUtils.java @@ -14,7 +14,8 @@ package org.simantics.objmap.graph.rules.domain; import java.util.Arrays; import java.util.Collection; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; import org.simantics.db.exception.DatabaseException; @@ -25,7 +26,7 @@ import org.simantics.db.exception.DatabaseException; */ public class MappingUtils { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static final Logger LOGGER = LoggerFactory.getLogger(MappingUtils.class); /** * Adds and removes statements to/from the database so that objects diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedObjectAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedObjectAccessor.java index 99253790c..2cfc98185 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedObjectAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedObjectAccessor.java @@ -11,7 +11,8 @@ *******************************************************************************/ package org.simantics.objmap.graph.rules.domain; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -24,7 +25,7 @@ import org.simantics.objmap.exceptions.MappingException; */ public class RelatedObjectAccessor implements IDomainAccessor { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(RelatedObjectAccessor.class); Resource relation; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedObjectsAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedObjectsAccessor.java index 9653ab370..d8002d976 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedObjectsAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedObjectsAccessor.java @@ -13,7 +13,8 @@ package org.simantics.objmap.graph.rules.domain; import java.util.Collection; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -26,7 +27,7 @@ import org.simantics.objmap.exceptions.MappingException; */ public class RelatedObjectsAccessor implements IDomainAccessor> { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(RelatedObjectsAccessor.class); Resource relation; boolean deleteExtraObjects; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedOrderedSetElementsAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedOrderedSetElementsAccessor.java index c033751e5..a272b4f0b 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedOrderedSetElementsAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedOrderedSetElementsAccessor.java @@ -13,7 +13,8 @@ package org.simantics.objmap.graph.rules.domain; import java.util.Collection; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -27,7 +28,7 @@ import org.simantics.objmap.exceptions.MappingException; */ public class RelatedOrderedSetElementsAccessor implements IDomainAccessor> { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(RelatedOrderedSetElementsAccessor.class); boolean deleteExtraObjects; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedValueAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedValueAccessor.java index d5ad40b77..9ede88177 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedValueAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/domain/RelatedValueAccessor.java @@ -13,7 +13,8 @@ package org.simantics.objmap.graph.rules.domain; import java.util.Arrays; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.Statement; @@ -28,7 +29,7 @@ import org.simantics.objmap.exceptions.MappingException; */ public class RelatedValueAccessor implements IDomainAccessor { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(RelatedValueAccessor.class); Resource relation; Resource valueType; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/range/FieldAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/range/FieldAccessor.java index 6615e94fb..278c35a89 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/range/FieldAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/range/FieldAccessor.java @@ -13,8 +13,9 @@ package org.simantics.objmap.graph.rules.range; import java.lang.reflect.Field; -import org.apache.log4j.Logger; import org.simantics.objmap.exceptions.MappingException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -23,7 +24,7 @@ import org.simantics.objmap.exceptions.MappingException; */ public class FieldAccessor implements IRangeAccessor { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static final Logger LOGGER = LoggerFactory.getLogger(FieldAccessor.class); Field field; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/AdaptedLinkType.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/AdaptedLinkType.java index 046a744cf..9b02d5d50 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/AdaptedLinkType.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/AdaptedLinkType.java @@ -11,7 +11,7 @@ *******************************************************************************/ package org.simantics.objmap.graph.schema; -//import org.apache.log4j.Logger; +//import org.slf4j.Logger; import org.eclipse.core.runtime.IAdaptable; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/MappingSchemas.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/MappingSchemas.java index 871d46bda..56aa5da20 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/MappingSchemas.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/MappingSchemas.java @@ -30,6 +30,7 @@ import org.simantics.objmap.graph.annotations.HasSetter; import org.simantics.objmap.graph.annotations.OptionalRelatedElements; import org.simantics.objmap.graph.annotations.OrderedElementsGet; import org.simantics.objmap.graph.annotations.OrderedSetType; +import org.simantics.objmap.graph.annotations.RelatedElement; import org.simantics.objmap.graph.annotations.RelatedElements; import org.simantics.objmap.graph.annotations.RelatedElementsGet; import org.simantics.objmap.graph.annotations.RelatedGetObj; @@ -40,6 +41,7 @@ import org.simantics.objmap.graph.annotations.UpdateMethod; import org.simantics.objmap.graph.annotations.factories.CompoundRelatedGetSetValueRuleFactory; import org.simantics.objmap.graph.annotations.factories.OptionalRelatedElementsRuleFactory; import org.simantics.objmap.graph.annotations.factories.OrderedElementsRuleFactory; +import org.simantics.objmap.graph.annotations.factories.RelatedElementRuleFactory; import org.simantics.objmap.graph.annotations.factories.RelatedElementsRuleFactory; import org.simantics.objmap.graph.annotations.factories.RelatedElementsRuleFactory2; import org.simantics.objmap.graph.annotations.factories.RelatedGetSetObjRuleFactory; @@ -57,52 +59,60 @@ import org.simantics.objmap.graph.rules.factory.ICollectionRuleFactory; import org.simantics.objmap.graph.rules.factory.IFieldRuleFactory; import org.simantics.objmap.graph.rules.factory.IGetSetRuleFactory; import org.simantics.objmap.graph.rules.factory.IMethodRuleFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class MappingSchemas { - /** + private static final Logger LOGGER = LoggerFactory.getLogger(MappingSchemas.class); + + /** * Creates a new SimpleLinkType based on the annotations in the given class. * @throws IllegalAccessException * @throws InstantiationException * @see GraphType * @see RelatedValue */ - public static SimpleLinkType fromAnnotations(ReadGraph g, Class clazz) throws DatabaseException, InstantiationException, IllegalAccessException { - GraphType graphType = clazz.getAnnotation(GraphType.class); - - if (graphType != null) { - ArrayList> rules = new ArrayList>(); - collectRulesFromAnnotations(g, clazz, rules); - - return new SimpleLinkType(g.getResource(graphType.value()), clazz, rules); - } - DynamicGraphType dynamicType = clazz.getAnnotation(DynamicGraphType.class); - if (dynamicType != null) { - ArrayList> rules = new ArrayList>(); - collectRulesFromAnnotations(g, clazz, rules); - - return new DynamicSimpleLinkType(g.getResource(dynamicType.value()), clazz, rules); - } - OrderedSetType orderedSetType = clazz.getAnnotation(OrderedSetType.class); - if (orderedSetType != null) { - ArrayList> rules = new ArrayList>(); - collectRulesFromAnnotations(g, clazz, rules); - - return new OrderedSetSimpleLinkType(g.getResource(orderedSetType.value()), clazz, rules); - } - throw new IllegalArgumentException("Class " + clazz.toString() + " does not contain annotations."); - } - - public static void collectRulesFromAnnotations(ReadGraph g, Class clazz, Collection> rules) throws DatabaseException, InstantiationException, IllegalAccessException { - Class superclass = clazz.getSuperclass(); - if(superclass != null) - collectRulesFromAnnotations(g, superclass, rules); - + public static SimpleLinkType fromAnnotations(ReadGraph g, Class clazz) throws DatabaseException, InstantiationException, IllegalAccessException { + GraphType graphType = clazz.getAnnotation(GraphType.class); + + if (graphType != null) { + ArrayList> rules = new ArrayList>(); + collectRulesFromAnnotations(g, clazz, rules); + + return new SimpleLinkType(g.getResource(graphType.value()), clazz, rules); + } + DynamicGraphType dynamicType = clazz.getAnnotation(DynamicGraphType.class); + if (dynamicType != null) { + ArrayList> rules = new ArrayList>(); + collectRulesFromAnnotations(g, clazz, rules); + + return new DynamicSimpleLinkType(g.getResource(dynamicType.value()), clazz, rules); + } + OrderedSetType orderedSetType = clazz.getAnnotation(OrderedSetType.class); + if (orderedSetType != null) { + ArrayList> rules = new ArrayList>(); + collectRulesFromAnnotations(g, clazz, rules); + + return new OrderedSetSimpleLinkType(g.getResource(orderedSetType.value()), clazz, rules); + } + throw new IllegalArgumentException("Class " + clazz.toString() + " does not contain annotations."); + } + + public static void collectRulesFromAnnotations(ReadGraph g, Class clazz, Collection> rules) throws DatabaseException, InstantiationException, IllegalAccessException { + Class superclass = clazz.getSuperclass(); + if(superclass != null) + collectRulesFromAnnotations(g, superclass, rules); + for(Annotation annotation : clazz.getAnnotations()) { - IsClassRule tag = annotation.annotationType().getAnnotation(IsClassRule.class); + IsClassRule tag = annotation.annotationType().getAnnotation(IsClassRule.class); if(tag!= null) { - rules.add(createClassRule(g, annotation, clazz).create(g, annotation, clazz)); + final IClassRuleFactory ruleFactory = createClassRule(g, annotation, clazz); + if (ruleFactory != null) + rules.add(ruleFactory.create(g, annotation, clazz)); + else + LOGGER.warn("No rule factory found for {}", annotation); } } @@ -111,9 +121,13 @@ public class MappingSchemas { for(Annotation annotation : f.getAnnotations()) { - IsFieldRule tag = annotation.annotationType().getAnnotation(IsFieldRule.class); + IsFieldRule tag = annotation.annotationType().getAnnotation(IsFieldRule.class); if(tag != null) { - rules.add(createFieldRule(g, annotation, f).create(g, annotation, f)); + final IFieldRuleFactory ruleFactory = createFieldRule(g, annotation, f); + if (ruleFactory != null) + rules.add(ruleFactory.create(g, annotation, f)); + else + LOGGER.warn("No rule factory found for {}", annotation); } } } @@ -122,140 +136,150 @@ public class MappingSchemas { m.setAccessible(true); for(Annotation annotation : m.getAnnotations()) { - IsMethodRule tag = + IsMethodRule tag = annotation.annotationType().getAnnotation(IsMethodRule.class); if(tag != null) { - rules.add(createMethodRule(g, annotation, m).create(g, annotation, m)); + final IMethodRuleFactory ruleFactory = createMethodRule(g, annotation, m); + if (ruleFactory != null) + rules.add(ruleFactory.create(g, annotation, m)); + else + LOGGER.warn("No rule factory found for {}", annotation); } } } - + for (Method m : clazz.getDeclaredMethods()) { - m.setAccessible(true); - for (Annotation annotation : m.getAnnotations()) { - Class annotationType = annotation.annotationType(); - - IsGetSetRule tag = - annotationType.getAnnotation(IsGetSetRule.class); - if (tag != null) { - - HasSetter setterAnnType = annotationType.getAnnotation(HasSetter.class); - - Class setterAnn = setterAnnType.value(); - - Method getter = m; - - IGetSetRuleFactory ruleFactory = createGetSetRuleFactory(g, annotation, getter); - - - Method setter = null; - - for (Method m2 : clazz.getDeclaredMethods()) { - Annotation set = m2.getAnnotation(setterAnn); - if (set != null && ruleFactory.isSetter(annotation, set)) - setter = m2; - } - - rules.add(ruleFactory.create(g, annotation, getter, setter)); - } - - } + m.setAccessible(true); + for (Annotation annotation : m.getAnnotations()) { + Class annotationType = annotation.annotationType(); + + IsGetSetRule tag = + annotationType.getAnnotation(IsGetSetRule.class); + if (tag != null) { + + HasSetter setterAnnType = annotationType.getAnnotation(HasSetter.class); + + Class setterAnn = setterAnnType.value(); + + Method getter = m; + + IGetSetRuleFactory ruleFactory = createGetSetRuleFactory(g, annotation, getter); + if (ruleFactory != null) { + Method setter = null; + + for (Method m2 : clazz.getDeclaredMethods()) { + Annotation set = m2.getAnnotation(setterAnn); + if (set != null && ruleFactory.isSetter(annotation, set)) + setter = m2; + } + + rules.add(ruleFactory.create(g, annotation, getter, setter)); + } + else { + LOGGER.warn("No rule factory found for {}", annotation); + } + } + + } } - + for (Method m : clazz.getDeclaredMethods()) { - m.setAccessible(true); - for (Annotation annotation : m.getAnnotations()) { - Class annotationType = annotation.annotationType(); - - IsCollectionRule tag = - annotationType.getAnnotation(IsCollectionRule.class); - if (tag != null) { - - HasCollectionAdder adderAnnType = annotationType.getAnnotation(HasCollectionAdder.class); - HasCollectionRemover removerAnnType = annotationType.getAnnotation(HasCollectionRemover.class); - - Class adderAnn = adderAnnType.value(); - Class removerAnn = removerAnnType.value(); - - Method getter = m; - - ICollectionRuleFactory ruleFactory = createCollectionRuleFactory(g, annotation, getter); - - - Method adder = null; - Method remover = null; - - for (Method m2 : clazz.getDeclaredMethods()) { - Annotation add = m2.getAnnotation(adderAnn); - Annotation rem = m2.getAnnotation(removerAnn); - if (add != null && ruleFactory.isAdder(annotation, add)) - adder = m2; - if (rem != null && ruleFactory.isRemover(annotation, rem)) - remover = m2; - } - - - - rules.add(ruleFactory.create(g, annotation, getter,adder,remover)); - } - - } + m.setAccessible(true); + for (Annotation annotation : m.getAnnotations()) { + Class annotationType = annotation.annotationType(); + + IsCollectionRule tag = + annotationType.getAnnotation(IsCollectionRule.class); + if (tag != null) { + + HasCollectionAdder adderAnnType = annotationType.getAnnotation(HasCollectionAdder.class); + HasCollectionRemover removerAnnType = annotationType.getAnnotation(HasCollectionRemover.class); + + Class adderAnn = adderAnnType.value(); + Class removerAnn = removerAnnType.value(); + + Method getter = m; + + ICollectionRuleFactory ruleFactory = createCollectionRuleFactory(g, annotation, getter); + if (ruleFactory != null) { + Method adder = null; + Method remover = null; + + for (Method m2 : clazz.getDeclaredMethods()) { + Annotation add = m2.getAnnotation(adderAnn); + Annotation rem = m2.getAnnotation(removerAnn); + if (add != null && ruleFactory.isAdder(annotation, add)) + adder = m2; + if (rem != null && ruleFactory.isRemover(annotation, rem)) + remover = m2; + } + + rules.add(ruleFactory.create(g, annotation, getter,adder,remover)); + } + else { + LOGGER.warn("No rule factory found for {}", annotation); + } + } + + } } } - - public static IClassRuleFactory createClassRule(ReadGraph g, Annotation annotation, Class clazz) { - return null; - } - - public static IFieldRuleFactory createFieldRule(ReadGraph g, Annotation annotation, Field field) { - if (annotation.annotationType().equals(RelatedElements.class)) - return new RelatedElementsRuleFactory(); - if (annotation.annotationType().equals(RelatedValue.class)) - return new RelatedValueRuleFactory(); - if (annotation.annotationType().equals(OptionalRelatedElements.class)) - return new OptionalRelatedElementsRuleFactory(); - if (annotation.annotationType().equals(RelatedOrderedSetElements.class)) - return new RelatedOrderedSetElementsRuleFactory(); - return null; - } - - public static IMethodRuleFactory createMethodRule(ReadGraph g, Annotation annotation, Method m) { - if (annotation.annotationType().equals(UpdateMethod.class)) - return new UpdateMethodFactory(); - return null; - } - - public static IGetSetRuleFactory createGetSetRuleFactory(ReadGraph g, Annotation annotation, Method getter) { - if (annotation.annotationType().equals(RelatedGetValue.class)) - return new RelatedGetSetValueRuleFactory(); - if (annotation.annotationType().equals(RelatedGetObj.class)) - return new RelatedGetSetObjRuleFactory(); - if (annotation.annotationType().equals(CompoundRelatedGetValue.class)) - return new CompoundRelatedGetSetValueRuleFactory(); - return null; - } - - public static ICollectionRuleFactory createCollectionRuleFactory(ReadGraph g, Annotation annotation, Method getter) { - if (annotation.annotationType().equals(RelatedElementsGet.class)) - return new RelatedElementsRuleFactory2(); - if (annotation.annotationType().equals(OrderedElementsGet.class)) - return new OrderedElementsRuleFactory(); - return null; - } - - /** + + public static IClassRuleFactory createClassRule(ReadGraph g, Annotation annotation, Class clazz) { + return null; + } + + public static IFieldRuleFactory createFieldRule(ReadGraph g, Annotation annotation, Field field) { + if (annotation.annotationType().equals(RelatedElement.class)) + return new RelatedElementRuleFactory(); + if (annotation.annotationType().equals(RelatedElements.class)) + return new RelatedElementsRuleFactory(); + if (annotation.annotationType().equals(RelatedValue.class)) + return new RelatedValueRuleFactory(); + if (annotation.annotationType().equals(OptionalRelatedElements.class)) + return new OptionalRelatedElementsRuleFactory(); + if (annotation.annotationType().equals(RelatedOrderedSetElements.class)) + return new RelatedOrderedSetElementsRuleFactory(); + return null; + } + + public static IMethodRuleFactory createMethodRule(ReadGraph g, Annotation annotation, Method m) { + if (annotation.annotationType().equals(UpdateMethod.class)) + return new UpdateMethodFactory(); + return null; + } + + public static IGetSetRuleFactory createGetSetRuleFactory(ReadGraph g, Annotation annotation, Method getter) { + if (annotation.annotationType().equals(RelatedGetValue.class)) + return new RelatedGetSetValueRuleFactory(); + if (annotation.annotationType().equals(RelatedGetObj.class)) + return new RelatedGetSetObjRuleFactory(); + if (annotation.annotationType().equals(CompoundRelatedGetValue.class)) + return new CompoundRelatedGetSetValueRuleFactory(); + return null; + } + + public static ICollectionRuleFactory createCollectionRuleFactory(ReadGraph g, Annotation annotation, Method getter) { + if (annotation.annotationType().equals(RelatedElementsGet.class)) + return new RelatedElementsRuleFactory2(); + if (annotation.annotationType().equals(OrderedElementsGet.class)) + return new OrderedElementsRuleFactory(); + return null; + } + + /** * Creates a new SimpleLinkType based on the annotations in the given class. * @throws IllegalAccessException * @throws InstantiationException * @see GraphType * @see RelatedValue */ - - public static AdaptedLinkType fromAdaptable(ReadGraph g, String type, Class clazz) throws DatabaseException, InstantiationException, IllegalAccessException { - - - return new AdaptedLinkType(g.getResource(type), clazz); - } - - + + public static AdaptedLinkType fromAdaptable(ReadGraph g, String type, Class clazz) throws DatabaseException, InstantiationException, IllegalAccessException { + + + return new AdaptedLinkType(g.getResource(type), clazz); + } + + } diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/SimpleLinkType.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/SimpleLinkType.java index fcfb3b012..1de0e31fa 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/SimpleLinkType.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/schema/SimpleLinkType.java @@ -13,7 +13,8 @@ package org.simantics.objmap.graph.schema; import java.util.ArrayList; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -34,7 +35,7 @@ import org.simantics.objmap.forward.IForwardMapping; */ public class SimpleLinkType implements ILinkType { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(SimpleLinkType.class); public Resource domainType; public Class rangeType; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/annotations/factories/UpdateMethodFactory.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/annotations/factories/UpdateMethodFactory.java index a5dc78f91..1ce1ef1c6 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/annotations/factories/UpdateMethodFactory.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/annotations/factories/UpdateMethodFactory.java @@ -14,7 +14,8 @@ package org.simantics.objmap.structural.annotations.factories; import java.lang.annotation.Annotation; import java.lang.reflect.Method; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.WriteGraph; import org.simantics.db.exception.DatabaseException; @@ -26,7 +27,7 @@ import org.simantics.objmap.graph.rules.factory.IMethodRuleFactory; public class UpdateMethodFactory implements IMethodRuleFactory { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(UpdateMethodFactory.class); @Override public IBidirectionalMappingRule create(ReadGraph g, diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedObjectAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedObjectAccessor.java index 295e60e2f..736f86b39 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedObjectAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedObjectAccessor.java @@ -11,7 +11,8 @@ *******************************************************************************/ package org.simantics.objmap.structural.rules.domain; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -23,7 +24,7 @@ import org.simantics.objmap.structural.StructuralResource; public class RelatedObjectAccessor implements IDomainAccessor { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(RelatedObjectAccessor.class); Resource relation; boolean useTypeResource; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedObjectsAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedObjectsAccessor.java index cbd4ef3b4..1e1be5b76 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedObjectsAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedObjectsAccessor.java @@ -16,7 +16,8 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -29,7 +30,7 @@ import org.simantics.objmap.structural.StructuralResource; public class RelatedObjectsAccessor implements IDomainAccessor> { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(RelatedObjectsAccessor.class); Resource relation; boolean deleteExtraObjects; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedOrderedSetElementsAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedOrderedSetElementsAccessor.java index 6c1ed3aa2..97fde226f 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedOrderedSetElementsAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedOrderedSetElementsAccessor.java @@ -16,7 +16,8 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -28,7 +29,7 @@ import org.simantics.objmap.structural.StructuralResource; public class RelatedOrderedSetElementsAccessor implements IDomainAccessor> { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(RelatedOrderedSetElementsAccessor.class); boolean deleteExtraObjects; boolean useTypeResource; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedValueAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedValueAccessor.java index 2d3a24230..41279d1ab 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedValueAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/RelatedValueAccessor.java @@ -13,7 +13,8 @@ package org.simantics.objmap.structural.rules.domain; import java.util.Arrays; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.Statement; @@ -27,7 +28,7 @@ import org.simantics.objmap.structural.StructuralResource; public class RelatedValueAccessor implements IDomainAccessor { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(RelatedValueAccessor.class); Resource relation; Resource valueType; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/StructuralRelatedObjectAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/StructuralRelatedObjectAccessor.java index 32b8fd38c..865d4249e 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/StructuralRelatedObjectAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/StructuralRelatedObjectAccessor.java @@ -14,7 +14,8 @@ package org.simantics.objmap.structural.rules.domain; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -26,7 +27,7 @@ import org.simantics.objmap.structural.StructuralResource; public class StructuralRelatedObjectAccessor implements IDomainAccessor { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(StructuralRelatedObjectAccessor.class); Resource relation; boolean useTypeResource; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/StructuralRelatedObjectsAccessor.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/StructuralRelatedObjectsAccessor.java index 730edc269..6984bdcd0 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/StructuralRelatedObjectsAccessor.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/rules/domain/StructuralRelatedObjectsAccessor.java @@ -16,7 +16,8 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -29,7 +30,7 @@ import org.simantics.objmap.structural.StructuralResource; public class StructuralRelatedObjectsAccessor implements IDomainAccessor> { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(StructuralRelatedObjectsAccessor.class); Resource relation; boolean deleteExtraObjects; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/schema/AdaptedLinkType.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/schema/AdaptedLinkType.java index 4f5508486..203863a6c 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/schema/AdaptedLinkType.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/schema/AdaptedLinkType.java @@ -11,7 +11,7 @@ *******************************************************************************/ package org.simantics.objmap.structural.schema; -//import org.apache.log4j.Logger; +//import org.slf4j.Logger; import org.eclipse.core.runtime.IAdaptable; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/schema/SimpleLinkType.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/schema/SimpleLinkType.java index 8a7091fd4..ded0f40db 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/schema/SimpleLinkType.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/structural/schema/SimpleLinkType.java @@ -15,7 +15,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; @@ -34,7 +35,7 @@ import org.simantics.objmap.structural.StructuralResource; public class SimpleLinkType implements ILinkType { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(SimpleLinkType.class); public Resource domainType; public Class rangeType;