if (fieldDescriptor.isReference() || fieldDescriptor.isCollection()) { String referencedClassName = ((ReferenceDescriptor) fieldDescriptor).getReferencedClassName(); if (!TypeUtil.unqualifiedName(referencedClassName) .equals(constraintClassName)) {
if (fieldDescriptor.isReference() || fieldDescriptor.isCollection()) { String referencedClassName = ((ReferenceDescriptor) fieldDescriptor).getReferencedClassName(); if (!TypeUtil.unqualifiedName(referencedClassName) .equals(constraintClassName)) {
private static ReferenceDescriptor cloneReferenceDescriptor(ReferenceDescriptor ref) { return new ReferenceDescriptor(ref.getName(), ref.getReferencedClassName(), ref.getReverseReferenceFieldName()); }
private static ReferenceDescriptor cloneReferenceDescriptor(ReferenceDescriptor ref) { return new ReferenceDescriptor(ref.getName(), ref.getReferencedClassName(), ref.getReverseReferenceFieldName()); }
sb.append("return " + ((ReferenceDescriptor) field).getReferencedClassName() + ".class;\n"); } else {
sb.append("return " + ((ReferenceDescriptor) field).getReferencedClassName() + ".class;\n"); } else {
.append(INDENT + INDENT + INDENT + INDENT) .append(fieldName + " = new ProxyReference(os, Integer.valueOf(notXml[i])" + ", " + reference.getReferencedClassName() + ".class);\n") .append(INDENT + INDENT + INDENT + INDENT) .append("i++;\n")
.append(INDENT + INDENT + INDENT + INDENT) .append(fieldName + " = new ProxyReference(os, Integer.valueOf(notXml[i])" + ", " + reference.getReferencedClassName() + ".class);\n") .append(INDENT + INDENT + INDENT + INDENT) .append("i++;\n")
refs.put(r.getName(), ref); ref.put("name", r.getName()); String type = r.getReferencedClassName(); ref.put("referencedType", type.substring(type.lastIndexOf(".") + 1)); String revref = r.getReverseReferenceFieldName();
refs.put(r.getName(), ref); ref.put("name", r.getName()); String type = r.getReferencedClassName(); ref.put("referencedType", type.substring(type.lastIndexOf(".") + 1)); String revref = r.getReverseReferenceFieldName();
if (!merg.getReferencedClassName().equals(orig.getReferencedClassName())) { String fldName = original.getName() + "." + orig.getName(); throw new ModelMergerException("type mismatch between reference types: " + fldName + ":" + merg.getReferencedClassName() + " != " + fldName + ":" + orig.getReferencedClassName());
if (!merg.getReferencedClassName().equals(orig.getReferencedClassName())) { String fldName = original.getName() + "." + orig.getName(); throw new ModelMergerException("type mismatch between reference types: " + fldName + ":" + merg.getReferencedClassName() + " != " + fldName + ":" + orig.getReferencedClassName());
ReferenceDescriptor rd = (ReferenceDescriptor) fd; ReferenceDescriptor rdAlready = (ReferenceDescriptor) fdAlready; String referencedClassName = rd.getReferencedClassName(); String reverseFieldName = rd.getReverseReferenceFieldName(); String alreadyRevFieldName = rdAlready.getReverseReferenceFieldName(); if (!referencedClassName.equals(rdAlready.getReferencedClassName()) || !Util.equals(reverseFieldName, alreadyRevFieldName)) { throw new MetaDataException("Incompatible similarly named fields ("
ReferenceDescriptor rd = (ReferenceDescriptor) fd; ReferenceDescriptor rdAlready = (ReferenceDescriptor) fdAlready; String referencedClassName = rd.getReferencedClassName(); String reverseFieldName = rd.getReverseReferenceFieldName(); String alreadyRevFieldName = rdAlready.getReverseReferenceFieldName(); if (!referencedClassName.equals(rdAlready.getReferencedClassName()) || !Util.equals(reverseFieldName, alreadyRevFieldName)) { throw new MetaDataException("Incompatible similarly named fields ("
public void testMultiInheritanceLegalRef() throws Exception { ReferenceDescriptor ref1 = new ReferenceDescriptor("atd1", "package.name.Class2", null); ReferenceDescriptor ref2 = new ReferenceDescriptor("atd1", "package.name.Class2", null); Set<ReferenceDescriptor> refs1 = Collections.singleton(ref1); Set<ReferenceDescriptor> refs2 = Collections.singleton(ref2); ClassDescriptor cld1 = new ClassDescriptor("package.name.Class1", null, true, noAttrs, refs1, noColls); ClassDescriptor cld2 = new ClassDescriptor("package.name.Class2", null, true, noAttrs, refs2, noColls); ClassDescriptor cld3 = makeClass("package.name.Class3", "package.name.Class1 package.name.Class2"); new Model("model", "package.name", Arrays.asList(cld1, cld2, cld3)); ReferenceDescriptor rd = cld3.getReferenceDescriptorByName("atd1", true); assertEquals("package.name.Class2", rd.getReferencedClassName()); }
public void testMultiInheritanceLegalCol() throws Exception { CollectionDescriptor coll1 = new CollectionDescriptor("atd1", "package.name.Class2", null); CollectionDescriptor coll2 = new CollectionDescriptor("atd1", "package.name.Class2", null); Set<CollectionDescriptor> colls1 = Collections.singleton(coll1); Set<CollectionDescriptor> colls2 = Collections.singleton(coll2); ClassDescriptor cld1 = new ClassDescriptor("package.name.Class1", null, true, noAttrs, noRefs, colls1); ClassDescriptor cld2 = new ClassDescriptor("package.name.Class2", null, true, noAttrs, noRefs, colls2); ClassDescriptor cld3 = makeClass("package.name.Class3", "package.name.Class1 package.name.Class2"); new Model("model", "package.name", Arrays.asList(cld1, cld2, cld3)); ReferenceDescriptor rd = cld3.getCollectionDescriptorByName("atd1", true); assertEquals("package.name.Class2", rd.getReferencedClassName()); }
for (ReferenceDescriptor desc : getAllReferenceDescriptors()) { ClassDescriptor cld = desc.getClassDescriptor(); table.addRow(new String[] {desc.getName(), terseClass(desc.getReferencedClassName()), (cld == this ? "" : "from " + terseClass(cld.getName()))});
for (ReferenceDescriptor desc : getAllReferenceDescriptors()) { ClassDescriptor cld = desc.getClassDescriptor(); table.addRow(new String[] {desc.getName(), terseClass(desc.getReferencedClassName()), (cld == this ? "" : "from " + terseClass(cld.getName()))});