/******************************************************************************* | |
* 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.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; | |
public PropertyChangeListener _persistence_getPropertyChangeListener() { | |
return listener; | |
} | |
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; | |
} | |
} |