blob: 824b9d217fbfd6b4169503b44a64b64c8b71b126 [file] [log] [blame]
/*
* Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.tests.xdb;
import java.io.*;
import java.util.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.eclipse.persistence.tools.schemaframework.*;
/**
* A simple business object containing an XML Document
*/
public class Employee_XML implements Serializable {
public int id;
public String firstName;
public String lastName;
public String gender;
public Employee_XML manager;
public Vector managedEmployees;
public Document resume;
public String payroll_xml;
public Employee_XML() {
}
public static Document documentFromString(String xmlString) {
try {
ByteArrayInputStream stream = new ByteArrayInputStream(xmlString.getBytes());
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(stream);
return doc;
} catch (Exception ex) {
System.out.println("Unable to create document due to: " + ex.getMessage());
ex.printStackTrace();
}
return null;
}
public static Employee_XML example0() {
try {
Employee_XML emp = new Employee_XML();
emp.firstName = "Bob";
emp.lastName = "Jones";
emp.gender = "Male";
String resume = resume0();
emp.resume = documentFromString(resume);
emp.managedEmployees = new Vector();
emp.payroll_xml = "<payroll><salary>100000</salary><pay-period>bi-monthly</pay-period></payroll>";
return emp;
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
public static Employee_XML example1() {
try {
Employee_XML emp = new Employee_XML();
emp.firstName = "Frank";
emp.lastName = "Cotton";
emp.gender = "Male";
String resume = resume1();
emp.resume = documentFromString(resume);
emp.payroll_xml = "<payroll><salary>10000</salary><pay-period>weekly</pay-period></payroll>";
return emp;
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
public static String resume0() {
String resume = "<resume>\n";
resume += " <first-name>Bob</first-name>\n";
resume += " <last-name>Jones</last-name>\n";
resume += " <age>45</age>\n";
resume += " <education>\n";
resume += " <degree>BCS</degree>\n";
resume += " <degree>MBA</degree>\n";
resume += " </education>\n";
resume += "</resume>";
return resume;
}
public static String resume1() {
String resume = "<resume>\n";
resume += " <first-name>Frank</first-name>\n";
resume += " <last-name>Cotton</last-name>\n";
resume += " <age>27</age>\n";
resume += " <education>\n";
resume += " <degree>BCS</degree>\n";
resume += " </education>\n";
resume += "</resume>";
return resume;
}
public static TableDefinition tableDefinition() {
TableDefinition definition = new TableDefinition();
definition.setName("EMPLOYEE_XML");
definition.addIdentityField("ID", java.lang.Integer.class);
definition.addField("FIRST_NAME", String.class);
definition.addField("LAST_NAME", String.class);
definition.addField("GENDER", String.class);
definition.addField("RESUME_XML", Document.class);
definition.addField("PAYROLL_XML", Document.class);
definition.addField("MANAGER_ID", java.lang.Integer.class);
return definition;
}
}