| /* |
| * Copyright (c) 1998, 2021 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.models.mapping; |
| |
| import java.io.*; |
| import java.util.*; |
| import org.eclipse.persistence.sessions.*; |
| import org.eclipse.persistence.queries.*; |
| import org.eclipse.persistence.tools.schemaframework.TableDefinition; |
| |
| public class Address implements Serializable { |
| public Number id; |
| public String location; |
| public Employee employee; |
| public Vector employeeRows; |
| public String province; |
| |
| public Address() { |
| } |
| |
| public Object copy() { |
| return new Address(); |
| } |
| |
| public static Address example1() { |
| Address example = new Address(); |
| |
| //please keep the province in capitals |
| example.setLocation("OTTAWA"); |
| example.setProvince("ONTARIO"); |
| return example; |
| } |
| |
| public static Address example2() { |
| Address example = new Address(); |
| |
| //Please keep the province in capitals |
| example.setLocation("Montreal"); |
| example.setProvince("QUEBEC"); |
| return example; |
| } |
| |
| public Employee getEmployee() { |
| return employee; |
| } |
| |
| public String getProvince() { |
| return province; |
| } |
| |
| public String getProvinceFromObject() { |
| String province = ""; |
| if (getProvince() == null) { |
| return null; |
| } |
| |
| if (getProvince().equals("ONTARIO")) { |
| province = "ON"; |
| } |
| if (getProvince().equals("QUEBEC")) { |
| province = "QUE"; |
| } |
| return province; |
| } |
| |
| public String getProvinceFromRow(DataRecord row, Session session) { |
| String code = (String)row.get("PROVINCE"); |
| String provinceString = null; |
| |
| // This method was causing this model to fail randomly because |
| // the read for employee cause the newly commited objects to be read |
| // into the cache before the merge, so the merge did not merge into the |
| // originals used for testing compares. |
| //this.employee = ((Employee) session.readObject(Employee.class))); |
| // The test is basically verifying that the session can be used in transforms |
| // so just do an SQL read. |
| this.employeeRows = session.executeSelectingCall(new SQLCall("Select * from MAP_EMP")); |
| |
| if (code == "ON") { |
| provinceString = new String("ONTARIO"); |
| } |
| if (code == "QUE") { |
| provinceString = new String("QUEBEC"); |
| } |
| return provinceString; |
| } |
| |
| public void setEmployee(Employee anEmployee) { |
| this.employee = anEmployee; |
| } |
| |
| public void setLocation(String location) { |
| this.location = location; |
| } |
| |
| public void setProvince(String province) { |
| this.province = province; |
| } |
| |
| /** |
| * Return a platform independant definition of the database table. |
| */ |
| public static TableDefinition tableDefinition() { |
| TableDefinition definition = new TableDefinition(); |
| |
| definition.setName("MAP_ADD"); |
| |
| definition.addIdentityField("A_ID", java.math.BigDecimal.class, 15); |
| definition.addField("LOCATION", String.class, 15); |
| definition.addField("PROVINCE", String.class, 3); |
| return definition; |
| } |
| |
| public String toString() { |
| return "Address(" + location + "--" + province + ")"; |
| } |
| } |