/******************************************************************************* | |
* Copyright (c) 1998, 2013 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 v1.0 and Eclipse Distribution License v. 1.0 | |
* which accompanies this distribution. | |
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html | |
* and the Eclipse Distribution License is available at | |
* http://www.eclipse.org/org/documents/edl-v10.php. | |
* | |
* 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; | |
} | |
} |