List of usage examples for org.apache.commons.collections15 MultiMap put
V put(K key, V value);
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(); } }