Search in sources :

Example 1 with MetaverseDocument

use of org.pentaho.metaverse.api.MetaverseDocument in project pentaho-metaverse by pentaho.

the class DIRepositoryLocatorTest method testStopLocatorScan.

/**
 * Runs the spyLocator and checks the results
 *
 * @throws Exception When bad things happen
 */
@Test
public void testStopLocatorScan() throws Exception {
    TinkerGraph graph = new TinkerGraph();
    IMetaverseBuilder metaverseBuilder = new MetaverseBuilder(graph);
    spyLocator.setMetaverseBuilder(metaverseBuilder);
    spyLocator.addDocumentListener(this);
    spyLocator.setRepository(LocatorTestUtils.getFakeDiRepository());
    spyLocator.setUnifiedRepository(LocatorTestUtils.getMockIUnifiedRepository());
    LocatorTestUtils.delay = 300;
    assertNotNull("Indexer type is null", spyLocator.getLocatorType());
    events = Collections.synchronizedList(new ArrayList<IDocumentEvent>());
    System.out.println("call startScan");
    spyLocator.startScan();
    Thread.sleep(1000);
    System.out.println("call stopScan");
    spyLocator.stopScan();
    assertTrue("Event count is wrong", events.size() < 5);
    for (IDocumentEvent event : events) {
        System.out.println(event.getDocument().getStringID());
        assertNotNull(event.getDocument());
        MetaverseDocument document = (MetaverseDocument) event.getDocument();
        if (document.getExtension().equals("ktr")) {
            assertTrue(document.getContent() instanceof TransMeta);
        } else if (document.getExtension().equals("kjb")) {
            assertTrue(document.getContent() instanceof JobMeta);
        }
    }
}
Also used : JobMeta(org.pentaho.di.job.JobMeta) TinkerGraph(com.tinkerpop.blueprints.impls.tg.TinkerGraph) IDocumentEvent(org.pentaho.metaverse.api.IDocumentEvent) ArrayList(java.util.ArrayList) TransMeta(org.pentaho.di.trans.TransMeta) MetaverseDocument(org.pentaho.metaverse.api.MetaverseDocument) IMetaverseBuilder(org.pentaho.metaverse.api.IMetaverseBuilder) MetaverseBuilder(org.pentaho.metaverse.impl.MetaverseBuilder) IMetaverseBuilder(org.pentaho.metaverse.api.IMetaverseBuilder) Test(org.junit.Test)

Example 2 with MetaverseDocument

use of org.pentaho.metaverse.api.MetaverseDocument in project pentaho-metaverse by pentaho.

the class LocatorRunnerTest method setUp.

@Before
public void setUp() throws Exception {
    when(baseLocator.getMetaverseBuilder()).thenReturn(metaverseBuilder);
    when(metaverseBuilder.getMetaverseObjectFactory()).thenReturn(metaverseObjectFactory);
    when(metaverseObjectFactory.createDocumentObject()).thenReturn(new MetaverseDocument());
}
Also used : MetaverseDocument(org.pentaho.metaverse.api.MetaverseDocument) Before(org.junit.Before)

Example 3 with MetaverseDocument

use of org.pentaho.metaverse.api.MetaverseDocument in project pentaho-metaverse by pentaho.

the class RepositoryLocatorTest method setUp.

@Before
public void setUp() throws Exception {
    RepositoryLocator loc = new RepositoryLocator() {

        @Override
        protected IUnifiedRepository getUnifiedRepository(IPentahoSession session) throws Exception {
            return null;
        }

        @Override
        protected Object getContents(RepositoryFile locatedItem) throws Exception {
            return null;
        }

        /**
         * Returns the locator node for this locator. The locator node is the node in the metaverse
         * that represents this locator. It is used to create a link from this locator to the documents
         * that are found by/within it.
         *
         * @return The locator node in the metaverse
         */
        @Override
        public IMetaverseNode getLocatorNode() {
            return new MetaverseNode(mock(Vertex.class));
        }

        @Override
        public URI getRootUri() {
            return null;
        }
    };
    loc.setMetaverseBuilder(metaverseBuilder);
    baseLocator = spy(loc);
    when(baseLocator.getMetaverseBuilder()).thenReturn(metaverseBuilder);
    when(metaverseBuilder.getMetaverseObjectFactory()).thenReturn(metaverseObjectFactory);
    when(metaverseObjectFactory.createDocumentObject()).thenReturn(new MetaverseDocument());
}
Also used : Vertex(com.tinkerpop.blueprints.Vertex) IPentahoSession(org.pentaho.platform.api.engine.IPentahoSession) RepositoryFile(org.pentaho.platform.api.repository2.unified.RepositoryFile) MetaverseDocument(org.pentaho.metaverse.api.MetaverseDocument) MetaverseNode(org.pentaho.metaverse.impl.MetaverseNode) IMetaverseNode(org.pentaho.metaverse.api.IMetaverseNode) Before(org.junit.Before)

Example 4 with MetaverseDocument

use of org.pentaho.metaverse.api.MetaverseDocument in project pentaho-metaverse by pentaho.

the class FileSystemLocatorTest method testStartLocator.

/**
 * Runs the spyLocator and checks the results
 *
 * @throws Exception When bad things happen
 */
@Test
public void testStartLocator() throws Exception {
    TinkerGraph graph = new TinkerGraph();
    IMetaverseBuilder metaverseBuilder = new MetaverseBuilder(graph);
    spyLocator.setMetaverseBuilder(metaverseBuilder);
    spyLocator.setRepositoryId("testrepo");
    spyLocator.addDocumentListener(this);
    spyLocator.setRootFolder("src/test/resources/solution");
    assertEquals("Root folder is wrong", "src/test/resources/solution", spyLocator.getRootFolder());
    TestFileSystemLocator.delay = 0;
    spyLocator.setRootFolder("bogus");
    events = new ArrayList<IDocumentEvent>();
    try {
        spyLocator.startScan();
        MetaverseCompletionService.getInstance().waitTillEmpty();
        fail();
    } catch (MetaverseLocatorException e) {
        assertEquals("Event count is wrong", 0, events.size());
    }
    spyLocator.setRootFolder("src/test/resources/solution/folder 2/parse.ktr");
    events = new ArrayList<IDocumentEvent>();
    try {
        spyLocator.startScan();
        MetaverseCompletionService.getInstance().waitTillEmpty();
        fail();
    } catch (MetaverseLocatorException e) {
        assertEquals("Event count is wrong", 0, events.size());
    }
    spyLocator.setRootFolder("src/test/resources/solution");
    assertEquals("Repo id is wrong", "testrepo", spyLocator.getRepositoryId());
    assertNotNull("Indexer type is null", spyLocator.getLocatorType());
    events = new ArrayList<IDocumentEvent>();
    spyLocator.startScan();
    MetaverseCompletionService.getInstance().waitTillEmpty();
    assertEquals("Event count is wrong", 7, events.size());
    for (IDocumentEvent event : events) {
        System.out.println(event.getDocument().getStringID());
        assertNotNull(event.getDocument());
        MetaverseDocument document = (MetaverseDocument) event.getDocument();
        if (document.getExtension().equals("ktr")) {
            assertTrue(document.getContent() instanceof String);
        } else if (document.getExtension().equals("kjb")) {
            assertTrue(document.getContent() instanceof String);
        }
    }
    spyLocator.removeDocumentListener(this);
    events = new ArrayList<IDocumentEvent>();
    spyLocator.startScan();
    MetaverseCompletionService.getInstance().waitTillEmpty();
    assertEquals("Event count is wrong", 0, events.size());
    assertNotNull("Graph is null", graph);
    GraphMLWriter writer = new GraphMLWriter();
    writer.outputGraph(graph, new FileOutputStream(OUTPUT_FOLDER + "FileSystemLocatorTest.graphml"));
}
Also used : MetaverseLocatorException(org.pentaho.metaverse.api.MetaverseLocatorException) TinkerGraph(com.tinkerpop.blueprints.impls.tg.TinkerGraph) IDocumentEvent(org.pentaho.metaverse.api.IDocumentEvent) FileOutputStream(java.io.FileOutputStream) MetaverseDocument(org.pentaho.metaverse.api.MetaverseDocument) GraphMLWriter(org.pentaho.metaverse.graph.GraphMLWriter) IMetaverseBuilder(org.pentaho.metaverse.api.IMetaverseBuilder) IMetaverseBuilder(org.pentaho.metaverse.api.IMetaverseBuilder) MetaverseBuilder(org.pentaho.metaverse.impl.MetaverseBuilder) Test(org.junit.Test)

Example 5 with MetaverseDocument

use of org.pentaho.metaverse.api.MetaverseDocument in project pentaho-metaverse by pentaho.

the class DIRepositoryLocatorTest method testStartLocator.

/**
 * Runs the spyLocator and checks the results
 *
 * @throws Exception When bad things happen
 */
@Test
public void testStartLocator() throws Exception {
    TinkerGraph graph = new TinkerGraph();
    IMetaverseBuilder metaverseBuilder = new MetaverseBuilder(graph);
    spyLocator.setMetaverseBuilder(metaverseBuilder);
    spyLocator.addDocumentListener(this);
    spyLocator.setRepository(LocatorTestUtils.getFakeDiRepository());
    LocatorTestUtils.delay = 0;
    spyLocator.setRepositoryId("testrepo");
    assertEquals("Repo id is wrong", "testrepo", spyLocator.getRepositoryId());
    assertNotNull("Indexer type is null", spyLocator.getLocatorType());
    events = new ArrayList<IDocumentEvent>();
    spyLocator.startScan();
    spyLocator.futureTask.get();
    assertEquals("Event count is wrong", 7, events.size());
    for (IDocumentEvent event : events) {
        System.out.println(event.getDocument().getStringID());
        assertNotNull(event.getDocument());
        MetaverseDocument document = (MetaverseDocument) event.getDocument();
        if (document.getExtension().equals("ktr")) {
            assertTrue(document.getContent() instanceof TransMeta);
        } else if (document.getExtension().equals("kjb")) {
            assertTrue(document.getContent() instanceof JobMeta);
        }
    }
    spyLocator.removeDocumentListener(this);
    events = new ArrayList<IDocumentEvent>();
    spyLocator.startScan();
    spyLocator.futureTask.get();
    assertEquals("Event count is wrong", 0, events.size());
}
Also used : JobMeta(org.pentaho.di.job.JobMeta) TinkerGraph(com.tinkerpop.blueprints.impls.tg.TinkerGraph) IDocumentEvent(org.pentaho.metaverse.api.IDocumentEvent) TransMeta(org.pentaho.di.trans.TransMeta) MetaverseDocument(org.pentaho.metaverse.api.MetaverseDocument) IMetaverseBuilder(org.pentaho.metaverse.api.IMetaverseBuilder) MetaverseBuilder(org.pentaho.metaverse.impl.MetaverseBuilder) IMetaverseBuilder(org.pentaho.metaverse.api.IMetaverseBuilder) Test(org.junit.Test)

Aggregations

MetaverseDocument (org.pentaho.metaverse.api.MetaverseDocument)6 TinkerGraph (com.tinkerpop.blueprints.impls.tg.TinkerGraph)4 Test (org.junit.Test)4 IDocumentEvent (org.pentaho.metaverse.api.IDocumentEvent)4 IMetaverseBuilder (org.pentaho.metaverse.api.IMetaverseBuilder)4 MetaverseBuilder (org.pentaho.metaverse.impl.MetaverseBuilder)4 Before (org.junit.Before)2 JobMeta (org.pentaho.di.job.JobMeta)2 TransMeta (org.pentaho.di.trans.TransMeta)2 Vertex (com.tinkerpop.blueprints.Vertex)1 FileOutputStream (java.io.FileOutputStream)1 ArrayList (java.util.ArrayList)1 IMetaverseNode (org.pentaho.metaverse.api.IMetaverseNode)1 MetaverseLocatorException (org.pentaho.metaverse.api.MetaverseLocatorException)1 GraphMLWriter (org.pentaho.metaverse.graph.GraphMLWriter)1 MetaverseNode (org.pentaho.metaverse.impl.MetaverseNode)1 IPentahoSession (org.pentaho.platform.api.engine.IPentahoSession)1 RepositoryFile (org.pentaho.platform.api.repository2.unified.RepositoryFile)1