Example usage for org.apache.commons.collections15 MultiMap put

List of usage examples for org.apache.commons.collections15 MultiMap put

Introduction

In this page you can find the example usage for org.apache.commons.collections15 MultiMap put.

Prototype

V put(K key, V value);

Source Link

Document

Adds the value to the collection associated with the specified key.

Usage

From source file:de.dhke.projects.cutil.collections.MultiMapUtilTest.java

/**
 * Test of getTransitive method, of class MapUtil.
 *///  ww w  .  j  a v a 2  s.  c  om
@Test
public void testGetTransitive_MultiMap_GenericType() {
    MultiMap<String, String> aMultiMap = new MultiHashMap<>();
    aMultiMap.put("A", "B");
    aMultiMap.put("B", "C");
    Collection<String> result = MultiMapUtil.getTransitive(aMultiMap, "A");
    assertEquals(2, result.size());
    assertTrue(result.contains("B"));
    assertTrue(result.contains("C"));

    aMultiMap.put("C", "D");
    result = MultiMapUtil.getTransitive(aMultiMap, "A");
    assertEquals(3, result.size());
    assertTrue(result.contains("B"));
    assertTrue(result.contains("C"));
    assertTrue(result.contains("D"));

    aMultiMap.put("A", "E");
    result = MultiMapUtil.getTransitive(aMultiMap, "A");
    assertEquals(4, result.size());
    assertTrue(result.contains("B"));
    assertTrue(result.contains("C"));
    assertTrue(result.contains("D"));
    assertTrue(result.contains("E"));

    aMultiMap.put("C", "F");
    result = MultiMapUtil.getTransitive(aMultiMap, "A");
    assertEquals(5, result.size());
    assertTrue(result.contains("B"));
    assertTrue(result.contains("C"));
    assertTrue(result.contains("D"));
    assertTrue(result.contains("E"));
    assertTrue(result.contains("F"));

    aMultiMap.put("C", "A");
    result = MultiMapUtil.getTransitive(aMultiMap, "A");
    assertEquals(6, result.size());
    assertTrue(result.contains("A"));
    assertTrue(result.contains("B"));
    assertTrue(result.contains("C"));
    assertTrue(result.contains("D"));
    assertTrue(result.contains("E"));
    assertTrue(result.contains("F"));

}

From source file:de.dhke.projects.cutil.collections.cow.CopyOnWriteMultiMapTest.java

/**
 * Test of putAll method, of class GenericCopyOnWriteMultiMap.
 *//*  w  ww.  j a  v a 2  s .  c  o m*/
@Test
public void testPutAll_MultiMap() {
    MultiMap<String, String> newEntries = _factory.getInstance();
    newEntries.put("1", "");
    newEntries.put("1", "alpha");
    newEntries.put("2", "");
    newEntries.put("2", "beta");
    newEntries.put("3", "");
    newEntries.put("3", "gamma");

    _cowMap.putAll(newEntries);
    assertEquals(4, _cowMap.get("1").size());
    assertTrue(_cowMap.get("1").containsAll(Arrays.asList("a", "A", "", "alpha")));
    assertEquals(4, _cowMap.get("2").size());
    assertTrue(_cowMap.get("2").containsAll(Arrays.asList("b", "B", "", "beta")));
    assertEquals(4, _cowMap.get("3").size());
    assertTrue(_cowMap.get("3").containsAll(Arrays.asList("c", "C", "", "gamma")));

    assertEquals(Arrays.asList("a", "A"), _baseMap.get("1"));
    assertEquals(Arrays.asList("b", "B"), _baseMap.get("2"));
    assertEquals(Arrays.asList("c", "C"), _baseMap.get("3"));
}

From source file:de.dhke.projects.cutil.collections.aspect.AspectMultiMapTest.java

@Test
public void testPutAll_MultiMap_veto() {
    MultiMap<String, String> addMap = new MultiHashMap<>();
    addMap.put("1", "");
    addMap.put("1", "alpha");
    addMap.put("2", "");
    addMap.put("2", "beta");
    _listener.vetoAdd = true;// ww  w .j  a v a  2s  .  c  o m
    try {
        _aspectMap.putAll(addMap);
        fail("Add veto not raised");
    } catch (AssertionError ex) {
        /* ignore */
    }
    assertTrue(_listener.beforeAddEvents.isEmpty());
    assertTrue(_listener.afterAddEvents.isEmpty());
}

From source file:de.dhke.projects.cutil.collections.aspect.AspectMultiMapTest.java

/**
 * Test of putAll method, of class AspectMultiMap.
 *//*from   ww  w .ja v  a 2  s  . c  o  m*/
@Test
public void testPutAll_MultiMap() {
    MultiMap<String, String> addMap = new MultiHashMap<>();
    addMap.put("1", "");
    addMap.put("1", "alpha");
    addMap.put("2", "");
    addMap.put("2", "beta");
    _aspectMap.putAll(addMap);
    TestHelper.assertSequenceEquals(Arrays.asList("a", "A", "", "alpha"), _aspectMap.get("1"));
    TestHelper.assertSequenceEquals(Arrays.asList("b", "B", "", "beta"), _aspectMap.get("2"));
    assertEquals(4, _listener.beforeAddEvents.size());
    assertTrue(TestHelper.eventListContains(new DefaultMapEntry<>("1", ""), _listener.beforeAddEvents));
    assertTrue(TestHelper.eventListContains(new DefaultMapEntry<>("1", "alpha"), _listener.beforeAddEvents));
    assertTrue(TestHelper.eventListContains(new DefaultMapEntry<>("2", ""), _listener.beforeAddEvents));
    assertTrue(TestHelper.eventListContains(new DefaultMapEntry<>("2", "beta"), _listener.beforeAddEvents));
    assertEquals(4, _listener.afterAddEvents.size());
    assertTrue(TestHelper.eventListContains(new DefaultMapEntry<>("1", ""), _listener.afterAddEvents));
    assertTrue(TestHelper.eventListContains(new DefaultMapEntry<>("1", "alpha"), _listener.afterAddEvents));
    assertTrue(TestHelper.eventListContains(new DefaultMapEntry<>("2", ""), _listener.afterAddEvents));
    assertTrue(TestHelper.eventListContains(new DefaultMapEntry<>("2", "beta"), _listener.afterAddEvents));
}

From source file:org.dataconservancy.dcs.index.rebuild.OrderedDcpEntitySource.java

private DcsEntity[] createMetadataFor(DcsEntity entity, boolean... oldStyle) {

    DcsDeliverableUnit metadataDU = new DcsDeliverableUnit();
    metadataDU.setTitle("MetadataDU");
    metadataDU.setId("metadata_du_for_" + entity.getId());
    metadataDU.addCollection(new DcsCollectionRef(COLLECTION_OF_METADATA));
    metadataDU.addParent(new DcsDeliverableUnitRef(DU_COLLECTION_OF_METADATA));
    entities.put(metadataDU.getId(), metadataDU);

    DcsFile file = createMetadataFileDescribing(entity);

    DcsManifestation manifestation;/* ww  w .j  a va2s  .c o m*/
    MultiMap<DcsFile, DcsEntity> metadataFor = new MultiHashMap<DcsFile, DcsEntity>();

    if (oldStyle.length == 0) {
        /* use IS_METADATA_FOR relationships */
        metadataFor.put(file, entity);
        manifestation = createManifestation(metadataDU, metadataFor);
    } else {
        /* Suitable for old-style direct reference from containing entity */
        manifestation = createManifestation(metadataDU, metadataFor, file);
    }

    addChldrenTo(COLLECTION_OF_METADATA, metadataDU);
    addChldrenTo(DU_COLLECTION_OF_METADATA, metadataDU);
    addChldrenTo(metadataDU, manifestation);
    addChldrenTo(manifestation, file);

    return new DcsEntity[] { file, metadataDU, manifestation };
}

From source file:org.echocat.jomon.runtime.CollectionUtilsUnitTest.java

@Test
public void testIsNotEmpty() throws Exception {
    // Test multi map ...
    final MultiMap<String, String> multiMap = new MultiHashMap<>();
    assertThat(CollectionUtils.isNotEmpty(multiMap), is(false));
    multiMap.put("Key", "Value");
    assertThat(CollectionUtils.isNotEmpty(multiMap), is(true));
    // Test null values (incl. the MultiMap) ...
    assertThat(CollectionUtils.isNotEmpty(
            Collections.singletonMap("Testkey", asList("Testvalue")).get("NonexistentKey")), is(false));
    assertThat(/* w ww .  j av  a 2  s  .  c om*/
            CollectionUtils.isNotEmpty(
                    Collections.singletonMap("Testkey", asMap("Testkey", "Testvalue")).get("NonexistentKey")),
            is(false));
    assertThat(
            CollectionUtils.isNotEmpty(
                    Collections.singletonMap("Testkey", asMap("Testkey", "Testvalue")).get("NonexistentKey")),
            is(false));
    assertThat(CollectionUtils.isNotEmpty(Collections.singletonMap("Testkey", multiMap).get("NonexistentKey")),
            is(false));
    // Test empty values ...
    assertThat(CollectionUtils.isNotEmpty(Collections.emptyList()), is(false));
    assertThat(CollectionUtils.isNotEmpty(Collections.emptyMap()), is(false));
    // Test non empty values ...
    assertThat(CollectionUtils.isNotEmpty(Collections.singletonList("Test")), is(true));
    assertThat(CollectionUtils.isNotEmpty(Collections.singletonMap("Testkey", "Testvalue")), is(true));
}

From source file:org.openanzo.combus.realtime.RealtimeUpdatePublisher.java

private void removeDestination(Destination destination) {
    synchronized (datasetTrackers) {
        MultiMap<URI, DestinationDatasetTracker> toRemove = new MultiHashMap<URI, DestinationDatasetTracker>();
        for (Map.Entry<URI, Collection<DestinationDatasetTracker>> entry : datasetTrackers.entrySet()) {
            for (DestinationDatasetTracker tracker : entry.getValue()) {
                if (tracker.getDestination().equals(destination)) {
                    toRemove.put(entry.getKey(), tracker);
                }//  w w w.  j a  v a2 s .com
            }
        }
        for (Map.Entry<URI, Collection<DestinationDatasetTracker>> entry : toRemove.entrySet()) {
            for (DestinationDatasetTracker tracker : entry.getValue()) {
                datasetTrackers.remove(entry.getKey(), tracker);
            }
        }
    }
    synchronized (namedGraphTrackers) {
        MultiMap<URI, DestinationNamedgraphTracker> toRemove = new MultiHashMap<URI, DestinationNamedgraphTracker>();
        for (Map.Entry<URI, Collection<DestinationNamedgraphTracker>> entry : namedGraphTrackers.entrySet()) {
            for (DestinationNamedgraphTracker dest : entry.getValue()) {
                if (dest.getDestination().equals(destination)) {
                    toRemove.put(entry.getKey(), dest);
                }
            }
        }
        for (Map.Entry<URI, Collection<DestinationNamedgraphTracker>> entry : toRemove.entrySet()) {
            for (DestinationNamedgraphTracker dest : entry.getValue()) {
                namedGraphTrackers.remove(entry.getKey(), dest);
            }
        }
    }
}

From source file:org.openanzo.datasource.nodecentric.internal.NodeCentricResetService.java

private void resetGraph(MultiMap<URI, Statement> statements, NodeCentricOperationContext context, URI serverURI)
        throws AnzoException {
    Collection<Statement> graphTemplates = new ArrayList<Statement>();
    // If a graph doesn't have a corresponding metadata graph in the statements, then add a default metadata graph for it.
    graphTemplates.add(new Statement(GRAPHS.DEFAULT_GRAPH_TEMPLATE, RDF.TYPE, NamedGraph.TYPE));
    graphTemplates.add(new Statement(GRAPHS.DEFAULT_GRAPH_TEMPLATE, NamedGraph.revisionedProperty,
            MemTypedLiteral.create(true)));
    graphTemplates.add(new Statement(GRAPHS.DEFAULT_GRAPH_TEMPLATE, NamedGraph.persistedProperty,
            MemTypedLiteral.create(true)));

    graphTemplates.add(new Statement(GRAPHS.DEFAULT_GRAPH_TEMPLATE, NamedGraph.canBeReadByProperty,
            Constants.EVERYONE_ROLE));/* w w w . j  a  va  2  s .co m*/
    graphTemplates.add(new Statement(GRAPHS.DEFAULT_GRAPH_TEMPLATE, NamedGraph.canBeAddedToByProperty,
            Constants.EVERYONE_ROLE));
    graphTemplates.add(new Statement(GRAPHS.DEFAULT_GRAPH_TEMPLATE, NamedGraph.canBeRemovedFromByProperty,
            Constants.EVERYONE_ROLE));

    graphTemplates.add(new Statement(GRAPHS.DEFAULT_METADATA_GRAPH_TEMPLATE, NamedGraph.canBeReadByProperty,
            Constants.EVERYONE_ROLE));
    graphTemplates.add(new Statement(GRAPHS.DEFAULT_METADATA_GRAPH_TEMPLATE, NamedGraph.canBeAddedToByProperty,
            Constants.EVERYONE_ROLE));
    graphTemplates.add(new Statement(GRAPHS.DEFAULT_METADATA_GRAPH_TEMPLATE,
            NamedGraph.canBeRemovedFromByProperty, Constants.EVERYONE_ROLE));

    context.setAttribute("resetting", Boolean.valueOf(true));
    statements.put(GRAPHS.DEFAULT_SYSTEMGRAPH, Constants.valueFactory.createStatement(
            GRAPHS.DEFAULT_SYSTEMGRAPH, AnzoServer.serverIdProperty, serverURI, GRAPHS.DEFAULT_SYSTEMGRAPH));
    datasource.getUpdateService().importStatements(context, statements.values(), graphTemplates);

}

From source file:org.openanzo.datasource.services.BaseResetService.java

public void reset(IOperationContext context, Collection<Statement> statements, Collection<Statement> checks)
        throws AnzoException {
    if (!enabled) {
        throw new AnzoException(ExceptionConstants.SERVER.RESET_NOT_ENABLED);
    }//from  ww  w . j a v  a2  s. c  om
    long start = 0;
    if (stats.isEnabled()) {
        start = System.currentTimeMillis();
    }
    logEntry();
    try {
        long start2 = 0;
        long end = 0;
        if (log.isDebugEnabled()) {
            System.currentTimeMillis();
        }
        if (getDatasource() instanceof BaseDatasource) {
            ((BaseDatasource) getDatasource()).resetStarting();
        }
        if (log.isDebugEnabled()) {
            end = System.currentTimeMillis();
            log.debug(LogUtils.DATASOURCE_MARKER, "PreReset:" + (end - start2));
            start2 = end;
        }
        if (getLockProvider() != null)
            getLockProvider().writeLock().lock();
        try {
            if (getDatasource() instanceof BaseDatasource) {
                ((BaseDatasource) getDatasource()).reset();
            }
            if (log.isDebugEnabled()) {
                end = System.currentTimeMillis();
                log.debug(LogUtils.DATASOURCE_MARKER, "Reset:" + (end - start2));
                start2 = end;
            }
            if (eventAdmin != null)
                eventAdmin.sendEvent(new Event(OSGI.RESET_TOPIC, (Map<Object, Object>) new Properties()));

            MultiMap<URI, Statement> map = new AnzoMultiMap<URI, Statement>();
            for (Statement stmt : statements) {
                map.put(stmt.getNamedGraphUri(), stmt);
            }
            resetInternal(context, map, checks);
            if (log.isDebugEnabled()) {
                end = System.currentTimeMillis();
                log.debug(LogUtils.DATASOURCE_MARKER, "ResetInternal:" + (end - start2));
                start2 = end;
            }
        } finally {
            if (getLockProvider() != null)
                getLockProvider().writeLock().unlock();
        }
        if (getDatasource() instanceof BaseDatasource) {
            ((BaseDatasource) getDatasource()).postReset();
        }
        if (log.isDebugEnabled()) {
            end = System.currentTimeMillis();
            log.debug(LogUtils.DATASOURCE_MARKER, "PostReset:" + (end - start2));
            start2 = end;
        }

        if (getDatasource() instanceof BaseDatasource) {
            ((BaseDatasource) getDatasource()).resetFinished();
        }
        if (log.isDebugEnabled()) {
            end = System.currentTimeMillis();
            log.debug(LogUtils.DATASOURCE_MARKER, "ResetFinished:" + (end - start2));
            start2 = end;
        }
        resetChecks(context, checks);
    } finally {
        if (stats.isEnabled()) {
            stats.use("reset", (System.currentTimeMillis() - start));
        }
        logExit();
    }
}

From source file:org.openanzo.datasource.services.BaseUpdateService.java

public IUpdates importStatements(IOperationContext context, Collection<Statement> statements,
        Collection<Statement> graphTemplate) throws AnzoException {
    long start = 0;
    if (stats.isEnabled()) {
        start = System.currentTimeMillis();
    }//from  w  w  w  .  j  a v  a  2 s  . co  m
    throwExceptionIfAnonymousUser(context);
    if (getLockProvider() != null)
        getLockProvider().readLock().lock();
    logEntry();
    try {
        MultiMap<URI, Statement> map = new AnzoMultiMap<URI, Statement>();
        for (Statement stmt : statements) {
            URI ngUri = stmt.getNamedGraphUri();
            if (ngUri == null) {
                throw new AnzoException(ExceptionConstants.DATASOURCE.STATEMENT_NO_GRAPH);
            }
            map.put(ngUri, stmt);
        }
        if (graphTemplate == null) {
            graphTemplate = Collections.<Statement>emptySet();
        }
        IUpdates updateResults = importStatementsInternal(context, map, graphTemplate);
        for (IUpdateResultListener listener : datasourceUpdateResultListeners) {
            try {
                listener.updateComplete(context, updateResults);
            } catch (AnzoException ae) {
                log.error(LogUtils.DATASOURCE_MARKER, "Error in listener:" + listener.getClass().getName());
            }
        }
        Boolean fireGlobal = (Boolean) context.getAttribute(FIRE_GLOBAL_UDPATE_EVENTS);
        if (fireGlobal == null || fireGlobal.booleanValue()) {
            for (IUpdateResultListener listener : globalUpdateResultListeners) {
                try {
                    listener.updateComplete(context, updateResults);
                } catch (AnzoException ae) {
                    log.error(LogUtils.DATASOURCE_MARKER, "Error in listener:" + listener.getClass().getName());
                }
            }
        }
        if (log.isDebugEnabled()) {
            log.debug(LogUtils.TIMING_MARKER, "Base Import,{},{}", (System.currentTimeMillis() - start),
                    map.values().size());
        }
        return updateResults;
    } finally {
        if (stats.isEnabled()) {
            stats.use("importStatements", (System.currentTimeMillis() - start));
        }
        if (getLockProvider() != null)
            getLockProvider().readLock().unlock();
        logExit();
    }
}