You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/12/03 13:22:20 UTC
[2/4] git commit: ISIS-285: further minor edits
ISIS-285: further minor edits
* backed out the lazy initialization checking logic in ProgrammingModelAbstract; not required after all
* minor refactoring of JdoMetaModelValidator, to make more understandable
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/fc12e900
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/fc12e900
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/fc12e900
Branch: refs/heads/master
Commit: fc12e900b94d871d6ea0ca9fd01452020b36449c
Parents: 900b25b
Author: Dan Haywood <da...@apache.org>
Authored: Mon Dec 3 11:22:38 2012 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Dec 3 11:22:38 2012 +0000
----------------------------------------------------------------------
.../progmodel/ProgrammingModelAbstract.java | 23 ---------------
.../validator/JdoMetaModelValidator.java | 16 +++++++++-
2 files changed, 15 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/fc12e900/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
----------------------------------------------------------------------
diff --git a/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java b/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
index 34f0462..b3c818a 100644
--- a/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
+++ b/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
@@ -36,27 +36,8 @@ public abstract class ProgrammingModelAbstract implements ProgrammingModel {
private final List<FacetFactory> facetFactories = Lists.newArrayList();
private final List<Object> facetFactoryInstancesOrClasses = Lists.newArrayList();
- private boolean initialized;
-
@Override
public void init() {
- initializeIfRequired();
- }
-
- private synchronized void initializeIfRequired() {
- if(!initialized) {
- initialize();
- initialized = true;
- }
- }
-
- private synchronized void assertNotInitialized() {
- if(initialized) {
- throw new IllegalStateException("Already initialized");
- }
- }
-
- private void initialize() {
for (final Object factoryInstanceOrClass : facetFactoryInstancesOrClasses) {
final FacetFactory facetFactory = asFacetFactory(factoryInstanceOrClass);
facetFactories.add(facetFactory);
@@ -75,19 +56,16 @@ public abstract class ProgrammingModelAbstract implements ProgrammingModel {
@Override
public final List<FacetFactory> getList() {
- initializeIfRequired();
return Collections.unmodifiableList(facetFactories);
}
@Override
public final void addFactory(final Class<? extends FacetFactory> factoryClass) {
- assertNotInitialized();
facetFactoryInstancesOrClasses.add(factoryClass);
}
@Override
public final void removeFactory(final Class<? extends FacetFactory> factoryClass) {
- assertNotInitialized();
facetFactoryInstancesOrClasses.remove(factoryClass);
}
@@ -105,5 +83,4 @@ public abstract class ProgrammingModelAbstract implements ProgrammingModel {
}
}
}
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/fc12e900/framework/runtimes/dflt/objectstores/jdo/jdo-metamodel/src/main/java/org/apache/isis/runtimes/dflt/objectstores/jdo/metamodel/specloader/validator/JdoMetaModelValidator.java
----------------------------------------------------------------------
diff --git a/framework/runtimes/dflt/objectstores/jdo/jdo-metamodel/src/main/java/org/apache/isis/runtimes/dflt/objectstores/jdo/metamodel/specloader/validator/JdoMetaModelValidator.java b/framework/runtimes/dflt/objectstores/jdo/jdo-metamodel/src/main/java/org/apache/isis/runtimes/dflt/objectstores/jdo/metamodel/specloader/validator/JdoMetaModelValidator.java
index 2b314fe..001002b 100644
--- a/framework/runtimes/dflt/objectstores/jdo/jdo-metamodel/src/main/java/org/apache/isis/runtimes/dflt/objectstores/jdo/metamodel/specloader/validator/JdoMetaModelValidator.java
+++ b/framework/runtimes/dflt/objectstores/jdo/jdo-metamodel/src/main/java/org/apache/isis/runtimes/dflt/objectstores/jdo/metamodel/specloader/validator/JdoMetaModelValidator.java
@@ -29,12 +29,23 @@ import org.apache.isis.runtimes.dflt.objectstores.jdo.metamodel.facets.object.pe
public class JdoMetaModelValidator extends MetaModelValidatorComposite {
public JdoMetaModelValidator() {
+ addValidatorToEnsurePersistenceCapables();
+
+ addValidatorToEnsureIdentityType();
+ }
+
+ private void addValidatorToEnsurePersistenceCapables() {
final MetaModelValidatorVisiting.SummarizingVisitor ensurePersistenceCapables = new MetaModelValidatorVisiting.SummarizingVisitor(){
private boolean found = false;
@Override
public boolean visit(ObjectSpecification objectSpec, ValidationFailures validationFailures) {
- return !(found = objectSpec.containsFacet(JdoPersistenceCapableFacet.class));
+ boolean containsFacet = objectSpec.containsFacet(JdoPersistenceCapableFacet.class);
+ if(containsFacet) {
+ found = true;
+ return false; // no need to keep searching
+ }
+ return true; // keep searching
}
@Override
@@ -48,7 +59,9 @@ public class JdoMetaModelValidator extends MetaModelValidatorComposite {
}
};
add(new MetaModelValidatorVisiting(ensurePersistenceCapables));
+ }
+ private void addValidatorToEnsureIdentityType() {
MetaModelValidatorVisiting.Visitor ensureIdentityType = new MetaModelValidatorVisiting.Visitor(){
@Override
public boolean visit(ObjectSpecification objSpec, ValidationFailures validationFailures) {
@@ -68,4 +81,5 @@ public class JdoMetaModelValidator extends MetaModelValidatorComposite {
add(new MetaModelValidatorVisiting(ensureIdentityType));
}
+
}