public void testLRUMultiKeyMap() { MultiKeyMap map = MultiKeyMap.decorate(new LRUMap(2)); map.put(I1, I2, "1-2"); map.put(I1, I3, "1-3"); assertEquals(2, map.size()); map.put(I1, I4, "1-4"); assertEquals(2, map.size()); assertEquals(true, map.containsKey(I1, I3)); assertEquals(true, map.containsKey(I1, I4)); assertEquals(false, map.containsKey(I1, I2)); MultiKeyMap cloned = (MultiKeyMap) map.clone(); assertEquals(2, map.size()); assertEquals(true, cloned.containsKey(I1, I3)); assertEquals(true, cloned.containsKey(I1, I4)); assertEquals(false, cloned.containsKey(I1, I2)); cloned.put(I1, I5, "1-5"); assertEquals(2, cloned.size()); assertEquals(true, cloned.containsKey(I1, I4)); assertEquals(true, cloned.containsKey(I1, I5)); }
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1))); assertEquals(false, multimap.containsKey(null, key.getKey(1))); assertEquals(false, multimap.containsKey(key.getKey(0), null)); assertEquals(false, multimap.containsKey(null, null)); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), null)); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), null, null)); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), null, null, null)); break; case 3: assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2))); assertEquals(false, multimap.containsKey(null, key.getKey(1), key.getKey(2))); assertEquals(false, multimap.containsKey(key.getKey(0), null, key.getKey(2))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), null)); assertEquals(false, multimap.containsKey(null, null, null)); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), null)); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), null, null)); break; case 4: assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); assertEquals(false, multimap.containsKey(null, key.getKey(1), key.getKey(2), key.getKey(3))); assertEquals(false, multimap.containsKey(key.getKey(0), null, key.getKey(2), key.getKey(3))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), null, key.getKey(3))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), null)); assertEquals(false, multimap.containsKey(null, null, null, null)); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), null)); break; case 5: assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4))); assertEquals(false, multimap.containsKey(null, key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1))); assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1))); assertEquals(size - 1, multimap.size()); assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1))); break; case 3: assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2))); assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2))); assertEquals(size - 1, multimap.size()); assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2))); break; case 4: assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); assertEquals(size - 1, multimap.size()); assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); break; case 5: assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4))); assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4))); assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4))); assertEquals(size - 1, multimap.size()); assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
assertEquals(1, multimap.size()); assertEquals(value, multimap.get(key.getKey(0), key.getKey(1))); assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1))); assertEquals(true, multimap.containsKey(new MultiKey(key.getKey(0), key.getKey(1)))); assertEquals(value, multimap.put(key.getKey(0), key.getKey(1), null)); assertEquals(1, multimap.size()); assertEquals(null, multimap.get(key.getKey(0), key.getKey(1))); assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1))); break; case 3: assertEquals(1, multimap.size()); assertEquals(value, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2))); assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2))); assertEquals(true, multimap.containsKey(new MultiKey(key.getKey(0), key.getKey(1), key.getKey(2)))); assertEquals(value, multimap.put(key.getKey(0), key.getKey(1), key.getKey(2), null)); assertEquals(1, multimap.size()); assertEquals(null, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2))); assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2))); break; case 4: assertEquals(1, multimap.size()); assertEquals(value, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); assertEquals(true, multimap.containsKey(new MultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)))); assertEquals(value, multimap.put(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), null)); assertEquals(1, multimap.size()); assertEquals(null, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
@Override protected List<Ingredient> getIngrediedientsFromKey(String keyLocation, CtExpression ctExpr) { String typeExpression = ctExpr.getClass().getSimpleName(); String returnTypeExpression = (ctExpr.getType() != null) ? ctExpr.getType().getSimpleName() : "null"; List<Ingredient> ingredientsKey = (List<Ingredient>) mkp.get(keyLocation, typeExpression, returnTypeExpression); if (!mkp.containsKey(keyLocation, typeExpression, returnTypeExpression)) { ingredientsKey = new CacheList<Ingredient>(); mkp.put(keyLocation, typeExpression, returnTypeExpression, ingredientsKey); } return ingredientsKey; } }
@SuppressWarnings({ "unchecked", "rawtypes" }) public List<TOSInstance> getInstances(ModificationPoint modificationPoint, Ingredient ingredientBaseSelected) { // Now, let's get the ingredients. List<TOSInstance> ingredientTransformed = null; if (this.cacheInstances.containsKey(modificationPoint, ingredientBaseSelected.getChacheCodeString())) { ingredientTransformed = (List<TOSInstance>) this.cacheInstances.get(modificationPoint, ingredientBaseSelected.getChacheCodeString()); log.debug("Ingredients " + StringUtil.trunc(ingredientBaseSelected.getChacheCodeString()) + " cache of size " + ingredientTransformed.size()); } else { log.debug("Not in cache, generating for " + modificationPoint + " and " + ingredientBaseSelected.getChacheCodeString()); TOSEntity tos = (TOSEntity) ingredientBaseSelected; List<CtVariableAccess> outofscope = tos.getVarsOutOfContext(modificationPoint); if (!outofscope.isEmpty()) { log.debug("\nWe cannot generate a patch from tos" + StringUtil.trunc(tos.getCode()) + " in location" + modificationPoint + "\nvars out of context: " + outofscope); return Lists.newArrayList(); } log.debug("Tos fits " + StringUtil.trunc(tos.getCode()) + " in location" + modificationPoint); ingredientTransformed = new ArrayList<>(); List<Ingredient> ing = transformationStrategy.transform(modificationPoint, tos); for (Ingredient ingredient : ing) { ingredientTransformed.add((TOSInstance) ingredient); } this.cacheInstances.put(modificationPoint, ingredientBaseSelected.getChacheCodeString(), ingredientTransformed); } return ingredientTransformed; }
protected List<Ingredient> getIngrediedientsFromKey(String keyLocation, CtExpression ctExpr) { String returnTypeExpression = (ctExpr.getType() != null) ? ctExpr.getType().getSimpleName() : "null"; List<Ingredient> ingredientsKey = (List<Ingredient>) mkp.get(keyLocation, returnTypeExpression); if (!mkp.containsKey(keyLocation, returnTypeExpression)) { ingredientsKey = new CacheList<Ingredient>(); mkp.put(keyLocation, returnTypeExpression, ingredientsKey); } return ingredientsKey; } }
if (!studyCountryLoginMap.containsKey(u.getStudy(), u.getCountry(), u.getId().getLogin())) { studyCountryLoginMap.put(u.getStudy(), u.getCountry(), u.getId().getLogin(), u);
if (!productPlaceCache.containsKey(bean.getProduct(), place, presentationCode)) { ImportLog<Batch> importLog = new ImportLog<Batch>(true); importLog.setLine(row.getLineNumber());