Implemented visitor-exception pattern
diff --git a/extensions/entitystore-coherence/qi4j-entitystore-coherence.iml b/extensions/entitystore-coherence/qi4j-entitystore-coherence.iml
deleted file mode 100644
index 6b59e3d..0000000
--- a/extensions/entitystore-coherence/qi4j-entitystore-coherence.iml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module MavenProjectsManager.isMavenModule="true" org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" relativePaths="true" type="JAVA_MODULE" version="4">
- <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false">
- <output url="file://$MODULE_DIR$/target/classes" />
- <output-test url="file://$MODULE_DIR$/target/test-classes" />
- <content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/resources" isTestSource="true" />
- <excludeFolder url="file://$MODULE_DIR$/target" />
- </content>
- <orderEntry type="inheritedJdk" />
- <orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="library" exported="" name="Maven: org.qi4j.core:qi4j-core-spi:1.0-RC3-SNAPSHOT" level="project" />
- <orderEntry type="library" exported="" name="Maven: org.qi4j.core:qi4j-core-api:1.0-RC3-SNAPSHOT" level="project" />
- <orderEntry type="library" exported="" name="Maven: org.qi4j.core:qi4j-core-bootstrap:1.0-RC3-SNAPSHOT" level="project" />
- <orderEntry type="library" exported="" name="Maven: org.qi4j.library:qi4j-lib-locking:1.0-RC3-SNAPSHOT" level="project" />
- <orderEntry type="library" exported="" name="Maven: com.tangosol:coherence:3.5.1" level="project" />
- <orderEntry type="library" scope="TEST" name="Maven: org.qi4j.core:qi4j-core-testsupport:1.0-RC3-SNAPSHOT" level="project" />
- <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.5" level="project" />
- <orderEntry type="library" scope="TEST" name="Maven: org.qi4j.core:qi4j-core-runtime:1.0-RC3-SNAPSHOT" level="project" />
- <orderEntry type="library" scope="TEST" name="Maven: cglib:cglib-nodep:2.1_3" level="project" />
- </component>
-</module>
-
diff --git a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreMixin.java b/extensions/entitystore-javaspaces/src/main/java/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreMixin.java
index 3199143..9b8ff39 100644
--- a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreMixin.java
+++ b/extensions/entitystore-javaspaces/src/main/java/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreMixin.java
@@ -50,7 +50,8 @@
return new StringReader( jsonData );
}
- public void visitMap( MapEntityStoreVisitor visitor )
+ public <ThrowableType extends Exception> void visitMap( MapEntityStoreVisitor<ThrowableType> visitor )
+ throws ThrowableType
{
for( String json : space )
{
diff --git a/extensions/entitystore-jgroups/src/main/java/org/qi4j/entitystore/jgroups/JGroupsEntityStoreMixin.java b/extensions/entitystore-jgroups/src/main/java/org/qi4j/entitystore/jgroups/JGroupsEntityStoreMixin.java
index fe9cfbd..87bd771 100644
--- a/extensions/entitystore-jgroups/src/main/java/org/qi4j/entitystore/jgroups/JGroupsEntityStoreMixin.java
+++ b/extensions/entitystore-jgroups/src/main/java/org/qi4j/entitystore/jgroups/JGroupsEntityStoreMixin.java
@@ -72,18 +72,12 @@
}
}
- public void visitMap( MapEntityStoreVisitor visitor )
+ public <ThrowableType extends Exception> void visitMap( MapEntityStoreVisitor<ThrowableType> visitor )
+ throws ThrowableType
{
- try
+ for( Map.Entry<String, String> key : replicatedMap.entrySet() )
{
- for( Map.Entry<String, String> key : replicatedMap.entrySet() )
- {
- visitor.visitEntity( new StringReader( key.getValue() ) );
- }
- }
- catch( RuntimeException e )
- {
- throw new EntityStoreException( e );
+ visitor.visitEntity( new StringReader( key.getValue() ) );
}
}
diff --git a/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/DataStore.java b/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/DataStore.java
index 2b5237d..efb9ae1 100644
--- a/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/DataStore.java
+++ b/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/DataStore.java
@@ -387,7 +387,8 @@
}
}
- public void visitMap( MapEntityStore.MapEntityStoreVisitor visitor )
+ public <ThrowableType extends Exception> void visitMap( MapEntityStore.MapEntityStoreVisitor<ThrowableType> visitor )
+ throws ThrowableType
{
try
{
diff --git a/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/RecordManager.java b/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/RecordManager.java
index 0c42133..e17c8dd 100644
--- a/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/RecordManager.java
+++ b/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/RecordManager.java
@@ -188,7 +188,8 @@
}
}
- public void visitMap( MapEntityStore.MapEntityStoreVisitor visitor )
+ public <ThrowableType extends Exception> void visitMap( MapEntityStore.MapEntityStoreVisitor<ThrowableType> visitor )
+ throws ThrowableType
{
dataStore.visitMap( visitor );
}
diff --git a/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/SwiftEntityStoreMixin.java b/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/SwiftEntityStoreMixin.java
index 0f2cf55..5c783ef 100644
--- a/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/SwiftEntityStoreMixin.java
+++ b/extensions/entitystore-swift/src/main/java/org/qi4j/entitystore/swift/SwiftEntityStoreMixin.java
@@ -89,7 +89,8 @@
}
}
- public void visitMap( MapEntityStoreVisitor visitor )
+ public <ThrowableType extends Exception> void visitMap( MapEntityStoreVisitor<ThrowableType> visitor )
+ throws ThrowableType
{
recordManager.visitMap( visitor );
}
diff --git a/libraries/jini/lookup/src/test/java/org/qi4j/library/jini/lookup/ReggieStartTest.java b/libraries/jini/lookup/src/test/java/org/qi4j/library/jini/lookup/ReggieStartTest.java
index d2f3922..5444ead 100644
--- a/libraries/jini/lookup/src/test/java/org/qi4j/library/jini/lookup/ReggieStartTest.java
+++ b/libraries/jini/lookup/src/test/java/org/qi4j/library/jini/lookup/ReggieStartTest.java
@@ -85,10 +85,13 @@
{
if( !listener.added )
{
- wait( 5000 );
+ wait( 25000 );
}
}
- assertTrue( listener.added );
+ synchronized( listener )
+ {
+ assertTrue( listener.added );
+ }
}
diff --git a/libraries/jini/transaction/src/test/java/org/qi4j/library/jini/transaction/MahaloStartTest.java b/libraries/jini/transaction/src/test/java/org/qi4j/library/jini/transaction/MahaloStartTest.java
index 8831934..6420385 100644
--- a/libraries/jini/transaction/src/test/java/org/qi4j/library/jini/transaction/MahaloStartTest.java
+++ b/libraries/jini/transaction/src/test/java/org/qi4j/library/jini/transaction/MahaloStartTest.java
@@ -88,10 +88,13 @@
{
if( !listener.added )
{
- wait( 15000 );
+ wait( 25000 );
}
}
- assertTrue( listener.added );
+ synchronized( listener )
+ {
+ assertTrue( listener.added );
+ }
}