Package org.caffinitas.mapper.core

Examples of org.caffinitas.mapper.core.PersistenceSession


            System.out.println("Wait until all schema objects are available...");
            System.out.println();
            persistenceManager.refreshSchema(); // This is necessary until schema changes are propagated from the Java Driver to Caffinitas Mappe automatically!
            schemaGenerator.forSchemaObjectsAvailable().awaitUninterruptibly();

            PersistenceSession session = persistenceManager.createSession();
            try
            {

                // create a user object and persist it

                UserEntity snazy = new UserEntity();
                snazy.setUsername("snazy");
                AddressType mainAddress = new AddressType(null, null, "Koeln", "Germany");
                snazy.setMainAddress(mainAddress);
                snazy.getOtherAddresses().put(AddressKind.HOME, mainAddress);
                session.insert(snazy);

                // now load the user object

                UserEntity loaded = session.loadOne(UserEntity.class, "snazy");
                System.out.printf("got user record for %s %n", loaded.getUsername());

                //
                //
                //

                // Setup a project...

                ProjectEntity project = new ProjectEntity();
                project.setId(UUID.randomUUID());
                project.setName("caffinitas");
                project.setLicense(License.APACHE_V2);
                project.getAuthors().add("snazy");
                project.getContributors().add("snazy");
                project.setProjectURL(new URL("http://caffinitas.org/"));

                AggregatorModuleEntity parentModule = new AggregatorModuleEntity();
                parentModule.setProjectId(project.getId());
                parentModule.setName("caffinitas-parent");

                CodeModuleEntity moduleCore = new CodeModuleEntity();
                moduleCore.setProjectId(project.getId());
                moduleCore.setName("caffinitas-core");
                moduleCore.setLanguage(Language.JAVA);

                CodeModuleEntity moduleDemo = new CodeModuleEntity();
                moduleDemo.setProjectId(project.getId());
                moduleDemo.setName("caffinitas-demo");
                moduleDemo.setLanguage(Language.JAVA);

                CodeModuleEntity moduleTest = new CodeModuleEntity();
                moduleTest.setProjectId(project.getId());
                moduleTest.setName("caffinitas-test");
                moduleTest.setLanguage(Language.JAVA);

                parentModule.getModules().add("caffinitas-core");
                parentModule.getModules().add("caffinitas-demo");
                parentModule.getModules().add("caffinitas-test");

                ModifyFuture<ProjectEntity> projectPersistFuture = session.insertAsync(project);
                ModifyFuture<AggregatorModuleEntity> parentModulePersistFuture = session.insertAsync(parentModule);
                ModifyFuture<CodeModuleEntity> moduleCorePersistFuture = session.insertAsync(moduleCore);
                ModifyFuture<CodeModuleEntity> moduleDemoPersistFuture = session.insertAsync(moduleDemo);
                ModifyFuture<CodeModuleEntity> moduleTestPersistFuture = session.insertAsync(moduleTest);

                ListenableFuture<List<Object>> combinedFuture =
                    Futures.allAsList(projectPersistFuture, parentModulePersistFuture,
                        moduleCorePersistFuture, moduleDemoPersistFuture, moduleTestPersistFuture);
                Uninterruptibles.getUninterruptibly(combinedFuture);

                //

                project = session.loadOne(ProjectEntity.class, project.getId());

                // load all modules (since projectId is the partition key in ModuleEntity we can load it with one SELECT)
                List<ModuleEntity> modules = session.loadMultiple(ModuleEntity.class, project.getId());

                for (ModuleEntity module : modules)
                {
                    System.out.println("  " + module.getName());
                }
            }
            finally
            {
                session.close();
            }

        }
        finally
        {
View Full Code Here


        } finally {session.close();}
    }

    @Test(dependsOnMethods = "createSchema")
    public void tablePerClass_atB_differentConditions() throws Exception {
        PersistenceSession session = persistenceManager.createSession();
        try {
            Map<Class<? extends TpcInheritB>, String> conditionMap = new HashMap<Class<? extends TpcInheritB>, String>();
            conditionMap.put(TpcInheritB.class, "id = :id3");
            conditionMap.put(TpcInheritB2.class, "id = :id4");
            QueryBinder<TpcInheritB> queryBinder = session.createQueryBinder(TpcInheritB.class, null, null, conditionMap);
            queryBinder.setInt("id1", 41);
            queryBinder.setInt("id2", 42);
            queryBinder.setInt("id3", 43);
            queryBinder.setInt("id4", 44);
            queryBinder.setInt("id5", 45);
            List<TpcInheritB> result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertTrue(result.isEmpty());

            // as named query

            queryBinder = session.createNamedQueryBinder(TpcInheritB.class, null, "byOther");
            queryBinder.setInt("id1", 41);
            queryBinder.setInt("id2", 42);
            queryBinder.setInt("id3", 43);
            queryBinder.setInt("id4", 44);
            queryBinder.setInt("id5", 45);
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertTrue(result.isEmpty());

            // insert data

            TpcBaseEntity inst = new TpcBaseEntity();
            inst.setId(41);
            inst.setVal("one");
            session.insert(inst);
            inst = new TpcInheritA();
            inst.setId(42);
            inst.setVal("two");
            session.insert(inst);
            inst = new TpcInheritB();
            inst.setId(43);
            inst.setVal("three");
            session.insert(inst);
            inst = new TpcInheritB2();
            inst.setId(44);
            inst.setVal("three");
            session.insert(inst);
            inst = new TpcInheritC();
            inst.setId(45);
            inst.setVal("three");
            session.insert(inst);

            // again

            queryBinder = session.createQueryBinder(TpcInheritB.class, null, null, conditionMap);
            queryBinder.setInt("id1", 41);
            queryBinder.setInt("id2", 42);
            queryBinder.setInt("id3", 43);
            queryBinder.setInt("id4", 44);
            queryBinder.setInt("id5", 45);
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertEquals(result.size(), 2);

            // as named query

            queryBinder = session.createNamedQueryBinder(TpcInheritB.class, null, "byOther");
            queryBinder.setInt("id1", 41);
            queryBinder.setInt("id2", 42);
            queryBinder.setInt("id3", 43);
            queryBinder.setInt("id4", 44);
            queryBinder.setInt("id5", 45);
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertEquals(result.size(), 2);
        } finally {session.close();}
    }
View Full Code Here

        } finally {session.close();}
    }

    @Test(dependsOnMethods = "createSchema")
    public void singleTable_root() throws Exception {
        PersistenceSession session = persistenceManager.createSession();
        try {
            QueryBinder<StBaseEntity> queryBinder = session.createQueryBinder(StBaseEntity.class, null, "id in :id", null);
            queryBinder.setList("id", Arrays.asList(1, 2, 3));
            List<StBaseEntity> result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertTrue(result.isEmpty());

            // as named query

            queryBinder = session.createNamedQueryBinder(StBaseEntity.class, null, "byIds");
            queryBinder.setList("id", Arrays.asList(1, 2, 3));
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertTrue(result.isEmpty());

            // insert data

            StBaseEntity inst = new StBaseEntity();
            inst.setId(11);
            inst.setVal("one");
            session.insert(inst);
            inst.setId(12);
            inst.setVal("two");
            session.insert(inst);
            inst.setId(13);
            inst.setVal("three");
            session.insert(inst);

            // again

            queryBinder = session.createQueryBinder(StBaseEntity.class, null, "id in :id", null);
            queryBinder.setList("id", Arrays.asList(11, 12, 13));
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertEquals(result.size(), 3);

            // as named query

            queryBinder = session.createNamedQueryBinder(StBaseEntity.class, null, "byIds");
            queryBinder.setList("id", Arrays.asList(11, 12, 13));
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertEquals(result.size(), 3);
        } finally {session.close();}
    }
View Full Code Here

        } finally {session.close();}
    }

    @Test(dependsOnMethods = "singleTable_root")
    public void singleTable_atB() throws Exception {
        PersistenceSession session = persistenceManager.createSession();
        try {
            QueryBinder<StInheritB> queryBinder = session.createQueryBinder(StInheritB.class, null, "id in :id", null);
            queryBinder.setList("id", Arrays.asList(1, 2, 3));
            List<StInheritB> result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertTrue(result.isEmpty());

            // as named query

            queryBinder = session.createNamedQueryBinder(StInheritB.class, null, "byIds");
            queryBinder.setList("id", Arrays.asList(1, 2, 3));
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertTrue(result.isEmpty());

            // insert data

            StInheritB inst = new StInheritB();
            inst.setId(21);
            inst.setVal("one");
            session.insert(inst);
            inst.setId(22);
            inst.setVal("two");
            session.insert(inst);
            inst.setId(23);
            inst.setVal("three");
            session.insert(inst);

            // again

            queryBinder = session.createQueryBinder(StInheritB.class, null, "id in :id", null);
            queryBinder.setList("id", Arrays.asList(11, 12, 13, 21, 22, 23));
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertEquals(result.size(), 3);

            // as named query

            queryBinder = session.createNamedQueryBinder(StInheritB.class, null, "byIds");
            queryBinder.setList("id", Arrays.asList(11, 12, 13, 21, 22, 23));
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertEquals(result.size(), 3);
        } finally {session.close();}
    }
View Full Code Here

        } finally {session.close();}
    }

    @Test(dependsOnMethods = "createSchema")
    public void simple() throws Exception {
        PersistenceSession session = persistenceManager.createSession();
        try {
            QueryBinder<SimpleEntity> queryBinder = session.createQueryBinder(SimpleEntity.class, null, "id in :id", null);
            queryBinder.setList("id", Arrays.asList(1, 2, 3));
            List<SimpleEntity> result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertTrue(result.isEmpty());

            // as named query

            queryBinder = session.createNamedQueryBinder(SimpleEntity.class, null, "byIds");
            queryBinder.setList("id", Arrays.asList(1, 2, 3));
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertTrue(result.isEmpty());

            // insert data

            SimpleEntity inst = new SimpleEntity();
            inst.setId(1);
            inst.setStr("one");
            session.insert(inst);
            inst.setId(2);
            inst.setStr("two");
            session.insert(inst);
            inst.setId(3);
            inst.setStr("three");
            session.insert(inst);

            // again

            queryBinder = session.createQueryBinder(SimpleEntity.class, null, "id in :id", null);
            queryBinder.setList("id", Arrays.asList(1, 2, 3));
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertEquals(result.size(), 3);

            // as named query

            queryBinder = session.createNamedQueryBinder(SimpleEntity.class, null, "byIds");
            queryBinder.setList("id", Arrays.asList(1, 2, 3));
            result = session.executeQuery(queryBinder);

            Assert.assertNotNull(result);
            Assert.assertEquals(result.size(), 3);
        } finally {session.close();}
    }
View Full Code Here

        ExecutionTracerFactory executionTracerFactory = new SingletonExecutionTracerFactory(executionTracer);

        persistenceManager = withPersistenceManagerBuilder(model).withExecutionTracerFactory(executionTracerFactory).build();

        PersistenceSession session = persistenceManager.createSession();
        try {
            session.setTracing(true);

            SimpleEntity inst = new SimpleEntity();
            inst.setId(1);

            session.insert(inst);

            Assert.assertTrue(beginModify.get());
            Assert.assertFalse(beginQuery.get());
            Assert.assertFalse(readResultSetBegin.get());
            Assert.assertFalse(readResultSetRow.get());
            Assert.assertFalse(readResultSetEnd.get());
            Assert.assertTrue(modifyWrapResultSet.get());

            beginModify.set(false);
            modifyWrapResultSet.set(false);

            session.loadOne(SimpleEntity.class, 1);

            Assert.assertFalse(beginModify.get());
            Assert.assertTrue(beginQuery.get());
            Assert.assertTrue(readResultSetBegin.get());
            Assert.assertTrue(readResultSetRow.get());
            Assert.assertTrue(readResultSetEnd.get());
            Assert.assertFalse(modifyWrapResultSet.get());

        } finally {
            session.close();
        }
    }
View Full Code Here

        Assert.assertEquals(cols.get(0).getName(), "nt");
    }

    @Test(dependsOnMethods = "createSchema")
    public void ref_simple() throws Exception {
        PersistenceSession session = persistenceManager.createSession();
        try {
            ReferencedEntity inst = new ReferencedEntity();
            inst.setId(1);
            inst.setVal("1");
            session.insert(inst);

            ReferencedEntity loaded = session.loadOne(ReferencedEntity.class, 1);
            Assert.assertNotNull(loaded);
            Assert.assertEquals(loaded.getVal(), "1");

            NextFlatComposite compNext = new NextFlatComposite();
            compNext.setTs(new Date());
            compNext.setValA(.42d);

            SomeComposite comp = new SomeComposite();
            comp.setStr("cstr");
            comp.setVint(42);
            comp.setNext(compNext);

            SomeComposite compB = new SomeComposite();
            compB.setStr("zyx");
            compB.setVint(88);
            compB.setNext(compNext);

            ReferencingEntity ref = new ReferencingEntity();
            ref.setId(2);
            ref.setVal("v2");
            ref.setReferencedEntity(loaded);
            ref.setSomeComposite(comp);
            ref.setCompB(compB);

            session.insert(ref);

            ReferencingEntity l = session.loadOne(ReferencingEntity.class, 2);
            Assert.assertEquals(l.getId(), 2);
            Assert.assertEquals(l.getVal(), "v2");
            Assert.assertNotNull(l.getReferencedEntity());
            Assert.assertEquals(l.getReferencedEntity().getId(), 1);
            Assert.assertEquals(l.getReferencedEntity().getVal(), "1");
            Assert.assertNotNull(l.getSomeComposite());
            Assert.assertEquals(l.getSomeComposite().getStr(), "cstr");
            Assert.assertEquals(l.getSomeComposite().getVint(), 42);
            Assert.assertNotNull(l.getSomeComposite().getNext());
            Assert.assertEquals(l.getSomeComposite().getNext().getTs(), compNext.getTs());
            Assert.assertEquals(l.getSomeComposite().getNext().getValA(), .42d);
            Assert.assertNotNull(l.getCompB());
            Assert.assertEquals(l.getCompB().getStr(), "zyx");
            Assert.assertEquals(l.getCompB().getVint(), 88);
            Assert.assertNotNull(l.getCompB().getNext());
            Assert.assertEquals(l.getCompB().getNext().getTs(), compNext.getTs());
            Assert.assertEquals(l.getCompB().getNext().getValA(), .42d);

        } finally {
            session.close();
        }
    }
View Full Code Here

    persistenceManager.close();
  }

  @Test
  public void timeUUIDPrepare() throws IOException {
    PersistenceSession persistenceSession = persistenceManager.createSession();
    Set<Long> adrs = SystemMacAddresses.inquireMacAddresses();
    StoreUUIDGeneratorConfigurer config = new StoreUUIDGeneratorConfigurer(adrs, persistenceSession);
    generator = new UUIDGenerator(4, config);
  }
View Full Code Here

    }

    @Test(dependsOnMethods = "createSchema")
    public void composite_insertAndLoad() throws Exception {

        PersistenceSession session = persistenceManager.createSession();
        try {
            TupleEntity inst = new TupleEntity();
            inst.setId(11);
            TupleComposite comp = new TupleComposite();
            comp.setStr("string");
            comp.setNum(42);
            inst.setComp(comp);
            session.insert(inst);

            TupleEntity loaded = session.loadOne(TupleEntity.class, 11);
            Assert.assertNotNull(loaded);
            Assert.assertNotNull(loaded.getComp());
            Assert.assertEquals(loaded.getComp().getNum(), 42);
            Assert.assertEquals(loaded.getComp().getStr(), "string");
        } finally {session.close();}
    }
View Full Code Here

        createSchemaDo(Collections.<Class<?>>singletonList(DynamicCompEntity.class));
    }

    @Test(dependsOnMethods = "createSchema")
    public void dynamic_insertAndLoad() throws Exception {
        PersistenceSession session = persistenceManager.createSession();
        try {
            DynamicCompEntity inst = new DynamicCompEntity();
            inst.setId(11);
            DynamicComposite dyn = new DynamicComposite();
            dyn.addBool(true);
            dyn.addUtf8String("Ursus");
            dyn.addInt(42);
            inst.setDyn(dyn);
            session.insert(inst);

            DynamicCompEntity loaded = session.loadOne(DynamicCompEntity.class, 11);
            Assert.assertNotNull(loaded);
            dyn = loaded.getDyn();
            Assert.assertNotNull(dyn);
            Assert.assertEquals(dyn.size(), 3);
            Assert.assertEquals(dyn.getType(0), DataType.cboolean());
            Assert.assertEquals(dyn.getType(1), DataType.text());
            Assert.assertEquals(dyn.getType(2), DataType.cint());
            Assert.assertEquals(dyn.getBool(0), true);
            Assert.assertEquals(dyn.getString(1), "Ursus");
            Assert.assertEquals(dyn.getInt(2), 42);
        } finally {session.close();}
    }
View Full Code Here

TOP

Related Classes of org.caffinitas.mapper.core.PersistenceSession

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.