Package com.wordpress.salaboy.procedures.tracking

Source Code of com.wordpress.salaboy.procedures.tracking.GenericEmergencyProcedureWithTrackingTest

/*
* To change this template, choose Tools | Templates and open the template in
* the editor.
*/
package com.wordpress.salaboy.procedures.tracking;

import com.wordpress.salaboy.context.tracking.ContextTrackingProvider;
import com.wordpress.salaboy.context.tracking.ContextTrackingService;
import com.wordpress.salaboy.grid.*;
import com.wordpress.salaboy.model.*;
import com.wordpress.salaboy.model.persistence.PersistenceService;
import com.wordpress.salaboy.model.persistence.PersistenceServiceProvider;
import java.io.File;
import java.io.IOException;
import org.hornetq.api.core.HornetQException;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
import org.neo4j.cypher.ExecutionEngine;
import org.neo4j.cypher.ExecutionResult;
import org.neo4j.cypher.commands.Query;
import org.neo4j.cypher.javacompat.CypherParser;
import org.neo4j.graphdb.Node;
import scala.collection.Iterator;

/**
*
* @author salaboy
*/
public class GenericEmergencyProcedureWithTrackingTest extends GridBaseTest {

    private PersistenceService persistenceService;
    private ContextTrackingService trackingService;

    public GenericEmergencyProcedureWithTrackingTest() {
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }

    @Before
    public void setUp() throws Exception {


        deleteRecursively(new File(ContextTrackingProvider.defaultDB));
        deleteRecursively(new File("/data"));


        persistenceService = PersistenceServiceProvider.getPersistenceService();
        trackingService = ContextTrackingProvider.getTrackingService();




    }

    @After
    public void tearDown() throws Exception {


       
       
        PersistenceServiceProvider.clear();
        ContextTrackingProvider.clear();
    }

    @Test
    public void generic1Test() throws HornetQException, InterruptedException, IOException, ClassNotFoundException {
        System.out.println("Running Tests! ");
        Emergency e = new Emergency();
        Call call = new Call();
        persistenceService.storeCall(call);
        persistenceService.storeEmergency(e);
        assertEquals(1, persistenceService.getAllEmergencies().size());
        trackingService.attachEmergency(call.getId(), e.getId());
        assertEquals(0, persistenceService.getAllVehicles().size());
       
        assertEquals(0, persistenceService.getAllProcedures().size());
        Procedure procedure = new Procedure("MyProcedure");
        persistenceService.storeProcedure(procedure);
        assertEquals(1, persistenceService.getAllProcedures().size());
        procedure.setProcessInstanceId(12L);
        persistenceService.storeProcedure(procedure);
        assertEquals(1, persistenceService.getAllProcedures().size());
       
        trackingService.attachProcedure(e.getId(), procedure.getId());
       
       

        CypherParser parser = new CypherParser();

        ExecutionEngine engine = new ExecutionEngine(trackingService.getGraphDb());

        Query query = parser.parse("start n=(emergencies, 'emergencyId:*')  return n");

        ExecutionResult result = engine.execute(query);
        Iterator<Node> n_column = result.columnAs("n");


        System.out.println("results: " + result);
        while (n_column.hasNext()) {
            Node currentNode = n_column.next();
            for (String key : currentNode.getPropertyKeys()) {
                System.out.println("Property (" + key + "): " + currentNode.getProperty(key));
            }
        }
        assertEquals(1, result.size());
       
        query = parser.parse("start n=(procedures, 'procedureId:*')  return n");

        result = engine.execute(query);
        n_column = result.columnAs("n");


        System.out.println("results: " + result);
        while (n_column.hasNext()) {
            Node currentNode = n_column.next();
            for (String key : currentNode.getPropertyKeys()) {
                System.out.println("Property (" + key + "): " + currentNode.getProperty(key));
            }
        }
        assertEquals(1, result.size());

    }

    @Test
    public void generic2Test() throws HornetQException, InterruptedException, IOException, ClassNotFoundException {
        System.out.println("Running Tests! ");
        Emergency e = new Emergency();
        Call call = new Call();
        persistenceService.storeCall(call);
        persistenceService.storeEmergency(e);
        assertEquals(1, persistenceService.getAllEmergencies().size());
        trackingService.attachEmergency(call.getId(), e.getId());
        assertEquals(0, persistenceService.getAllVehicles().size());
      
        assertEquals(0, persistenceService.getAllProcedures().size());
        Procedure procedure = new Procedure("MyProcedure");
        persistenceService.storeProcedure(procedure);
        assertEquals(1, persistenceService.getAllProcedures().size());
        procedure.setProcessInstanceId(12L);
        persistenceService.storeProcedure(procedure);
        assertEquals(1, persistenceService.getAllProcedures().size());

        trackingService.attachProcedure(e.getId(), procedure.getId());
       
        CypherParser parser = new CypherParser();

        ExecutionEngine engine = new ExecutionEngine(trackingService.getGraphDb());

        Query query = parser.parse("start n=(emergencies, 'emergencyId:*')  return n");

        ExecutionResult result = engine.execute(query);
        Iterator<Node> n_column = result.columnAs("n");


        System.out.println("results: " + result);
        while (n_column.hasNext()) {
            Node currentNode = n_column.next();
            for (String key : currentNode.getPropertyKeys()) {
                System.out.println("Property (" + key + "): " + currentNode.getProperty(key));
            }
        }
        assertEquals(1, result.size());
       
        query = parser.parse("start n=(procedures, 'procedureId:*')  return n");

        result = engine.execute(query);
        n_column = result.columnAs("n");


        System.out.println("results: " + result);
        while (n_column.hasNext()) {
            Node currentNode = n_column.next();
            for (String key : currentNode.getPropertyKeys()) {
                System.out.println("Property (" + key + "): " + currentNode.getProperty(key));
            }
        }
        assertEquals(1, result.size());
    }

    private static void deleteRecursively(File file) {
        if (!file.exists()) {
            return;
        }

        if (file.isDirectory()) {
            for (File child : file.listFiles()) {
                deleteRecursively(child);
            }
        }
        if (!file.delete()) {
            throw new RuntimeException(
                    "Couldn't empty database. Offending file:" + file);
        }
    }
}
TOP

Related Classes of com.wordpress.salaboy.procedures.tracking.GenericEmergencyProcedureWithTrackingTest

TOP
Copyright © 2018 www.massapi.com. 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.