}
private void assembleInfrastructureLayer( LayerAssembly infrastructureLayer )
throws AssemblyException
{
ModuleAssembly serializationModule = infrastructureLayer.module( "INFRASTRUCTURE-Serialization" );
serializationModule
.services( OrgJsonValueSerializationService.class )
.taggedWith( ValueSerialization.Formats.JSON )
.setMetaInfo( new Function<Application, Module>()
{
@Override
public Module map( Application application )
{
return application.findModule( "CONTEXT", "CONTEXT-ContextSupport" );
}
} )
.visibleIn( application );
ModuleAssembly indexingModule = infrastructureLayer.module( "INFRASTRUCTURE-Indexing" );
indexingModule
.objects(
EntityStateSerializer.class,
EntityTypeSerializer.class );
indexingModule
.addServices(
MemoryRepositoryService.class,
RdfIndexingEngineService.class )
.instantiateOnStartup()
.visibleIn( application );
ModuleAssembly entityStoreModule = infrastructureLayer.module( "INFRASTRUCTURE-EntityStore" );
entityStoreModule
.addServices(
MemoryEntityStoreService.class,
UuidIdentityGeneratorService.class )
.instantiateOnStartup()
.visibleIn( application );
ModuleAssembly externalServiceModule = infrastructureLayer.module( "INFRASTRUCTURE-ExternalService" );
externalServiceModule
.importedServices(
GraphTraversalService.class )
.setMetaInfo( new GraphTraversalServiceImpl( new GraphDAO() ) )
.visibleIn( application );
}