private void createControlObject() {
    HashMap addresses = new HashMap();

    Address address = new Address();
    address.id = CONTROL_ADD_ID_1;
    address.street = CONTROL_ADD_STREET_1;
    address.city = CONTROL_ADD_CITY_1;
    address.country = CONTROL_ADD_COUNTRY_1;
    address.zip = CONTROL_ADD_ZIP_1;
    addresses.put(address.getKey(), address);

    address = new Address();
    address.id = CONTROL_ADD_ID_2;
    address.street = CONTROL_ADD_STREET_2;
    address.city = CONTROL_ADD_CITY_2;
    address.country = CONTROL_ADD_COUNTRY_2;
    address.zip = CONTROL_ADD_ZIP_2;
    addresses.put(address.getKey(), address);

    address = new Address();
    address.id = CONTROL_ADD_ID_3;
    address.street = CONTROL_ADD_STREET_3;
    address.city = CONTROL_ADD_CITY_3;
    address.country = CONTROL_ADD_COUNTRY_3;
    address.zip = CONTROL_ADD_ZIP_3;
    addresses.put(address.getKey(), address);

    Employee employee = new Employee();
    employee.id = CONTROL_ID;
    employee.name = CONTROL_NAME;
    employee.addresses = addresses;

    controlObj = new Root();
    controlObj.employee = employee;
  }
  /** Create the control Employee. */
  private Employee getControlObject() {
    List<String> prjIds = new ArrayList<String>();
    prjIds.add(PRJ_ID1);
    prjIds.add(null);
    prjIds.add(PRJ_ID2);
    prjIds.add(PRJ_ID3);

    List<Float> sals = new ArrayList<Float>();
    sals.add(Float.valueOf(SAL_1));
    sals.add(Float.valueOf(SAL_2));

    List<String> pData = new ArrayList<String>();
    pData.add(PDATA_1);
    pData.add(PDATA_2);

    List<String> cData = new ArrayList<String>();
    cData.add(CDATA_1);
    cData.add(CDATA_2);

    Employee ctrlEmp = new Employee();
    ctrlEmp.id = EMPID;
    ctrlEmp.projectIds = prjIds;
    ctrlEmp.salaries = sals;
    ctrlEmp.privateData = pData;
    ctrlEmp.characterData = cData;
    return ctrlEmp;
  }
  public void testCreateContextWithPathAndBindings() throws Exception {
    String oxmString = "org/eclipse/persistence/testing/jaxb/jaxbcontext/eclipselink-oxm.xml";
    InputStream oxm = ClassLoader.getSystemClassLoader().getResourceAsStream(oxmString);

    Map<String, Object> props = new HashMap<String, Object>();
    props.put(JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY, oxm);

    // Specify some other, unrelated context path -- we want to ensure that we don't fail
    // due to lack of ObjectFactory/jaxb.index
    JAXBContext ctx =
        JAXBContext.newInstance(
            "org.eclipse.persistence.testing.oxm.jaxb", ClassLoader.getSystemClassLoader(), props);

    Employee e = new Employee();
    e.id = 6;
    e.name = "Jeeves Sobs";
    e.put("tag", "tag-value");

    Document marshalDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();

    Marshaller m = ctx.createMarshaller();
    m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
    m.marshal(e, marshalDoc);

    // Make sure OXM was picked up, "tag" property should have been added.
    Employee e2 = (Employee) ctx.createUnmarshaller().unmarshal(marshalDoc);
    assertEquals(
        "OXM file was not processed during context creation.", e.get("tag"), e2.get("tag"));
  }
Ejemplo n.º 4
0
 @Override
 public void startElement(String uri, String localName, String qName, Attributes attributes)
     throws SAXException {
   switch (qName) {
     case "employee":
       emp = new Employee();
       emp.id = attributes.getValue("id");
       break;
   }
 }
  protected Object getControlObject() {
    ArrayList responsibilities = new ArrayList();
    responsibilities.add(CONTROL_RESPONSIBILITY1);
    responsibilities.add(CONTROL_RESPONSIBILITY2);
    responsibilities.add(CONTROL_RESPONSIBILITY3);

    Employee employee = new Employee();
    employee.firstName = CONTROL_FIRST_NAME;
    employee.lastName = CONTROL_LAST_NAME;

    Calendar cal = Calendar.getInstance();
    cal.clear();
    cal.set(2005, 04, 24, 16, 06, 53);

    employee.id = CONTROL_ID;

    employee.responsibilities = responsibilities;

    employee.setBlah("Some String");

    Employee employee2 = new Employee();
    employee2.firstName = CONTROL_FIRST_NAME + "2";
    employee2.lastName = CONTROL_LAST_NAME + "2";
    employee2.setBlah("Some Other String");
    employee2.id = 100;

    ArrayList responsibilities2 = new ArrayList();
    responsibilities2.add(CONTROL_RESPONSIBILITY1);
    employee2.responsibilities = responsibilities2;

    List<Employee> emps = new ArrayList<Employee>();
    emps.add(employee);
    emps.add(employee2);

    QName qname = new QName("rootNamespace", "root");
    JAXBElement jaxbElement = new JAXBElement(qname, Object.class, null);
    jaxbElement.setValue(emps);

    return jaxbElement;
  }
  public void createWriteControlObject() {
    ArrayList rootAddresses = new ArrayList();
    HashMap empAddresses = new HashMap();

    Address address = new Address();
    address.id = CONTROL_ADD_ID_1;
    address.street = CONTROL_ADD_STREET_1;
    address.city = CONTROL_ADD_CITY_1;
    address.country = CONTROL_ADD_COUNTRY_1;
    address.zip = CONTROL_ADD_ZIP_1;
    empAddresses.put(address.getKey(), address);
    rootAddresses.add(address);

    address = new Address();
    address.id = CONTROL_ADD_ID_2;
    address.street = CONTROL_ADD_STREET_2;
    address.city = CONTROL_ADD_CITY_2;
    address.country = CONTROL_ADD_COUNTRY_2;
    address.zip = CONTROL_ADD_ZIP_2;
    empAddresses.put(address.getKey(), address);
    rootAddresses.add(address);

    address = new Address();
    address.id = CONTROL_ADD_ID_3;
    address.street = CONTROL_ADD_STREET_3;
    address.city = CONTROL_ADD_CITY_3;
    address.country = CONTROL_ADD_COUNTRY_3;
    address.zip = CONTROL_ADD_ZIP_3;
    empAddresses.put(address.getKey(), address);
    rootAddresses.add(address);

    address = new Address();
    address.id = CONTROL_ADD_ID_4;
    address.street = CONTROL_ADD_STREET_4;
    address.city = CONTROL_ADD_CITY_4;
    address.country = CONTROL_ADD_COUNTRY_4;
    address.zip = CONTROL_ADD_ZIP_4;
    rootAddresses.add(address);

    Employee employee = new Employee();
    employee.id = CONTROL_ID;
    employee.name = CONTROL_NAME;
    employee.addresses = empAddresses;

    writeControlObj = new Root();
    writeControlObj.employee = employee;
    writeControlObj.addresses = rootAddresses;
  }