Package org.springframework.data.neo4j.support

Examples of org.springframework.data.neo4j.support.MappingInfrastructureFactoryBean


        emil = new Person("Emil", 30);
        andres = new Person("Andrés", 36);
    }

    private Infrastructure createInfrastructure(Neo4jMappingContext mappingContext) throws Exception {
        MappingInfrastructureFactoryBean factoryBean = new MappingInfrastructureFactoryBean();
        final GraphDatabaseService gdb = new TestGraphDatabaseFactory().newImpermanentDatabase();
        factoryBean.setGraphDatabaseService(gdb);
        final DelegatingGraphDatabase graphDatabase = new DelegatingGraphDatabase(gdb);
        factoryBean.setGraphDatabase(graphDatabase);
        factoryBean.setMappingContext(mappingContext);
        final EntityStateHandler entityStateHandler = new EntityStateHandler(mappingContext, graphDatabase, conversionService);
        final NoopNodeTypeRepresentationStrategy nodeTypeRepresentationStrategy = new NoopNodeTypeRepresentationStrategy();
        factoryBean.setNodeTypeRepresentationStrategy(nodeTypeRepresentationStrategy);
        final NoopRelationshipTypeRepresentationStrategy relationshipTypeRepresentationStrategy = new NoopRelationshipTypeRepresentationStrategy();
        factoryBean.setRelationshipTypeRepresentationStrategy(relationshipTypeRepresentationStrategy);
        factoryBean.setConversionService(new Neo4jConversionServiceFactoryBean().getObject());
        factoryBean.setEntityStateHandler(entityStateHandler);

        EntityStateFactory<Node> nodeEntityStateFactory = new NodeEntityStateFactory(mappingContext, new FieldAccessorFactoryFactory() {
                    public DelegatingFieldAccessorFactory create(Neo4jTemplate template) {
                        return new NodeDelegatingFieldAccessorFactory(template);
                    }
                });

        EntityStateFactory<Relationship> relationshipEntityStateFactory = new RelationshipEntityStateFactory(mappingContext, new FieldAccessorFactoryFactory() {
                    public DelegatingFieldAccessorFactory create(Neo4jTemplate template) {
                        return new RelationshipDelegatingFieldAccessorFactory(template);
                    }
                });
        factoryBean.setNodeEntityStateFactory(nodeEntityStateFactory);
        factoryBean.setRelationshipEntityStateFactory(relationshipEntityStateFactory);

        mappingContext.setEntityIndexCreator(new DefaultEntityIndexCreator(new IndexProviderImpl(graphDatabase), new SchemaIndexProvider(graphDatabase),true));
        mappingContext.setSimpleTypeHolder(null);
        setBasePackage(mappingContext);

        nodeEntityInstantiator = new NodeEntityInstantiator(entityStateHandler);
        relationshipEntityInstantiator = new RelationshipEntityInstantiator(entityStateHandler);
        nodeTypeMapper = new DefaultTypeMapper<Node>(new TRSTypeAliasAccessor<Node>(nodeTypeRepresentationStrategy), asList(new ClassValueTypeInformationMapper()));
        nodeStateTransmitter = new SourceStateTransmitter<Node>(nodeEntityStateFactory);
        relationshipStateTransmitter = new SourceStateTransmitter<Relationship>(relationshipEntityStateFactory);

        fetchHandler = new Neo4jEntityFetchHandler(entityStateHandler, conversionService, nodeStateTransmitter, relationshipStateTransmitter);
        final EntityTools<Node> nodeEntityTools = new EntityTools<Node>(nodeTypeRepresentationStrategy, nodeEntityStateFactory, nodeEntityInstantiator, mappingContext);
        final EntityTools<Relationship> relationshipEntityTools = new EntityTools<Relationship>(relationshipTypeRepresentationStrategy, relationshipEntityStateFactory, relationshipEntityInstantiator, mappingContext);

        entityPersister = new Neo4jEntityPersister(conversionService, nodeEntityTools, relationshipEntityTools, mappingContext, entityStateHandler);
        mappingContext.afterPropertiesSet();
        factoryBean.afterPropertiesSet();
        return factoryBean.getObject();
    }
View Full Code Here


public class TypeRepresentationTests {
    @Test
    public void testSavingTwiceResultsOnlyInOneTRSCall() throws Exception {
        GraphDatabaseService db = new TestGraphDatabaseFactory().newImpermanentDatabase();
        ReferenceNodes.obtainReferenceNode(db,"root");
        MappingInfrastructureFactoryBean factoryBean = new MappingInfrastructureFactoryBean(db, null);
        factoryBean.setTypeRepresentationStrategy(TypeRepresentationStrategyFactory.Strategy.SubRef);
        factoryBean.afterPropertiesSet();
        Neo4jTemplate template = new Neo4jTemplate(factoryBean.getObject());
        Transaction tx = db.beginTx();
        Person person = template.save(new Person());
        person.setName("Bar");
        template.save(person);
        tx.failure();
View Full Code Here

TOP

Related Classes of org.springframework.data.neo4j.support.MappingInfrastructureFactoryBean

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.