You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2017/06/25 00:39:40 UTC
[1/2] polygene-java git commit: POLYGENE-263 -
NoSuchCompositeTypeException reports where invisible types of desired type is
located.
Repository: polygene-java
Updated Branches:
refs/heads/develop 8ad89e8e2 -> 17a207993
POLYGENE-263 - NoSuchCompositeTypeException reports where invisible types of desired type is located.
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/5704bb82
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/5704bb82
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/5704bb82
Branch: refs/heads/develop
Commit: 5704bb8204b3222879c469ce02a44dee629a17aa
Parents: 8ad89e8
Author: niclas <ni...@hedhman.org>
Authored: Sat Jun 24 14:10:43 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Sat Jun 24 14:10:43 2017 +0800
----------------------------------------------------------------------
.../composite/NoSuchCompositeTypeException.java | 37 +++--
.../composite/NoSuchTransientTypeException.java | 5 +-
.../api/service/NoSuchServiceTypeException.java | 5 +-
.../polygene/api/structure/LayerDescriptor.java | 3 +-
.../unitofwork/NoSuchEntityTypeException.java | 8 +-
.../api/value/NoSuchValueTypeException.java | 8 +-
.../polygene/runtime/structure/LayerModel.java | 5 +-
.../runtime/structure/ModuleInstance.java | 18 +--
.../runtime/unitofwork/ModuleUnitOfWork.java | 6 +-
.../runtime/unitofwork/UnitOfWorkInstance.java | 2 +-
.../runtime/value/ValueBuilderInstance.java | 2 +-
.../polygene/runtime/value/ValueModel.java | 2 +-
.../composite/CompositeFactoryImplTest.java | 1 +
.../NoSuchEntityTypeExceptionTest.java | 95 +++++++++++
...stractPolygeneMultiLayeredTestWithModel.java | 161 ++++++++++++++++++
.../test/entity/model/EntityStoreTestSuite.java | 162 ++++---------------
.../entity/model/monetary/CheckBookSlip.java | 58 +++++++
.../test/entity/model/monetary/Currency.java | 11 +-
.../cassandra/CassandraEntityStoreMixin.java | 2 +-
.../PreferencesEntityStoreMixin.java | 2 +-
20 files changed, 413 insertions(+), 180 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java b/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java
index 64977ef..1d6f155 100644
--- a/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchCompositeTypeException.java
@@ -21,6 +21,8 @@ package org.apache.polygene.api.composite;
import java.util.stream.Stream;
import org.apache.polygene.api.common.InvalidApplicationException;
+import org.apache.polygene.api.structure.LayerDescriptor;
+import org.apache.polygene.api.structure.ModuleDescriptor;
import org.apache.polygene.api.structure.TypeLookup;
import static java.util.stream.Collectors.joining;
@@ -36,14 +38,14 @@ public abstract class NoSuchCompositeTypeException extends InvalidApplicationExc
private final String metaType;
private final String candidateTypes;
- protected NoSuchCompositeTypeException( String metaType, String compositeType, String moduleName, TypeLookup typeLookup )
+ protected NoSuchCompositeTypeException( String metaType, String compositeType, ModuleDescriptor module )
{
- super( "\n\tCould not find any visible " + metaType + " of type [" + compositeType + "] in module [" + moduleName + "]." );
+ super( "\n\tCould not find any visible " + metaType + " of type [" + compositeType + "] in module [" + module.name() + "]." );
this.metaType = metaType;
this.compositeType = compositeType;
- this.moduleName = moduleName;
- visibleTypes = formatVisibleTypes( typeLookup );
- candidateTypes = findCandidateTypes( typeLookup );
+ this.moduleName = module.name();
+ visibleTypes = formatVisibleTypes( module.typeLookup() );
+ candidateTypes = findCandidateTypes( module );
}
public String compositeType()
@@ -86,18 +88,21 @@ public abstract class NoSuchCompositeTypeException extends InvalidApplicationExc
.collect( joining( "\n", "\tVisible " + metaType + " types are:\n", "" ) );
}
- private String findCandidateTypes( TypeLookup typeLookup )
+ private String findCandidateTypes( ModuleDescriptor module )
{
- return "";
-// return descriptors( typeLookup )
-// .filter( type -> compositeType.equals( type.primaryType().getName() ) )
-// .map( descriptor ->
-// {
-// Class<?> primarytype = descriptor.primaryType();
-// String typeName = primarytype.getName();
-// return "\t\t[ " + typeName + "] in [" + descriptor.module().name() + "] with visibility " + descriptor.visibility();
-// } )
-// .collect( joining( "\n", "\tInvisible " + metaType + " types are:\n", "" ) );
+ return Stream.concat( Stream.of( module.layer() ), module.layer().usedLayers().layers() )
+ .flatMap( LayerDescriptor::modules )
+ .map( ModuleDescriptor::typeLookup )
+ .flatMap( this::descriptors )
+ .filter( type -> compositeType.equals( type.primaryType().getName() ) )
+ .map( descriptor ->
+ {
+ Class<?> primarytype = descriptor.primaryType();
+ String typeName = primarytype.getName();
+ return "\t\t[ " + typeName + "] in [" + descriptor.module().name() + "] with visibility " + descriptor.visibility();
+ } )
+ .distinct()
+ .collect( joining( "\n", "\tInvisible " + metaType + " types are:\n", "" ) );
}
protected abstract Stream<? extends CompositeDescriptor> descriptors( TypeLookup typeLookup );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientTypeException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientTypeException.java b/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientTypeException.java
index 45ecd17..8bc188c 100644
--- a/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientTypeException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/composite/NoSuchTransientTypeException.java
@@ -21,6 +21,7 @@
package org.apache.polygene.api.composite;
import java.util.stream.Stream;
+import org.apache.polygene.api.structure.ModuleDescriptor;
import org.apache.polygene.api.structure.TypeLookup;
import static java.util.stream.Collectors.joining;
@@ -30,9 +31,9 @@ import static java.util.stream.Collectors.joining;
*/
public class NoSuchTransientTypeException extends NoSuchCompositeTypeException
{
- public NoSuchTransientTypeException( String typeName, String moduleName, TypeLookup typeLookup )
+ public NoSuchTransientTypeException( String typeName, ModuleDescriptor module )
{
- super( "TransientComposite", typeName, moduleName, typeLookup );
+ super( "TransientComposite", typeName, module );
}
protected Stream<? extends CompositeDescriptor> descriptors( TypeLookup typeLookup )
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceTypeException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceTypeException.java b/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceTypeException.java
index cc43627..b55270c 100644
--- a/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceTypeException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/service/NoSuchServiceTypeException.java
@@ -25,6 +25,7 @@ import java.util.stream.Stream;
import org.apache.polygene.api.composite.CompositeDescriptor;
import org.apache.polygene.api.composite.ModelDescriptor;
import org.apache.polygene.api.composite.NoSuchCompositeTypeException;
+import org.apache.polygene.api.structure.ModuleDescriptor;
import org.apache.polygene.api.structure.TypeLookup;
/**
@@ -32,9 +33,9 @@ import org.apache.polygene.api.structure.TypeLookup;
*/
public class NoSuchServiceTypeException extends NoSuchCompositeTypeException
{
- public NoSuchServiceTypeException( String typeName, String moduleName, TypeLookup typeLookup )
+ public NoSuchServiceTypeException( String typeName, ModuleDescriptor module )
{
- super( "ServiceComposite", typeName, moduleName, typeLookup );
+ super( "ServiceComposite", typeName, module );
}
@Override
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/api/src/main/java/org/apache/polygene/api/structure/LayerDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/structure/LayerDescriptor.java b/core/api/src/main/java/org/apache/polygene/api/structure/LayerDescriptor.java
index e8270ae..c68e02f 100644
--- a/core/api/src/main/java/org/apache/polygene/api/structure/LayerDescriptor.java
+++ b/core/api/src/main/java/org/apache/polygene/api/structure/LayerDescriptor.java
@@ -32,7 +32,6 @@ import org.apache.polygene.api.value.ValueDescriptor;
*/
public interface LayerDescriptor
{
-
/**
* @return the Layer's name
*/
@@ -45,6 +44,8 @@ public interface LayerDescriptor
*/
UsedLayersDescriptor usedLayers();
+ Stream<? extends ModuleDescriptor> modules();
+
Stream<? extends ObjectDescriptor> visibleObjects( Visibility visibility );
Stream<? extends TransientDescriptor> visibleTransients( Visibility visibility );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java b/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java
index a020c6e..8dd5668 100644
--- a/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/unitofwork/NoSuchEntityTypeException.java
@@ -22,6 +22,7 @@ package org.apache.polygene.api.unitofwork;
import java.util.stream.Stream;
import org.apache.polygene.api.composite.CompositeDescriptor;
import org.apache.polygene.api.composite.NoSuchCompositeTypeException;
+import org.apache.polygene.api.structure.ModuleDescriptor;
import org.apache.polygene.api.structure.TypeLookup;
import static java.util.stream.Collectors.joining;
@@ -30,12 +31,11 @@ import static java.util.stream.Collectors.joining;
* Polygene exception to be thrown in case that an entity composite
* was not found during a lookup call.
*/
-public class NoSuchEntityTypeException
- extends NoSuchCompositeTypeException
+public class NoSuchEntityTypeException extends NoSuchCompositeTypeException
{
- public NoSuchEntityTypeException( String typeName, String moduleName, TypeLookup typeLookup )
+ public NoSuchEntityTypeException( String typeName, ModuleDescriptor module )
{
- super( "EntityComposite", typeName, moduleName, typeLookup );
+ super( "EntityComposite", typeName, module );
}
@Override
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueTypeException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueTypeException.java b/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueTypeException.java
index 77d2dc5..6538a31 100644
--- a/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueTypeException.java
+++ b/core/api/src/main/java/org/apache/polygene/api/value/NoSuchValueTypeException.java
@@ -22,6 +22,7 @@ package org.apache.polygene.api.value;
import java.util.stream.Stream;
import org.apache.polygene.api.composite.CompositeDescriptor;
import org.apache.polygene.api.composite.NoSuchCompositeTypeException;
+import org.apache.polygene.api.structure.ModuleDescriptor;
import org.apache.polygene.api.structure.TypeLookup;
import static java.util.stream.Collectors.joining;
@@ -29,12 +30,11 @@ import static java.util.stream.Collectors.joining;
/**
* Thrown when no visible value of the requested type is found.
*/
-public class NoSuchValueTypeException
- extends NoSuchCompositeTypeException
+public class NoSuchValueTypeException extends NoSuchCompositeTypeException
{
- public NoSuchValueTypeException( String valueType, String moduleName, TypeLookup typeLookup )
+ public NoSuchValueTypeException( String valueType, ModuleDescriptor module )
{
- super( "ValueComposite", valueType, moduleName, typeLookup );
+ super( "ValueComposite", valueType, module );
}
@Override
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/runtime/src/main/java/org/apache/polygene/runtime/structure/LayerModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/structure/LayerModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/structure/LayerModel.java
index 59cf733..488283b 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/structure/LayerModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/structure/LayerModel.java
@@ -30,6 +30,7 @@ import org.apache.polygene.api.entity.EntityDescriptor;
import org.apache.polygene.api.object.ObjectDescriptor;
import org.apache.polygene.api.structure.Layer;
import org.apache.polygene.api.structure.LayerDescriptor;
+import org.apache.polygene.api.structure.ModuleDescriptor;
import org.apache.polygene.api.util.HierarchicalVisitor;
import org.apache.polygene.api.util.VisitableHierarchy;
import org.apache.polygene.api.value.ValueDescriptor;
@@ -75,9 +76,9 @@ public final class LayerModel
return metaInfo.get( infoType );
}
- public Iterable<ModuleModel> modules()
+ public Stream<? extends ModuleDescriptor> modules()
{
- return modules;
+ return modules.stream();
}
@Override
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleInstance.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleInstance.java b/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleInstance.java
index 9422816..969ae18 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleInstance.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/structure/ModuleInstance.java
@@ -118,8 +118,8 @@ public class ModuleInstance
@SuppressWarnings( "LeakingThisInConstructor" )
ModuleInstance( ModuleModel moduleModel, LayerDescriptor layer, TypeLookup typeLookup,
- ServicesModel servicesModel, ImportedServicesModel importedServicesModel
- )
+ ServicesModel servicesModel, ImportedServicesModel importedServicesModel
+ )
{
// Constructor parameters
model = moduleModel;
@@ -208,7 +208,7 @@ public class ModuleInstance
if( model == null )
{
- throw new NoSuchTransientTypeException( mixinType.getName(), name(), typeLookup );
+ throw new NoSuchTransientTypeException( mixinType.getName(), descriptor() );
}
Map<AccessibleObject, Property<?>> properties = new HashMap<>();
@@ -250,7 +250,7 @@ public class ModuleInstance
if( compositeModelModule == null )
{
- throw new NoSuchValueTypeException( mixinType.getName(), name(), typeLookup );
+ throw new NoSuchValueTypeException( mixinType.getName(), descriptor() );
}
StateResolver stateResolver = new InitialStateResolver( compositeModelModule.module() );
@@ -263,7 +263,7 @@ public class ModuleInstance
Function<AssociationDescriptor, EntityReference> associationFunction,
Function<AssociationDescriptor, Stream<EntityReference>> manyAssociationFunction,
Function<AssociationDescriptor, Stream<Map.Entry<String, EntityReference>>> namedAssociationFunction
- )
+ )
{
Objects.requireNonNull( propertyFunction, "propertyFunction" );
Objects.requireNonNull( associationFunction, "associationFunction" );
@@ -274,7 +274,7 @@ public class ModuleInstance
if( compositeModelModule == null )
{
- throw new NoSuchValueTypeException( mixinType.getName(), name(), typeLookup );
+ throw new NoSuchValueTypeException( mixinType.getName(), descriptor() );
}
StateResolver stateResolver = new FunctionStateResolver(
@@ -332,7 +332,7 @@ public class ModuleInstance
if( model == null )
{
- throw new NoSuchValueTypeException( valueType.getName(), name(), typeLookup );
+ throw new NoSuchValueTypeException( valueType.getName(), descriptor() );
}
return new ValueBuilderWithPrototype<>( model, this, prototype );
@@ -347,7 +347,7 @@ public class ModuleInstance
if( model == null )
{
- throw new NoSuchValueTypeException( mixinType.getName(), name(), typeLookup );
+ throw new NoSuchValueTypeException( mixinType.getName(), descriptor() );
}
try
@@ -380,7 +380,7 @@ public class ModuleInstance
ModelDescriptor serviceModel = typeLookup.lookupServiceModel( serviceType );
if( serviceModel == null )
{
- throw new NoSuchServiceTypeException( serviceType.getTypeName(), name(), typeLookup );
+ throw new NoSuchServiceTypeException( serviceType.getTypeName(), descriptor() );
}
return findServiceReferenceInstance( serviceModel );
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java b/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java
index a863364..0cf26f0 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/ModuleUnitOfWork.java
@@ -181,7 +181,7 @@ public class ModuleUnitOfWork
if( model == null )
{
- throw new NoSuchEntityTypeException( type.getName(), module.name(), module.typeLookup() );
+ throw new NoSuchEntityTypeException( type.getName(), module );
}
ModuleDescriptor modelModule = model.module();
@@ -238,7 +238,7 @@ public class ModuleUnitOfWork
if( model == null )
{
- throw new NoSuchEntityTypeException( type.getName(), module.name(), module.typeLookup() );
+ throw new NoSuchEntityTypeException( type.getName(), module );
}
ModuleDescriptor modelModule = model.module();
@@ -283,7 +283,7 @@ public class ModuleUnitOfWork
if( !models.iterator().hasNext() )
{
- throw new NoSuchEntityTypeException( type.getName(), module.name(), module.typeLookup() );
+ throw new NoSuchEntityTypeException( type.getName(), module );
}
return uow.get( EntityReference.create( identity ), this, models, type );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/UnitOfWorkInstance.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/UnitOfWorkInstance.java b/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/UnitOfWorkInstance.java
index 927f04b..33745f7 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/UnitOfWorkInstance.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/unitofwork/UnitOfWorkInstance.java
@@ -157,7 +157,7 @@ public final class UnitOfWorkInstance
}
else
{
- throw new NoSuchEntityTypeException( mixinType.getName(), module.name(), module.typeLookup() );
+ throw new NoSuchEntityTypeException( mixinType.getName(), module );
}
}
// Create instance
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueBuilderInstance.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueBuilderInstance.java b/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueBuilderInstance.java
index d92ad72..6789d95 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueBuilderInstance.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueBuilderInstance.java
@@ -86,7 +86,7 @@ public final class ValueBuilderInstance<T>
if( valueModel == null )
{
- throw new NoSuchValueTypeException( valueType.getName(), currentModule.name(), currentModule.typeLookup() );
+ throw new NoSuchValueTypeException( valueType.getName(), currentModule.descriptor() );
}
return new ValueBuilderWithPrototype<>( valueModel, currentModule, prototype() ).newInstance();
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueModel.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueModel.java b/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueModel.java
index 496e503..3f9703e 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueModel.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/value/ValueModel.java
@@ -203,7 +203,7 @@ public final class ValueModel extends CompositeModel
List<EntityDescriptor> descriptors = lookup.lookupEntityModels( rawClass );
if( descriptors.size() == 0 )
{
- throw new NoSuchEntityTypeException( rawClass.getName(), module.name(), lookup );
+ throw new NoSuchEntityTypeException( rawClass.getName(), module );
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/runtime/src/test/java/org/apache/polygene/runtime/composite/CompositeFactoryImplTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/polygene/runtime/composite/CompositeFactoryImplTest.java b/core/runtime/src/test/java/org/apache/polygene/runtime/composite/CompositeFactoryImplTest.java
index adb0ccb..fd557e2 100644
--- a/core/runtime/src/test/java/org/apache/polygene/runtime/composite/CompositeFactoryImplTest.java
+++ b/core/runtime/src/test/java/org/apache/polygene/runtime/composite/CompositeFactoryImplTest.java
@@ -22,6 +22,7 @@ package org.apache.polygene.runtime.composite;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.util.Properties;
+import org.apache.polygene.api.common.ConstructionException;
import org.apache.polygene.test.AbstractPolygeneTest;
import org.junit.Test;
import org.apache.polygene.api.common.AppliesTo;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/runtime/src/test/java/org/apache/polygene/runtime/structure/NoSuchEntityTypeExceptionTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/polygene/runtime/structure/NoSuchEntityTypeExceptionTest.java b/core/runtime/src/test/java/org/apache/polygene/runtime/structure/NoSuchEntityTypeExceptionTest.java
new file mode 100644
index 0000000..a65802b
--- /dev/null
+++ b/core/runtime/src/test/java/org/apache/polygene/runtime/structure/NoSuchEntityTypeExceptionTest.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.runtime.structure;
+
+import org.apache.polygene.api.composite.NoSuchTransientTypeException;
+import org.apache.polygene.api.unitofwork.NoSuchEntityTypeException;
+import org.apache.polygene.api.unitofwork.UnitOfWork;
+import org.apache.polygene.api.value.NoSuchValueTypeException;
+import org.apache.polygene.api.value.ValueBuilder;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.memory.MemoryEntityStoreService;
+import org.apache.polygene.test.entity.model.AbstractPolygeneMultiLayeredTestWithModel;
+import org.apache.polygene.test.entity.model.monetary.CheckBookSlip;
+import org.apache.polygene.test.entity.model.monetary.Currency;
+import org.apache.polygene.test.entity.model.people.Person;
+import org.apache.polygene.test.entity.model.people.Rent;
+import org.junit.Test;
+
+import static org.hamcrest.core.StringContains.containsString;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
+
+public class NoSuchEntityTypeExceptionTest extends AbstractPolygeneMultiLayeredTestWithModel
+{
+ @Test
+ public void givenNoVisibilityWhenCreatingValueExpectClearException()
+ {
+ try
+ {
+ ValueBuilder<Rent> builder = valueBuilderFactory.newValueBuilder( Rent.class );
+ fail( NoSuchValueTypeException.class.getSimpleName() + " should have been thrown." );
+ }
+ catch( NoSuchValueTypeException e )
+ {
+ String expectedString = "\tInvisible ValueComposite types are:" + System.getProperty( "line.separator" )
+ + "\t\t[ org.apache.polygene.test.entity.model.people.Rent] in [People Module] with visibility module";
+ assertThat( e.getMessage(), containsString( expectedString ) );
+ }
+ }
+
+ @Test
+ public void givenNoVisibilityWhenCreatingTransientExpectClearException()
+ {
+ try
+ {
+ CheckBookSlip slip = transientBuilderFactory.newTransient( CheckBookSlip.class );
+ fail( NoSuchTransientTypeException.class.getSimpleName() + " should have been thrown." );
+ }
+ catch( NoSuchTransientTypeException e )
+ {
+ String expectedString = "\tInvisible TransientComposite types are:" + System.getProperty( "line.separator" )
+ + "\t\t[ org.apache.polygene.test.entity.model.monetary.CheckBookSlip] in [Monetary Module] with visibility module";
+ assertThat( e.getMessage(), containsString( expectedString ) );
+ }
+ }
+
+ @Test
+ public void givenNoVisibilityWhenCreatingEntityExpectClearException()
+ {
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork() )
+ {
+ Person p = uow.newEntity( Person.class );
+ fail( NoSuchEntityTypeException.class.getSimpleName() + " should have been thrown." );
+ }
+ catch( NoSuchEntityTypeException e )
+ {
+ String expectedString = "\tInvisible EntityComposite types are:" + System.getProperty( "line.separator" )
+ + "\t\t[ org.apache.polygene.test.entity.model.people.Person] in [People Module] with visibility layer";
+ assertThat( e.getMessage(), containsString( expectedString ) );
+ }
+ }
+
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ module.services( MemoryEntityStoreService.class ).instantiateOnStartup();
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/AbstractPolygeneMultiLayeredTestWithModel.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/AbstractPolygeneMultiLayeredTestWithModel.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/AbstractPolygeneMultiLayeredTestWithModel.java
new file mode 100644
index 0000000..0c0500d
--- /dev/null
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/AbstractPolygeneMultiLayeredTestWithModel.java
@@ -0,0 +1,161 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.test.entity.model;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.polygene.api.association.NamedAssociation;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.composite.TransientBuilderFactory;
+import org.apache.polygene.api.constraint.ConstraintViolationException;
+import org.apache.polygene.api.identity.Identity;
+import org.apache.polygene.api.injection.scope.Service;
+import org.apache.polygene.api.injection.scope.Structure;
+import org.apache.polygene.api.object.ObjectFactory;
+import org.apache.polygene.api.structure.Application;
+import org.apache.polygene.api.structure.ApplicationDescriptor;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.api.unitofwork.NoSuchEntityException;
+import org.apache.polygene.api.unitofwork.UnitOfWork;
+import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
+import org.apache.polygene.api.usecase.UsecaseBuilder;
+import org.apache.polygene.api.value.ValueBuilderFactory;
+import org.apache.polygene.bootstrap.ApplicationAssembly;
+import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.LayerAssembly;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.memory.MemoryEntityStoreService;
+import org.apache.polygene.spi.serialization.JsonSerialization;
+import org.apache.polygene.test.AbstractPolygeneBaseTest;
+import org.apache.polygene.test.entity.model.legal.LegalService;
+import org.apache.polygene.test.entity.model.legal.Will;
+import org.apache.polygene.test.entity.model.legal.WillAmount;
+import org.apache.polygene.test.entity.model.legal.WillItem;
+import org.apache.polygene.test.entity.model.legal.WillPercentage;
+import org.apache.polygene.test.entity.model.monetary.CheckBookSlip;
+import org.apache.polygene.test.entity.model.monetary.Currency;
+import org.apache.polygene.test.entity.model.people.Address;
+import org.apache.polygene.test.entity.model.people.City;
+import org.apache.polygene.test.entity.model.people.Country;
+import org.apache.polygene.test.entity.model.people.PeopleRepository;
+import org.apache.polygene.test.entity.model.people.Person;
+import org.apache.polygene.test.entity.model.people.PhoneNumber;
+import org.apache.polygene.test.entity.model.people.Rent;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertThat;
+
+public abstract class AbstractPolygeneMultiLayeredTestWithModel extends AbstractPolygeneBaseTest
+{
+ private static final String FRIEND = "Friend";
+ private static final String COLLEAGUE = "Colleague";
+
+ protected ModuleAssembly configModule;
+
+ @Structure
+ protected ValueBuilderFactory valueBuilderFactory;
+
+ @Structure
+ protected TransientBuilderFactory transientBuilderFactory;
+
+ @Structure
+ protected UnitOfWorkFactory unitOfWorkFactory;
+
+ @Structure
+ protected ObjectFactory objectFactory;
+
+ @Override
+ protected void defineApplication( ApplicationAssembly applicationAssembly )
+ throws AssemblyException
+ {
+ LayerAssembly accessLayer = applicationAssembly.layer( "Access Layer" );
+ LayerAssembly domainLayer = applicationAssembly.layer( "Domain Layer" );
+ LayerAssembly infrastructureLayer = applicationAssembly.layer( "Infrastructure Layer" );
+ LayerAssembly configLayer = applicationAssembly.layer( "Configuration Layer" );
+ accessLayer.uses( domainLayer.uses( infrastructureLayer.uses( configLayer ) ) );
+ defineConfigModule( configLayer.module( "Configuration Module" ) );
+ defineSerializationModule( configLayer.module( "Serialization Module" ) );
+ defineStorageModule( infrastructureLayer.module( "Storage Module" ) );
+ defineMonetaryModule( domainLayer.module( "Monetary Module" ) );
+ definePeopleModule( domainLayer.module( "People Module" ) );
+ defineLegalModule( domainLayer.module( "Legal Module" ) );
+ defineTestModule( accessLayer.module( "TestCase Module" ) );
+ }
+
+ @Override
+ protected Application newApplicationInstance( ApplicationDescriptor applicationModel )
+ {
+ Application application = super.newApplicationInstance( applicationModel );
+ Module module = application.findModule( "Access Layer", "TestCase Module" );
+ module.injectTo( this );
+ return application;
+ }
+
+ protected void defineTestModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ module.objects( this.getClass() );
+ }
+
+ protected void definePeopleModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ module.entities( Address.class, Country.class, City.class, PhoneNumber.class );
+ module.entities( Person.class ).visibleIn( Visibility.layer );
+ module.services( PeopleRepository.class ).visibleIn( Visibility.application );
+ module.values( Rent.class );
+ module.objects( Rent.Builder.class ).visibleIn( Visibility.application );
+ }
+
+ protected void defineLegalModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ module.services( LegalService.class ).visibleIn( Visibility.application );
+ module.entities( Will.class );
+ module.values( WillAmount.class, WillItem.class, WillPercentage.class );
+ }
+
+ protected void defineMonetaryModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ module.values( Currency.class ).visibleIn( Visibility.layer );
+ module.transients( CheckBookSlip.class );
+ module.transients( Currency.Builder.class ).visibleIn( Visibility.application );
+ }
+
+ protected void defineSerializationModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ module.services( JsonSerialization.class ).visibleIn( Visibility.application );
+ }
+
+ protected abstract void defineStorageModule( ModuleAssembly module );
+
+ protected void defineConfigModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ module.services( MemoryEntityStoreService.class ).visibleIn( Visibility.module );
+ configModule = module;
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java
index 20f0b1f..68b2b9a 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java
@@ -23,28 +23,12 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.polygene.api.association.NamedAssociation;
-import org.apache.polygene.api.common.Visibility;
import org.apache.polygene.api.constraint.ConstraintViolationException;
import org.apache.polygene.api.identity.Identity;
import org.apache.polygene.api.injection.scope.Service;
-import org.apache.polygene.api.injection.scope.Structure;
-import org.apache.polygene.api.object.ObjectFactory;
-import org.apache.polygene.api.structure.Application;
-import org.apache.polygene.api.structure.ApplicationDescriptor;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.api.unitofwork.NoSuchEntityException;
import org.apache.polygene.api.unitofwork.UnitOfWork;
-import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
import org.apache.polygene.api.usecase.UsecaseBuilder;
-import org.apache.polygene.api.value.ValueBuilder;
-import org.apache.polygene.api.value.ValueBuilderFactory;
-import org.apache.polygene.bootstrap.ApplicationAssembly;
-import org.apache.polygene.bootstrap.AssemblyException;
-import org.apache.polygene.bootstrap.LayerAssembly;
-import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.memory.MemoryEntityStoreService;
-import org.apache.polygene.spi.serialization.JsonSerialization;
-import org.apache.polygene.test.AbstractPolygeneBaseTest;
import org.apache.polygene.test.entity.model.legal.LegalService;
import org.apache.polygene.test.entity.model.legal.Will;
import org.apache.polygene.test.entity.model.legal.WillAmount;
@@ -65,28 +49,17 @@ import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInA
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.assertThat;
-public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
+public abstract class EntityStoreTestSuite extends AbstractPolygeneMultiLayeredTestWithModel
{
private static final String FRIEND = "Friend";
private static final String COLLEAGUE = "Colleague";
- protected ModuleAssembly configModule;
-
- @Structure
- private ObjectFactory obf;
-
- @Structure
- private ValueBuilderFactory vbf;
-
@Service
private LegalService legalService;
@Service
private PeopleRepository peopleRepository;
- @Structure
- private UnitOfWorkFactory uowf;
-
private Identity switzerlandId;
private Identity franceId;
private Identity denmarkId;
@@ -112,7 +85,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Before
public void setupTestData()
{
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "TestData Generation" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "TestData Generation" ) ) )
{
testData();
uow.complete();
@@ -122,7 +95,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test
public void validateAllCountriesPresent()
{
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - validateAllCountriesPresent" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - validateAllCountriesPresent" ) ) )
{
assertThat( peopleRepository.findCountryByCountryCode( "my" ).name().get(), equalTo( "Malaysia" ) );
assertThat( peopleRepository.findCountryByCountryCode( "us" ).name().get(), equalTo( "United States" ) );
@@ -137,7 +110,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test
public void validateAllCitiesPresent()
{
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - validateAllCitiesPresent" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - validateAllCitiesPresent" ) ) )
{
assertThat( peopleRepository.findCity( zurichId ).name().get(), equalTo( "Zurich" ) );
assertThat( peopleRepository.findCity( malmoId ).name().get(), equalTo( "Malmo" ) );
@@ -151,13 +124,13 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test
public void validateAllAddressesPresent()
{
- Currency.Builder currencyBuilder = obf.newObject( Currency.Builder.class );
+ Currency.Builder currencyBuilder = transientBuilderFactory.newTransient( Currency.Builder.class );
Currency eur1000 = currencyBuilder.create( 1000, "EUR" );
Currency eur1500 = currencyBuilder.create( 1500, "EUR" );
Currency chf2000 = currencyBuilder.create( 2000, "CHF" );
Currency myr3000 = currencyBuilder.create( 3000, "MYR" );
Currency sek9000 = currencyBuilder.create( 9000, "SEK" );
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - validateAllAddressesPresent" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - validateAllAddressesPresent" ) ) )
{
Address canary = peopleRepository.findAddress( canaryId );
assertThat( canary.street().get(), equalTo( "10, CH5A, Jalan Cheras Hartamas" ) );
@@ -206,7 +179,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test
public void validateAllPersonsPresent()
{
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - validateAllPersonsPresent" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - validateAllPersonsPresent" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
assertThat( niclas.name().get(), equalTo( "Niclas" ) );
@@ -236,14 +209,14 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test
public void givenTestDataWhenAddingNewNamedAssociationExpectAssociationAdded()
{
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenTestDataWhenAddingNewNamedAssociationExpectAssociationAdded" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenTestDataWhenAddingNewNamedAssociationExpectAssociationAdded" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
PhoneNumber newNumber = peopleRepository.createPhoneNumber( "+86-185-21320803" );
niclas.phoneNumbers().put( "Mobile", newNumber );
uow.complete();
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenTestDataWhenAddingNewNamedAssociationExpectAssociationAdded" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenTestDataWhenAddingNewNamedAssociationExpectAssociationAdded" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
NamedAssociation<PhoneNumber> numbers = niclas.phoneNumbers();
@@ -262,7 +235,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test
public void whenIteratingNamedAssociationExpectIterationInOrder()
{
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenIteratingNamedAssociationExpectIterationToSucceed" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenIteratingNamedAssociationExpectIterationToSucceed" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
PhoneNumber newNumber1 = peopleRepository.createPhoneNumber( "+86-185-21320803" );
@@ -273,7 +246,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
niclas.phoneNumbers().put( "German", newNumber3 );
uow.complete();
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenIteratingNamedAssociationExpectIterationToSucceed" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenIteratingNamedAssociationExpectIterationToSucceed" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
assertThat( niclas.phoneNumbers(), containsInAnyOrder( "Home", "Chinese", "Swedish", "German" ) );
@@ -283,14 +256,14 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test
public void givenTestDataWhenAddingSameNamedAssociationExpectAssociationModified()
{
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenTestDataWhenAddingSameNamedAssociationExpectAssociationModified" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenTestDataWhenAddingSameNamedAssociationExpectAssociationModified" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
PhoneNumber newNumber = peopleRepository.createPhoneNumber( "+86-185-21320803" );
niclas.phoneNumbers().put( "Home", newNumber );
uow.complete();
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenTestDataWhenAddingSameNamedAssociationExpectAssociationModified" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenTestDataWhenAddingSameNamedAssociationExpectAssociationModified" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
NamedAssociation<PhoneNumber> numbers = niclas.phoneNumbers();
@@ -305,7 +278,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test
public void whenNullingOptionalAssociationExpectSuccess()
{
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenNullingOptionalAssociationExpectSuccess" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenNullingOptionalAssociationExpectSuccess" ) ) )
{
Person toni = peopleRepository.findPersonByName( "Toni" );
toni.spouse().set( null );
@@ -316,7 +289,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test( expected = ConstraintViolationException.class )
public void whenNullingNonOptionalAssociationExpectFailure()
{
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenNullingOptionalAssociationExpectSuccess" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenNullingOptionalAssociationExpectSuccess" ) ) )
{
Person toni = peopleRepository.findPersonByName( "Toni" );
toni.nationality().set( null );
@@ -335,7 +308,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
Identity malaysiaId;
Identity canaryId;
Identity despairStId;
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
PhoneNumber newNumber1 = peopleRepository.createPhoneNumber( "+86-185-21320803" );
@@ -351,10 +324,10 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
City zurich = peopleRepository.findCity( zurichId );
Country switzerland = peopleRepository.findCountryByCountryCode( "ch" );
- niclas.movedToNewAddress( "DespairStreet 12A", "43HQ21", zurich, switzerland, obf.newObject( Rent.Builder.class ).create( 1000, "EUR" ) );
+ niclas.movedToNewAddress( "DespairStreet 12A", "43HQ21", zurich, switzerland, objectFactory.newObject( Rent.Builder.class ).create( 1000, "EUR" ) );
uow.complete();
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
assertThat( niclas.nationality().get().name().get(), equalTo( "Sweden" ) );
@@ -365,13 +338,13 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
malaysiaId = niclas.oldAddresses().get( 0 ).country().get().identity().get();
switzerlandId = niclas.address().get().country().get().identity().get();
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
uow.remove( niclas );
uow.complete();
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
Person niclas = peopleRepository.findPersonByName( "Niclas" );
}
@@ -379,7 +352,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
{
// expected
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
peopleRepository.findPhoneNumberById( homePhoneId );
}
@@ -387,7 +360,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
{
// expected
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
peopleRepository.findPhoneNumberById( chinesePhoneId );
}
@@ -395,7 +368,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
{
// expected
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
peopleRepository.findPhoneNumberById( swedishPhoneId );
}
@@ -403,7 +376,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
{
// expected
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
peopleRepository.findPhoneNumberById( germanPhoneId );
}
@@ -411,7 +384,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
{
// expected
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
peopleRepository.findAddress( canaryId );
}
@@ -419,7 +392,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
{
// expected
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
peopleRepository.findAddress( despairStId );
}
@@ -427,7 +400,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
{
// expected
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - whenRemovingEntityExpectAggregatedEntitiesToBeRemoved" ) ) )
{
peopleRepository.findCountryByIdentity( switzerlandId );
peopleRepository.findCountryByIdentity( malaysiaId );
@@ -448,9 +421,9 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
@Test
public void givenEntityInheritanceWhenStoreRetrieveExpectSuccess()
{
- Currency.Builder currencyBuilder = obf.newObject( Currency.Builder.class );
+ Currency.Builder currencyBuilder = objectFactory.newObject( Currency.Builder.class );
Identity willId;
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenEntityInheritanceWhenStoreRetrieveExpectSuccess" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenEntityInheritanceWhenStoreRetrieveExpectSuccess" ) ) )
{
Person peter = peopleRepository.findPersonByName( "Peter" );
Person kalle = peopleRepository.findPersonByName( "Kalle" );
@@ -469,7 +442,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
willId = will.identity().get();
uow.complete();
}
- try( UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenEntityInheritanceWhenStoreRetrieveExpectSuccess" ) ) )
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenEntityInheritanceWhenStoreRetrieveExpectSuccess" ) ) )
{
Person kalle = peopleRepository.findPersonByName( "Kalle" );
Person oscar = peopleRepository.findPersonByName( "Oscar" );
@@ -525,7 +498,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
kualaLumpurId = kualalumpur.identity().get();
City zurich = peopleRepository.createCity( "Zurich" );
zurichId = zurich.identity().get();
- Rent.Builder rentBuilder = obf.newObject( Rent.Builder.class );
+ Rent.Builder rentBuilder = objectFactory.newObject( Rent.Builder.class );
Rent rentCanary = rentBuilder.create( 3000, "MYR" );
Rent rentVarnhem = rentBuilder.create( 9000, "SEK" );
Rent rentUnknown1 = rentBuilder.create( 1000, "EUR" );
@@ -567,77 +540,4 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneBaseTest
niclasRels.put( COLLEAGUE, toni );
niclasRels.put( COLLEAGUE, andreas );
}
-
- @Override
- protected void defineApplication( ApplicationAssembly applicationAssembly )
- throws AssemblyException
- {
- LayerAssembly accessLayer = applicationAssembly.layer( "Access Layer" );
- LayerAssembly domainLayer = applicationAssembly.layer( "Domain Layer" );
- LayerAssembly infrastructureLayer = applicationAssembly.layer( "Infrastructure Layer" );
- LayerAssembly configLayer = applicationAssembly.layer( "Configuration Layer" );
- accessLayer.uses( domainLayer.uses( infrastructureLayer.uses( configLayer ) ) );
- defineConfigModule( configLayer.module( "Configuration Module" ) );
- defineSerializationModule( configLayer.module( "Serialization Module" ) );
- defineStorageModule( infrastructureLayer.module( "Storage Module" ) );
- defineMonetaryModule( domainLayer.module( "Monetary Module" ) );
- definePeopleModule( domainLayer.module( "People Module" ) );
- defineLegalModule( domainLayer.module( "Legal Module" ) );
- defineTestModule( accessLayer.module( "TestCase Module" ) );
- }
-
- @Override
- protected Application newApplicationInstance( ApplicationDescriptor applicationModel )
- {
- Application application = super.newApplicationInstance( applicationModel );
- Module module = application.findModule( "Access Layer", "TestCase Module" );
- module.injectTo( this );
- return application;
- }
-
- protected void defineTestModule( ModuleAssembly module )
- {
- module.defaultServices();
- module.objects( this.getClass() );
- }
-
- protected void definePeopleModule( ModuleAssembly module )
- {
- module.defaultServices();
- module.entities( Address.class, Country.class, City.class, PhoneNumber.class );
- module.entities( Person.class ).visibleIn( Visibility.layer );
- module.services( PeopleRepository.class ).visibleIn( Visibility.application );
- module.values( Rent.class );
- module.objects( Rent.Builder.class ).visibleIn( Visibility.application );
- }
-
- protected void defineLegalModule( ModuleAssembly module )
- {
- module.defaultServices();
- module.services( LegalService.class ).visibleIn( Visibility.application );
- module.entities( Will.class );
- module.values( WillAmount.class, WillItem.class, WillPercentage.class );
- }
-
- protected void defineMonetaryModule( ModuleAssembly module )
- {
- module.defaultServices();
- module.values( Currency.class ).visibleIn( Visibility.layer );
- module.objects( Currency.Builder.class ).visibleIn( Visibility.application );
- }
-
- protected void defineSerializationModule( ModuleAssembly module )
- {
- module.defaultServices();
- module.services( JsonSerialization.class ).visibleIn( Visibility.application );
- }
-
- protected abstract void defineStorageModule( ModuleAssembly module );
-
- protected void defineConfigModule( ModuleAssembly module )
- {
- module.defaultServices();
- module.services( MemoryEntityStoreService.class ).visibleIn( Visibility.module );
- configModule = module;
- }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/monetary/CheckBookSlip.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/monetary/CheckBookSlip.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/monetary/CheckBookSlip.java
new file mode 100644
index 0000000..956b01d
--- /dev/null
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/monetary/CheckBookSlip.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.test.entity.model.monetary;
+
+import org.apache.polygene.api.injection.scope.This;
+import org.apache.polygene.api.mixin.Mixins;
+import org.apache.polygene.api.property.Property;
+
+@Mixins( CheckBookSlip.CheckBookSlipMixin.class )
+public interface CheckBookSlip
+{
+ String name();
+
+ Currency amount();
+
+ interface State
+ {
+ Property<String> name();
+
+ Property<Currency> amount();
+ }
+
+ class CheckBookSlipMixin
+ implements CheckBookSlip
+ {
+ @This
+ private State state;
+
+ @Override
+ public String name()
+ {
+ return state.name().get();
+ }
+
+ @Override
+ public Currency amount()
+ {
+ return state.amount().get();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/monetary/Currency.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/monetary/Currency.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/monetary/Currency.java
index 6ca2c9b..88a1c31 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/monetary/Currency.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/monetary/Currency.java
@@ -21,6 +21,7 @@ package org.apache.polygene.test.entity.model.monetary;
import java.math.BigDecimal;
import org.apache.polygene.api.injection.scope.Structure;
+import org.apache.polygene.api.mixin.Mixins;
import org.apache.polygene.api.property.Property;
import org.apache.polygene.api.value.ValueBuilder;
import org.apache.polygene.api.value.ValueBuilderFactory;
@@ -30,7 +31,15 @@ public interface Currency
Property<BigDecimal> amount();
Property<String> name();
- class Builder
+ @Mixins( Currency.BuilderImpl.class)
+ interface Builder
+ {
+ Currency create( int amount, String currencyName );
+ Currency create( BigDecimal amount, String currencyName );
+ }
+
+ class BuilderImpl
+ implements Builder
{
@Structure
private ValueBuilderFactory vbf;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java b/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
index 549e0dc..7ee85f8 100644
--- a/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
+++ b/extensions/entitystore-cassandra/src/main/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreMixin.java
@@ -153,7 +153,7 @@ public class CassandraEntityStoreMixin
EntityDescriptor entityDescriptor = module.entityDescriptor( type );
if( entityDescriptor == null )
{
- throw new NoSuchEntityTypeException( type, module.name(), module.typeLookup() );
+ throw new NoSuchEntityTypeException( type, module );
}
Map<String, String> storedProperties = row.getMap( PROPERTIES_COLUMN, String.class, String.class );
Map<String, String> storedAssociations = row.getMap( ASSOCIATIONS_COLUMN, String.class, String.class );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5704bb82/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java b/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java
index 5bf1597..9c61b50 100644
--- a/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java
+++ b/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreMixin.java
@@ -213,7 +213,7 @@ public class PreferencesEntityStoreMixin
EntityDescriptor entityDescriptor = module.entityDescriptor( type );
if( entityDescriptor == null )
{
- throw new NoSuchEntityTypeException( type, module.name(), module.typeLookup() );
+ throw new NoSuchEntityTypeException( type, module );
}
Map<QualifiedName, Object> properties = new HashMap<>();
[2/2] polygene-java git commit: POLYGENE-263 - Missed some changes in
the constructor signature.
Posted by ni...@apache.org.
POLYGENE-263 - Missed some changes in the constructor signature.
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/17a20799
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/17a20799
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/17a20799
Branch: refs/heads/develop
Commit: 17a207993c8d01defefc8bc65c15a18d0d93bac0
Parents: 5704bb8
Author: niclas <ni...@hedhman.org>
Authored: Sun Jun 25 08:39:33 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Sun Jun 25 08:39:33 2017 +0800
----------------------------------------------------------------------
.../spi/entitystore/helpers/JSONMapEntityStoreMixin.java | 2 +-
.../polygene/spi/entitystore/helpers/MapEntityStoreMixin.java | 2 +-
.../apache/polygene/test/entity/model/EntityStoreTestSuite.java | 2 +-
.../java/org/apache/polygene/test/entity/model/people/Rent.java | 5 +++--
4 files changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/17a20799/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/JSONMapEntityStoreMixin.java
----------------------------------------------------------------------
diff --git a/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/JSONMapEntityStoreMixin.java b/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/JSONMapEntityStoreMixin.java
index aa0bdc4..2f6856b 100644
--- a/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/JSONMapEntityStoreMixin.java
+++ b/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/JSONMapEntityStoreMixin.java
@@ -449,7 +449,7 @@ public class JSONMapEntityStoreMixin
EntityDescriptor entityDescriptor = module.entityDescriptor( type );
if( entityDescriptor == null )
{
- throw new NoSuchEntityTypeException( type, module.name(), module.typeLookup() );
+ throw new NoSuchEntityTypeException( type, module );
}
return new JSONEntityState( entityDescriptor.module(), serialization, jsonFactories,
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/17a20799/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/MapEntityStoreMixin.java
----------------------------------------------------------------------
diff --git a/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/MapEntityStoreMixin.java b/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/MapEntityStoreMixin.java
index 2dde5dc..78a95bc 100644
--- a/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/MapEntityStoreMixin.java
+++ b/core/spi/src/main/java/org/apache/polygene/spi/entitystore/helpers/MapEntityStoreMixin.java
@@ -412,7 +412,7 @@ public class MapEntityStoreMixin
EntityDescriptor entityDescriptor = module.entityDescriptor( type );
if( entityDescriptor == null )
{
- throw new NoSuchEntityTypeException( type, module.name(), module.typeLookup() );
+ throw new NoSuchEntityTypeException( type, module );
}
Map<QualifiedName, Object> properties = new HashMap<>();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/17a20799/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java
index 68b2b9a..169b93b 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/EntityStoreTestSuite.java
@@ -421,7 +421,7 @@ public abstract class EntityStoreTestSuite extends AbstractPolygeneMultiLayeredT
@Test
public void givenEntityInheritanceWhenStoreRetrieveExpectSuccess()
{
- Currency.Builder currencyBuilder = objectFactory.newObject( Currency.Builder.class );
+ Currency.Builder currencyBuilder = transientBuilderFactory.newTransient( Currency.Builder.class );
Identity willId;
try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Test - givenEntityInheritanceWhenStoreRetrieveExpectSuccess" ) ) )
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/17a20799/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/people/Rent.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/people/Rent.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/people/Rent.java
index b05aec5..68999b6 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/people/Rent.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/people/Rent.java
@@ -19,6 +19,7 @@
*/
package org.apache.polygene.test.entity.model.people;
+import org.apache.polygene.api.composite.TransientBuilderFactory;
import org.apache.polygene.api.injection.scope.Structure;
import org.apache.polygene.api.object.ObjectFactory;
import org.apache.polygene.api.property.Property;
@@ -37,9 +38,9 @@ public interface Rent
@Structure
private ValueBuilderFactory vbf;
- public Builder( @Structure ObjectFactory objectFactory)
+ public Builder( @Structure TransientBuilderFactory tbf )
{
- currencyBuilder = objectFactory.newObject( Currency.Builder.class );
+ currencyBuilder = tbf.newTransient( Currency.Builder.class );
}
public Rent create( int amount, String currency )