public void setAsVisited(AbstractElement e) { if (e instanceof Edge) { if (e.getVisitedKey() < 1) { numOfCoveredEdges++; } } else if (e instanceof Vertex) { if (e.getVisitedKey() < 1) { numOfCoveredVertices++; } } e.setVisitedKey(e.getVisitedKey() + 1); if (!e.getReqTagKey().isEmpty()) { Hashtable<String, Integer> reqs = getAllRequirements(); String[] tags = e.getReqTagKey().split(","); for (String tag : tags) { reqs.put(tag, reqs.get(tag) + 1); } } }
public void setAsUnvisited(AbstractElement e) { Integer visits = e.getVisitedKey(); e.setVisitedKey(e.getVisitedKey() - 1); if (e instanceof Edge) { if (e.getVisitedKey() < 1) { numOfCoveredEdges--; } } else if (e instanceof Vertex) { if (e.getVisitedKey() < 1) { numOfCoveredVertices--; } } if (visits <= 0) logger.error(e + ", has a negative number in VISITED_KEY"); if (!e.getReqTagKey().isEmpty()) { Hashtable<String, Integer> reqs = getAllRequirements(); String[] tags = e.getReqTagKey().split(","); for (String tag : tags) { reqs.put(tag, reqs.get(tag) - 1); } } }
public Hashtable<String, Integer> getAllRequirements() { if (associatedRequirements == null) { associatedRequirements = new Hashtable<String, Integer>(); Vector<AbstractElement> abstractElements = new Vector<AbstractElement>(); abstractElements.addAll(getAllVertices()); abstractElements.addAll(getAllEdges()); for (AbstractElement abstractElement : abstractElements) { String reqtags = abstractElement.getReqTagKey(); if (!reqtags.isEmpty()) { String[] tags = reqtags.split(","); for (String tag : tags) { associatedRequirements.put(tag, 0); } } } } return associatedRequirements; }