/** * Return the classes in the model in level order from deepest to shallowest, the order of nodes * at any given level is undefined. The list does not include InterMineObject. * @return ClassDescriptors from the model in reverse depth order */ public synchronized List<ClassDescriptor> getBottomUpLevelTraversal() { if (bottomUpOrderClasses == null) { bottomUpOrderClasses = new ArrayList<ClassDescriptor>(); List<ClassDescriptor> topDown = getTopDownLevelTraversal(); // Just reverse the top down traversal for (int i = topDown.size() - 1; i >= 0; i--) { bottomUpOrderClasses.add(topDown.get(i)); } } return bottomUpOrderClasses; }
/** * Return the classes in the model in level order from deepest to shallowest, the order of nodes * at any given level is undefined. The list does not include InterMineObject. * @return ClassDescriptors from the model in reverse depth order */ public synchronized List<ClassDescriptor> getBottomUpLevelTraversal() { if (bottomUpOrderClasses == null) { bottomUpOrderClasses = new ArrayList<ClassDescriptor>(); List<ClassDescriptor> topDown = getTopDownLevelTraversal(); // Just reverse the top down traversal for (int i = topDown.size() - 1; i >= 0; i--) { bottomUpOrderClasses.add(topDown.get(i)); } } return bottomUpOrderClasses; }
if (!CLASS_KEYS.containsKey(model)) { ClassKeys theseKeys = new ClassKeysImpl(); for (ClassDescriptor cld : model.getTopDownLevelTraversal()) { String clsName = cld.getUnqualifiedName(); if (props.containsKey(cld.getUnqualifiedName())) {
if (!CLASS_KEYS.containsKey(model)) { ClassKeys theseKeys = new ClassKeysImpl(); for (ClassDescriptor cld : model.getTopDownLevelTraversal()) { String clsName = cld.getUnqualifiedName(); if (props.containsKey(cld.getUnqualifiedName())) {
public void testGetTopDownTraversalSimpleObjects() throws Exception { Model simpleObjectModel = getSimpleObjectModel(); List<ClassDescriptor> expected = new ArrayList<ClassDescriptor>(); expected.add(simpleObjectModel.getClassDescriptorByName("Simple")); expected.add(simpleObjectModel.getClassDescriptorByName("org.intermine.model.InterMineObject")); expected.add(simpleObjectModel.getClassDescriptorByName("A")); expected.add(simpleObjectModel.getClassDescriptorByName("B")); assertEquals(expected, simpleObjectModel.getTopDownLevelTraversal()); }
for (ClassDescriptor cld : model.getTopDownLevelTraversal()) { nonEmptyFieldsMap.put(cld.getName(), new HashSet<String>()); countAndStore(os, model, cld);
for (ClassDescriptor cld : model.getTopDownLevelTraversal()) { nonEmptyFieldsMap.put(cld.getName(), new HashSet<String>()); countAndStore(os, model, cld);
List<ClassDescriptor> actual = smallModel.getTopDownLevelTraversal();