Package br.net.woodstock.rockframework.xml.dom

Examples of br.net.woodstock.rockframework.xml.dom.XmlElement


  }

  public XmlDocument toXML() {
    ClassFinder classFinder = new ClassFinderImpl(this.baseName, new AnnotationClassFilter(Entity.class));
    XmlDocument document = new XmlDocument(AnnotationToXML.XML_NAMESPACE, AnnotationToXML.XML_LOCATION, AnnotationToXML.XML_ROOT);
    XmlElement entityMappings = document.getRoot();

    for (Class<?> clazz : classFinder.getClasses()) {
      XmlElement entity = entityMappings.addElement("entity");
      entity.setAttribute("class", clazz.getCanonicalName());
      entity.setAttribute("access", "PROPERTY");
      entity.setAttribute("metadata-complete", "true");

      BeanDescriptor beanDescriptor = new BeanDescriptorBuilder(clazz).getBeanDescriptor();
      Entity e = beanDescriptor.getAnnotation(Entity.class);
      if (ConditionUtils.isNotEmpty(e.name())) {
        entity.setAttribute("name", e.name());
      }

      Table t = beanDescriptor.getAnnotation(Table.class);
      if (t != null) {
        XmlElement table = entity.addElement("table");
        table.setAttribute("name", t.name());
        if (ConditionUtils.isNotEmpty(t.schema())) {
          table.setAttribute("schema", t.schema());
        }
      }

      XmlElement attributes = entity.addElement("attributes");

      for (PropertyDescriptor propertyDescriptor : beanDescriptor.getProperties()) {
        if (propertyDescriptor.isAnnotationPresent(ManyToMany.class)) {
          ManyToMany mm = propertyDescriptor.getAnnotation(ManyToMany.class);
          this.addManyToMany(attributes, propertyDescriptor, mm);
        } else if (propertyDescriptor.isAnnotationPresent(ManyToOne.class)) {
          ManyToOne mo = propertyDescriptor.getAnnotation(ManyToOne.class);
          this.addManyToOne(attributes, propertyDescriptor, mo);
        } else if (propertyDescriptor.isAnnotationPresent(OneToMany.class)) {
          OneToMany om = propertyDescriptor.getAnnotation(OneToMany.class);
          this.addOneToMany(attributes, propertyDescriptor, om);
        } else if (propertyDescriptor.isAnnotationPresent(OneToOne.class)) {
          OneToOne oo = propertyDescriptor.getAnnotation(OneToOne.class);
          this.addOneToOne(attributes, propertyDescriptor, oo);
        } else if (propertyDescriptor.isAnnotationPresent(Basic.class)) {
          Basic b = propertyDescriptor.getAnnotation(Basic.class);
          this.addBasic(attributes, propertyDescriptor, b);
        } else if (propertyDescriptor.isAnnotationPresent(Id.class)) {
          this.addId(attributes, propertyDescriptor);
        } else if (propertyDescriptor.isAnnotationPresent(Column.class)) {
          Column c = propertyDescriptor.getAnnotation(Column.class);
          this.addBasic(attributes, propertyDescriptor, c);
        } else if (propertyDescriptor.isAnnotationPresent(Transient.class)) {
          this.addTransient(attributes, propertyDescriptor);
        } else {
          attributes.addComment("Field " + propertyDescriptor.getName() + " not correctly mapped");
        }
      }
    }

    return document;
View Full Code Here


    return document;
  }

  private XmlElement addManyToMany(final XmlElement parent, final PropertyDescriptor propertyDescriptor, final ManyToMany manyToMany) {
    XmlElement element = parent.addElement("many-to-many");
    element.setAttribute("name", propertyDescriptor.getName());
    element.setAttribute("fetch", manyToMany.fetch().name());
    element.setAttribute("mappedBy", manyToMany.mappedBy());

    this.addCascades(element, manyToMany.cascade());

    if (propertyDescriptor.isAnnotationPresent(JoinTable.class)) {
      JoinTable jt = propertyDescriptor.getAnnotation(JoinTable.class);
View Full Code Here

    }
    return element;
  }

  private XmlElement addManyToOne(final XmlElement parent, final PropertyDescriptor propertyDescriptor, final ManyToOne manyToOne) {
    XmlElement element = parent.addElement("many-to-one");
    element.setAttribute("name", propertyDescriptor.getName());
    element.setAttribute("optional", Boolean.toString(manyToOne.optional()));
    element.setAttribute("fetch", manyToOne.fetch().name());

    this.addCascades(element, manyToOne.cascade());

    if (propertyDescriptor.isAnnotationPresent(JoinColumn.class)) {
      JoinColumn jc = propertyDescriptor.getAnnotation(JoinColumn.class);
View Full Code Here

    }
    return element;
  }

  private XmlElement addOneToMany(final XmlElement parent, final PropertyDescriptor propertyDescriptor, final OneToMany oneToMany) {
    XmlElement element = parent.addElement("one-to-many");
    element.setAttribute("name", propertyDescriptor.getName());
    element.setAttribute("mappedBy", oneToMany.mappedBy());
    element.setAttribute("fetch", oneToMany.fetch().name());

    this.addCascades(element, oneToMany.cascade());
    return element;
  }
View Full Code Here

    this.addCascades(element, oneToMany.cascade());
    return element;
  }

  private XmlElement addOneToOne(final XmlElement parent, final PropertyDescriptor propertyDescriptor, final OneToOne oneToOne) {
    XmlElement element = parent.addElement("one-to-one");
    element.setAttribute("name", propertyDescriptor.getName());
    element.setAttribute("mappedBy", oneToOne.mappedBy());
    element.setAttribute("fetch", oneToOne.fetch().name());

    this.addCascades(element, oneToOne.cascade());

    if (propertyDescriptor.isAnnotationPresent(JoinColumn.class)) {
      JoinColumn jc = propertyDescriptor.getAnnotation(JoinColumn.class);
View Full Code Here

    }
    return element;
  }

  private XmlElement addBasic(final XmlElement parent, final PropertyDescriptor propertyDescriptor, final Basic basic) {
    XmlElement element = parent.addElement("basic");
    element.setAttribute("name", propertyDescriptor.getName());
    element.setAttribute("optional", Boolean.toString(basic.optional()));
    element.setAttribute("fetch", basic.fetch().name());

    if (propertyDescriptor.isAnnotationPresent(Column.class)) {
      Column c = propertyDescriptor.getAnnotation(Column.class);
      this.addColumn(element, propertyDescriptor, c);
    }
View Full Code Here

    }
    return element;
  }

  private XmlElement addBasic(final XmlElement parent, final PropertyDescriptor propertyDescriptor, final Column column) {
    XmlElement element = parent.addElement("basic");
    element.setAttribute("name", propertyDescriptor.getName());
    element.setAttribute("optional", Boolean.toString(column.nullable()));

    this.addColumn(element, propertyDescriptor, column);
    return element;
  }
View Full Code Here

  }

  public static void addKey(final XmlElement parent, final String name, final Key key) {
    byte[] base64 = Base64Utils.toBase64(key.getEncoded());
    String str = new String(base64);
    XmlElement e = parent.addElement(name);
    e.setData(str);
  }
View Full Code Here

    XmlElement e = parent.addElement(name);
    e.setData(str);
  }

  public static byte[] getKey(final XmlElement parent, final String name) {
    XmlElement e = parent.getElement(name);
    if (e != null) {
      String str = e.getData();
      byte[] base64 = str.getBytes();
      byte[] encoded = Base64Utils.fromBase64(base64);
      return encoded;
    }
    return null;
View Full Code Here

    }
    return null;
  }

  public static String getElementData(final XmlElement parent, final String name) {
    XmlElement e = parent.getElement(name);
    if (e != null) {
      String str = e.getData();
      return str;
    }
    return null;
  }
View Full Code Here

TOP

Related Classes of br.net.woodstock.rockframework.xml.dom.XmlElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.