@Override public int compare(ClassDescriptor o1, ClassDescriptor o2) { int depth1 = o1.getAllSuperDescriptors().size(); int depth2 = o2.getAllSuperDescriptors().size(); if (depth1 <= depth2) { return 1; } else if (depth1 >= depth2) { return -1; } else { return 0; } }
@Override public int compare(ClassDescriptor o1, ClassDescriptor o2) { int depth1 = o1.getAllSuperDescriptors().size(); int depth2 = o2.getAllSuperDescriptors().size(); if (depth1 <= depth2) { return 1; } else if (depth1 >= depth2) { return -1; } else { return 0; } }
private Set<ClassDescriptor> findAllSuperDescriptors() { Set<ClassDescriptor> supers = new LinkedHashSet<ClassDescriptor>(); for (ClassDescriptor superCld : this.getSuperDescriptors()) { if (!superCld.getName().equals(INTERMINEOBJECT_NAME)) { supers.add(superCld); supers.addAll(superCld.getAllSuperDescriptors()); } } return supers; } }
private Set<ClassDescriptor> findAllSuperDescriptors() { Set<ClassDescriptor> supers = new LinkedHashSet<ClassDescriptor>(); for (ClassDescriptor superCld : this.getSuperDescriptors()) { if (!superCld.getName().equals(INTERMINEOBJECT_NAME)) { supers.add(superCld); supers.addAll(superCld.getAllSuperDescriptors()); } } return supers; } }
private Map<String, InterMineBag> filterBagsByType(Map<String, InterMineBag> bags, String type, boolean onlyCurrent, boolean includeSupers) { Set<String> acceptableTypes = new HashSet<String>(); acceptableTypes.add(type); ClassDescriptor bagTypeCld = model.getClassDescriptorByName(type); if (bagTypeCld == null) { throw new NullPointerException("Could not find ClassDescriptor for name " + type); } for (ClassDescriptor cld : model.getAllSubs(bagTypeCld)) { acceptableTypes.add(cld.getUnqualifiedName()); } if (includeSupers) { for (ClassDescriptor cld : bagTypeCld.getAllSuperDescriptors()) { acceptableTypes.add(cld.getUnqualifiedName()); } } Map<String, InterMineBag> bagsOfType = new HashMap<String, InterMineBag>(); for (Map.Entry<String, InterMineBag> entry : bags.entrySet()) { InterMineBag bag = entry.getValue(); if (acceptableTypes.contains(bag.getType())) { if ((onlyCurrent && bag.isCurrent()) || !onlyCurrent) { bagsOfType.put(entry.getKey(), bag); } } } return bagsOfType; }
private Map<String, InterMineBag> filterBagsByType(Map<String, InterMineBag> bags, String type, boolean onlyCurrent, boolean includeSupers) { Set<String> acceptableTypes = new HashSet<String>(); acceptableTypes.add(type); ClassDescriptor bagTypeCld = model.getClassDescriptorByName(type); if (bagTypeCld == null) { throw new NullPointerException("Could not find ClassDescriptor for name " + type); } for (ClassDescriptor cld : model.getAllSubs(bagTypeCld)) { acceptableTypes.add(cld.getUnqualifiedName()); } if (includeSupers) { for (ClassDescriptor cld : bagTypeCld.getAllSuperDescriptors()) { acceptableTypes.add(cld.getUnqualifiedName()); } } Map<String, InterMineBag> bagsOfType = new HashMap<String, InterMineBag>(); for (Map.Entry<String, InterMineBag> entry : bags.entrySet()) { InterMineBag bag = entry.getValue(); if (acceptableTypes.contains(bag.getType())) { if ((onlyCurrent && bag.isCurrent()) || !onlyCurrent) { bagsOfType.put(entry.getKey(), bag); } } } return bagsOfType; }
lastCommonType = nextCommonSuperType; if (!(classes.contains(lastCommonType) || lastCommonType.getAllSuperDescriptors().contains(commonSuperType))) {
lastCommonType = nextCommonSuperType; if (!(classes.contains(lastCommonType) || lastCommonType.getAllSuperDescriptors().contains(commonSuperType))) {
Set<ClassDescriptor> ancestry = cd.getAllSuperDescriptors(); ancestry.add(cd);
Set<ClassDescriptor> ancestry = cd.getAllSuperDescriptors(); ancestry.add(cd);
public void testGetAllSuperDescriptors() throws Exception { ClassDescriptor cld1 = makeClass("package.name.Class1"); ClassDescriptor cld2 = makeClass("package.name.Class2", "package.name.Class1"); ClassDescriptor cld3 = makeClass("package.name.Class3", "package.name.Class1"); ClassDescriptor cld4 = makeClass("package.name.Class4", "package.name.Class2"); new Model("test2", "package.name", Arrays.asList(cld1, cld2, cld3, cld4)); // getAllSuperDescriptors of Class4 should be Class2 and Class1 Set<ClassDescriptor> supers = new HashSet<ClassDescriptor>(Arrays.asList(cld2, cld1)); assertEquals(supers, cld4.getAllSuperDescriptors()); supers = new HashSet<ClassDescriptor>(); assertEquals(supers, cld1.getAllSuperDescriptors()); supers = Collections.singleton(cld1); assertEquals(supers, cld2.getAllSuperDescriptors()); }
LOG.info("Too many values for " + cld.getUnqualifiedName() + "." + fieldName); for (ClassDescriptor superCld : cld.getAllSuperDescriptors()) { if (cld.equals(superCld) || superCld.getType().equals(InterMineObject.class)) { } else { for (ClassDescriptor superCld : cld.getAllSuperDescriptors()) { if (cld.equals(superCld) || superCld.getType().equals(InterMineObject.class)) {
LOG.info("Too many values for " + cld.getUnqualifiedName() + "." + fieldName); for (ClassDescriptor superCld : cld.getAllSuperDescriptors()) { if (cld.equals(superCld) || superCld.getType().equals(InterMineObject.class)) { } else { for (ClassDescriptor superCld : cld.getAllSuperDescriptors()) { if (cld.equals(superCld) || superCld.getType().equals(InterMineObject.class)) {
} else { ClassDescriptor mustBeA = path.getEndClassDescriptor(); Set<ClassDescriptor> isa = cd.getAllSuperDescriptors(); isa.add(cd); if (!isa.contains(mustBeA)) {
} else { ClassDescriptor mustBeA = path.getEndClassDescriptor(); Set<ClassDescriptor> isa = cd.getAllSuperDescriptors(); isa.add(cd); if (!isa.contains(mustBeA)) {