| /* |
| * 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; |
| } |
| } |