| /* |
| * 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.tests.isolatedsession; |
| |
| import java.math.*; |
| |
| import java.io.*; |
| |
| import java.beans.PropertyChangeListener; |
| import java.beans.PropertyChangeEvent; |
| |
| import org.eclipse.persistence.descriptors.changetracking.*; |
| |
| /** |
| * <p><b>Purpose</b>: Represents the mailing address on an Employee |
| * <p><b>Description</b>: Held in a private 1:1 relationship from Employee |
| * @see Employee |
| */ |
| public class IsolatedAddress implements Serializable, ChangeTracker { |
| // implements ChangeTracker for testing |
| public BigDecimal id; |
| public String street; |
| public String city; |
| public String province; |
| public String postalCode; |
| public String country; |
| |
| //used in testing WorkingCloneCopyPolcyTest. Not mapped and should not be mapped. |
| public boolean isWorkingCopy; |
| public PropertyChangeListener listener; |
| |
| @Override |
| public PropertyChangeListener _persistence_getPropertyChangeListener() { |
| return listener; |
| } |
| |
| @Override |
| public void _persistence_setPropertyChangeListener(PropertyChangeListener listener) { |
| this.listener = listener; |
| } |
| |
| public void propertyChange(String propertyName, Object oldValue, Object newValue) { |
| if (listener != null) { |
| if (oldValue != newValue) { |
| listener.propertyChange(new PropertyChangeEvent(this, propertyName, oldValue, newValue)); |
| } |
| } |
| } |
| |
| public void collectionChange(String propertyName, Object oldValue, Object newValue, int changeType, boolean isChangeApplied) { |
| if (listener != null) { |
| listener.propertyChange(new CollectionChangeEvent(this, propertyName, oldValue, newValue, changeType, isChangeApplied)); |
| } |
| } |
| |
| public IsolatedAddress() { |
| this.city = ""; |
| this.province = ""; |
| this.postalCode = ""; |
| this.street = ""; |
| this.country = ""; |
| this.isWorkingCopy = false; |
| } |
| |
| public String getCity() { |
| return city; |
| } |
| |
| public String getCountry() { |
| return country; |
| } |
| |
| /** |
| * Return the persistent identifier of the receiver. |
| */ |
| public BigDecimal getId() { |
| return id; |
| } |
| |
| public String getPostalCode() { |
| return postalCode; |
| } |
| |
| public String getProvince() { |
| return province; |
| } |
| |
| public String getStreet() { |
| return street; |
| } |
| |
| public void setCity(String city) { |
| propertyChange("city", this.city, city); |
| this.city = city; |
| } |
| |
| public void setCountry(String country) { |
| propertyChange("country", this.country, country); |
| this.country = country; |
| } |
| |
| /** |
| * Set the persistent identifier of the receiver. |
| */ |
| public void setId(BigDecimal id) { |
| propertyChange("id", this.id, id); |
| this.id = id; |
| } |
| |
| public void setPostalCode(String postalCode) { |
| propertyChange("postalCode", this.postalCode, postalCode); |
| this.postalCode = postalCode; |
| } |
| |
| public void setProvince(String province) { |
| propertyChange("province", this.province, province); |
| this.province = province; |
| } |
| |
| public void setStreet(String street) { |
| propertyChange("street", this.street, street); |
| this.street = street; |
| } |
| |
| /** |
| * Print the address city and province. |
| */ |
| public String toString() { |
| StringWriter writer = new StringWriter(); |
| |
| writer.write("IsolatedAddress: "); |
| writer.write(getStreet()); |
| writer.write(", "); |
| writer.write(getCity()); |
| writer.write(", "); |
| writer.write(getProvince()); |
| writer.write(", "); |
| writer.write(getCountry()); |
| return writer.toString(); |
| } |
| |
| protected static org.eclipse.persistence.tools.schemaframework.TableDefinition buildIsolatedTableDefinition() { |
| org.eclipse.persistence.tools.schemaframework.TableDefinition tabledefinition = new org.eclipse.persistence.tools.schemaframework.TableDefinition(); |
| |
| // SECTION: TABLE |
| tabledefinition.setName("ISOLATED_ADDRESS"); |
| |
| // SECTION: FIELD |
| org.eclipse.persistence.tools.schemaframework.FieldDefinition field = new org.eclipse.persistence.tools.schemaframework.FieldDefinition(); |
| field.setName("ADDRESS_ID"); |
| field.setTypeName("NUMERIC"); |
| field.setSize(15); |
| field.setShouldAllowNull(false); |
| field.setIsPrimaryKey(true); |
| field.setUnique(false); |
| field.setIsIdentity(true); |
| tabledefinition.addField(field); |
| |
| // SECTION: FIELD |
| org.eclipse.persistence.tools.schemaframework.FieldDefinition field1 = new org.eclipse.persistence.tools.schemaframework.FieldDefinition(); |
| field1.setName("P_CODE"); |
| field1.setTypeName("VARCHAR"); |
| field1.setSize(20); |
| field1.setShouldAllowNull(true); |
| field1.setIsPrimaryKey(false); |
| field1.setUnique(false); |
| field1.setIsIdentity(false); |
| tabledefinition.addField(field1); |
| |
| // SECTION: FIELD |
| org.eclipse.persistence.tools.schemaframework.FieldDefinition field2 = new org.eclipse.persistence.tools.schemaframework.FieldDefinition(); |
| field2.setName("CITY"); |
| field2.setTypeName("VARCHAR"); |
| field2.setSize(80); |
| field2.setShouldAllowNull(true); |
| field2.setIsPrimaryKey(false); |
| field2.setUnique(false); |
| field2.setIsIdentity(false); |
| tabledefinition.addField(field2); |
| |
| // SECTION: FIELD |
| org.eclipse.persistence.tools.schemaframework.FieldDefinition field3 = new org.eclipse.persistence.tools.schemaframework.FieldDefinition(); |
| field3.setName("PROVINCE"); |
| field3.setTypeName("VARCHAR"); |
| field3.setSize(80); |
| field3.setShouldAllowNull(true); |
| field3.setIsPrimaryKey(false); |
| field3.setUnique(false); |
| field3.setIsIdentity(false); |
| tabledefinition.addField(field3); |
| |
| // SECTION: FIELD |
| org.eclipse.persistence.tools.schemaframework.FieldDefinition field4 = new org.eclipse.persistence.tools.schemaframework.FieldDefinition(); |
| field4.setName("STREET"); |
| field4.setTypeName("VARCHAR"); |
| field4.setSize(80); |
| field4.setShouldAllowNull(true); |
| field4.setIsPrimaryKey(false); |
| field4.setUnique(false); |
| field4.setIsIdentity(false); |
| tabledefinition.addField(field4); |
| |
| // SECTION: FIELD |
| org.eclipse.persistence.tools.schemaframework.FieldDefinition field5 = new org.eclipse.persistence.tools.schemaframework.FieldDefinition(); |
| field5.setName("COUNTRY"); |
| field5.setTypeName("VARCHAR"); |
| field5.setSize(80); |
| field5.setShouldAllowNull(true); |
| field5.setIsPrimaryKey(false); |
| field5.setUnique(false); |
| field5.setIsIdentity(false); |
| tabledefinition.addField(field5); |
| |
| return tabledefinition; |
| } |
| |
| public static IsolatedAddress AddressExample1() { |
| IsolatedAddress address = new IsolatedAddress(); |
| |
| address.setCity("Toronto"); |
| address.setPostalCode("L5J2B5"); |
| address.setProvince("ONT"); |
| address.setStreet("1450 Acme Cr., suite 4"); |
| address.setCountry("Canada"); |
| return address; |
| } |
| |
| public static IsolatedAddress AddressExample2() { |
| IsolatedAddress address = new IsolatedAddress(); |
| |
| address.setCity("Ottawa"); |
| address.setPostalCode("K5J2B5"); |
| address.setProvince("ONT"); |
| address.setStreet("12 Merival Rd., suite 5"); |
| address.setCountry("Canada"); |
| return address; |
| } |
| } |