List of usage examples for org.apache.commons.collections.map DefaultedMap DefaultedMap
public DefaultedMap(Object defaultValue)
DefaultedMap
that decorates a HashMap
. From source file:jinex.JarMetadataLoader.java
public void load(Transaction tx) throws Exception { String jarRow = "jar:" + jarInfo.getHash(); if (tx.get(jarRow, new Column("count", "classes")) == null) { // have never seen this jar before tx.set(jarRow, new Column("count", "classes"), jarInfo.getClasses().size() + ""); Map<String, Integer> pkgRefCounts = new DefaultedMap(new Integer(0)); for (ClassMetadata classInfo : jarInfo.getClasses()) { String classRow = "class:" + classInfo.getName(); if (tx.get(classRow, new Column(classInfo.getHash(), "deps")) == null) { // have never seen this class before, so add its dependencies tx.set(classRow, new Column(classInfo.getHash(), "deps"), classInfo.getClassDependencies().size() + ""); Set<String> deps = new HashSet<String>(classInfo.getClassDependencies()); //remove existing deps RowIterator depIter = tx .get(new ScannerConfiguration().setRange(Range.exact(classRow, "deps"))); if (depIter.hasNext()) { ColumnIterator colIter = depIter.next().getValue(); while (colIter.hasNext()) { String existingDep = colIter.next().getKey().getQualifier().toString(); deps.remove(existingDep); }/*from w w w .j a va2s .com*/ } String packageName = getParent(classInfo.getName()); //new dependencies for this class for (String dep : deps) { tx.set(classRow, new Column("deps", dep), ""); if (packageName != null) { String pkgRefCountRow = "prc:" + packageName + ":" + dep; int pkgRefCount = pkgRefCounts.get(pkgRefCountRow); pkgRefCounts.put(pkgRefCountRow, pkgRefCount + 1); } } } } for (Entry<String, Integer> entry : pkgRefCounts.entrySet()) { String pkgRefCountRow = entry.getKey(); ByteSequence currCountBS = tx.get(pkgRefCountRow, new Column("prcount", "update")); int pkgRefCount = entry.getValue(); if (currCountBS != null) pkgRefCount += Integer.parseInt(currCountBS.toString()); tx.set(pkgRefCountRow, new Column("prcount", "update"), pkgRefCount + ""); } } // is this jar name known? if (tx.get(jarRow, new Column("names", jarInfo.getName())) == null) { tx.set(jarRow, new Column("names", jarInfo.getName()), ""); } }