|
From: <gca...@us...> - 2012-06-22 15:59:28
|
Revision: 4072
http://openutils.svn.sourceforge.net/openutils/?rev=4072&view=rev
Author: gcatania
Date: 2012-06-22 15:59:20 +0000 (Fri, 22 Jun 2012)
Log Message:
-----------
Merged revisions 4069-4070 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4069 | gcatania | 2012-06-22 13:17:21 +0200 (Fri, 22 Jun 2012) | 1 line
BSHD-2 adding clone on test dataobjects, fix unidirectional manyToOne
........
r4070 | gcatania | 2012-06-22 17:51:52 +0200 (Fri, 22 Jun 2012) | 1 line
BSHD-15 fix example support for backref properties, added unit test
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4069&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4070&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Car.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarMaker.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CurrencyAmount.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Designer.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Employee.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/FullName.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Owner.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Person.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Sticker.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Title.java
Property Changed:
----------------
branches/openutils-bshd5-backport/
branches/openutils-bshd5-backport/pom.xml
branches/openutils-bshd5-backport/src/
Property changes on: branches/openutils-bshd5-backport
___________________________________________________________________
Modified: svnmerge-integrated
- /trunk/openutils-bshd5:1-4040,4042-4047,4059,4060
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4071
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*
Property changes on: branches/openutils-bshd5-backport/pom.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/pom.xml:4045-4047,4059
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070
Property changes on: branches/openutils-bshd5-backport/src
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/src:4045-4047,4057
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -50,6 +50,7 @@
import org.hibernate.criterion.Restrictions;
import org.hibernate.engine.SessionImplementor;
import org.hibernate.metadata.ClassMetadata;
+import org.hibernate.property.BackrefPropertyAccessor;
import org.hibernate.type.Type;
@@ -68,8 +69,6 @@
private PropertySelector selector;
- private DefaultPropertySelector defaultSelector = DefaultPropertySelector.NOT_NULL;
-
private MatchMode matchMode;
private boolean isIgnoreCaseEnabled;
@@ -132,8 +131,11 @@
*/
public ExampleTree setPropertySelector(PropertySelector selector)
{
- this.selector = selector;
- defaultSelector = null;
+ if (selector == null)
+ {
+ throw new NullPointerException("Null selector specified");
+ }
+ this.selector = new ExcludeBackrefPropertySelector(selector); // BSHD-15
return this;
}
@@ -143,7 +145,7 @@
*/
public ExampleTree excludeZeroes()
{
- return setDefaultSelector(DefaultPropertySelector.NOT_NULL_OR_ZERO);
+ return setPropertySelector(ExampleTreePropertySelectorSupport.NOT_NULL_OR_ZERO);
}
/**
@@ -152,7 +154,7 @@
*/
public ExampleTree excludeNone()
{
- return setDefaultSelector(DefaultPropertySelector.ALL);
+ return setPropertySelector(ExampleTreePropertySelectorSupport.ALL);
}
/**
@@ -235,17 +237,6 @@
return add(associationPath, override);
}
- private static enum DefaultPropertySelector {
- NOT_NULL, NOT_NULL_OR_ZERO, ALL;
- }
-
- private ExampleTree setDefaultSelector(DefaultPropertySelector defaultSelector)
- {
- this.defaultSelector = defaultSelector;
- selector = null;
- return this;
- }
-
private class ExampleTreeWalker implements Serializable
{
@@ -352,24 +343,7 @@
{
ex.ignoreCase();
}
- if (selector != null)
- {
- ex.setPropertySelector(selector);
- }
- else
- {
- switch (defaultSelector)
- {
- case NOT_NULL_OR_ZERO :
- ex.excludeZeroes();
- break;
- case ALL :
- ex.excludeNone();
- break;
- default :
- break;
- }
- }
+ ex.setPropertySelector(selector != null ? selector : new ExcludeBackrefPropertySelector()); // BSHD-15
Set<String> excludedPropertiesForPath = excludedProperties.get(associationPath);
if (excludedPropertiesForPath != null)
{
@@ -473,3 +447,97 @@
}
}
+
+
+/**
+ * support for BSHD-15
+ * @author gcatania
+ * @version $Id$
+ */
+class ExcludeBackrefPropertySelector implements PropertySelector
+{
+
+ private static final long serialVersionUID = -2803322309158823550L;
+
+ private final PropertySelector selector;
+
+ public ExcludeBackrefPropertySelector(PropertySelector selector)
+ {
+ this.selector = selector;
+ }
+
+ public ExcludeBackrefPropertySelector()
+ {
+ selector = ExampleTreePropertySelectorSupport.NOT_NULL;
+ }
+
+ public boolean include(Object propertyValue, String propertyName, Type type)
+ {
+ if (BackrefPropertyAccessor.UNKNOWN.equals(propertyValue))
+ {
+ return false;
+ }
+ return selector.include(propertyValue, propertyName, type);
+ }
+
+}
+
+
+/**
+ * workaround to {@link Example} not exposing internal property selectors
+ * @author gcatania
+ * @version $Id$
+ */
+@SuppressWarnings({"serial", "static-method"})
+class ExampleTreePropertySelectorSupport
+{
+
+ static final PropertySelector NOT_NULL = new NotNullPropertySelector();
+
+ static final PropertySelector ALL = new AllPropertySelector();
+
+ static final PropertySelector NOT_NULL_OR_ZERO = new NotNullOrZeroPropertySelector();
+
+ static final class AllPropertySelector implements PropertySelector
+ {
+
+ public boolean include(Object object, String propertyName, Type type)
+ {
+ return true;
+ }
+
+ private Object readResolve()
+ {
+ return ALL;
+ }
+ }
+
+ static final class NotNullPropertySelector implements PropertySelector
+ {
+
+ public boolean include(Object object, String propertyName, Type type)
+ {
+ return object != null;
+ }
+
+ private Object readResolve()
+ {
+ return NOT_NULL;
+ }
+ }
+
+ static final class NotNullOrZeroPropertySelector implements PropertySelector
+ {
+
+ public boolean include(Object object, String propertyName, Type type)
+ {
+ return object != null && (!(object instanceof Number) || ((Number) object).longValue() != 0);
+ }
+
+ private Object readResolve()
+ {
+ return NOT_NULL_OR_ZERO;
+ }
+ }
+
+}
\ No newline at end of file
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -65,7 +65,7 @@
/*
* TODO tests to perform: 1) find filtered with collection with zero, one or more elements 2) find filtered with
- * additional criteria 3) filter metadata support 4) find filtered with id 5) find filtered with backref
+ * additional criteria 3) filter metadata support
*/
@Autowired
@@ -221,7 +221,7 @@
Designer designer = priusDesigner(prius);
personDAO.save(designer);
- // FIXME evicting breaks the test, there must be something wrong in the hibernate mapping configuration
+ // evicting breaks equals() on persistent bags
// personDAO.evict(designer);
// cannot use load() with entity inheritance, see https://forum.hibernate.org/viewtopic.php?p=2418875
@@ -485,6 +485,44 @@
Assert.assertEquals(alicesProperties[1], alice.getBirthDate());
}
+
+ /**
+ * BSHD-15 check backref property accessors
+ */
+ @Test
+ public void testOneToMany()
+ {
+ Sticker st1 = new Sticker();
+ st1.setName("Warning! Baby on board!");
+ st1.setHeight(20d);
+ st1.setWidth(10d);
+ Sticker st2 = new Sticker();
+ st2.setName("Objects in the mirror are losing");
+ st2.setHeight(5d);
+ st2.setWidth(10d);
+
+ Car chucksPrius = chucksPrius(chuck(), prius(toyota()));
+ chucksPrius.setStickers(Collections.singletonList(st1));
+ Long savedId = carDAO.save(chucksPrius);
+ chucksPrius = carDAO.load(savedId);
+ // evicting breaks equals() on persistent bags
+ // carDAO.evict(chucksPrius);
+
+ Car filter = chucksPrius.clone();
+ // filter.setOwner(null);
+ // filter.setModel(null);
+ filter.setStickers(null);
+ // filter.setRegistrationDate(null);
+ // filter.setMarketValue(null);
+ // filter.setId(null);
+
+ Car found = carDAO.findFilteredFirst(filter);
+ Assert.assertEquals(found, chucksPrius);
+
+ // found = carDAO.findFilteredFirst(chucksPrius);
+ // Assert.assertEquals(found, chucksPrius);
+ }
+
// @Test
// public void testExampleAssociations()
// {
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -36,7 +36,7 @@
* @author gcatania
*/
@Entity
-public class Address
+public class Address implements Cloneable
{
@Id
@@ -293,4 +293,18 @@
+ "]";
}
+ /** {@inheritDoc} */
+ @Override
+ public Address clone()
+ {
+ try
+ {
+ return (Address) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Car.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Car.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Car.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -25,6 +25,7 @@
package it.openutils.hibernate.test.model;
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
@@ -34,6 +35,7 @@
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
@@ -42,7 +44,7 @@
* @author gcatania
*/
@Entity
-public class Car
+public class Car implements Cloneable
{
@Id
@@ -62,6 +64,8 @@
private CurrencyAmount marketValue;
@OneToMany(cascade = CascadeType.ALL)
+ // join table appears problematic, using single join column instead
+ @JoinColumn(name = "carId", nullable = false)
private List<Sticker> stickers;
/**
@@ -223,7 +227,7 @@
return false;
}
}
- else if (!registrationDate.equals(other.registrationDate))
+ else if (registrationDate.compareTo(other.registrationDate) != 0)
{
return false;
}
@@ -248,11 +252,9 @@
public String toString()
{
StringBuilder builder = new StringBuilder();
- builder
- .append("Car [id=")
- .append(id)
- .append(", registrationDate=")
- .append(registrationDate)
+ builder.append("Car [id=").append(id).append(", model=").append(model)
+ // .append(", registrationDate=")
+ // .append(registrationDate)
.append(", marketValue=")
.append(marketValue)
.append(", stickers=")
@@ -261,4 +263,36 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public Car clone()
+ {
+ Car clone;
+ try
+ {
+ clone = (Car) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ if (model != null)
+ {
+ clone.model = model.clone();
+ }
+ if (registrationDate != null)
+ {
+ clone.registrationDate = (Calendar) registrationDate.clone();
+ }
+ if (stickers != null)
+ {
+ clone.stickers = new ArrayList<Sticker>();
+ for (Sticker s : stickers)
+ {
+ clone.stickers.add(s.clone());
+ }
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarMaker.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarMaker.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarMaker.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -25,6 +25,7 @@
package it.openutils.hibernate.test.model;
+import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
@@ -38,7 +39,7 @@
* @author gcatania
*/
@Entity
-public class CarMaker
+public class CarMaker implements Cloneable
{
@Id
@@ -206,4 +207,32 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public CarMaker clone()
+ {
+ CarMaker clone;
+ try
+ {
+ clone = (CarMaker) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ if (capitalization != null)
+ {
+ clone.capitalization = capitalization.clone();
+ }
+ if (models != null)
+ {
+ clone.models = new ArrayList<CarModel>();
+ for (CarModel m : models)
+ {
+ clone.models.add(m.clone());
+ }
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -38,7 +38,7 @@
* @author gcatania
*/
@Entity
-public class CarModel
+public class CarModel implements Cloneable
{
@Id
@@ -217,4 +217,18 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public CarModel clone()
+ {
+ try
+ {
+ return (CarModel) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CurrencyAmount.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CurrencyAmount.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CurrencyAmount.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -32,7 +32,7 @@
* @author gcatania
*/
@Embeddable
-public class CurrencyAmount
+public class CurrencyAmount implements Cloneable
{
private double amount;
@@ -143,4 +143,17 @@
return new StringBuilder().append(currency).append(' ').append(amount).toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public CurrencyAmount clone()
+ {
+ try
+ {
+ return (CurrencyAmount) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Designer.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Designer.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Designer.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -25,6 +25,7 @@
package it.openutils.hibernate.test.model;
+import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
@@ -130,4 +131,20 @@
return true;
}
+ /** {@inheritDoc} */
+ @Override
+ public Designer clone()
+ {
+ Designer clone = (Designer) super.clone();
+ if (designedModels != null)
+ {
+ clone.designedModels = new HashSet<CarModel>();
+ for (CarModel m : designedModels)
+ {
+ clone.designedModels.add(m.clone());
+ }
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Employee.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Employee.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Employee.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -190,7 +190,7 @@
return false;
}
}
- else if (!employedSince.equals(other.employedSince))
+ else if (employedSince.compareTo(other.employedSince) != 0)
{
return false;
}
@@ -230,4 +230,24 @@
return true;
}
+ /** {@inheritDoc} */
+ @Override
+ public Employee clone()
+ {
+ Employee clone = (Employee) super.clone();
+ if (employer != null)
+ {
+ clone.employer = employer.clone();
+ }
+ if (grossAnnualSalary != null)
+ {
+ clone.grossAnnualSalary = grossAnnualSalary.clone();
+ }
+ if (employedSince != null)
+ {
+ clone.employedSince = (Calendar) employedSince.clone();
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/FullName.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/FullName.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/FullName.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -33,7 +33,7 @@
* @author gcatania
*/
@Embeddable
-public class FullName
+public class FullName implements Cloneable
{
private Title title;
@@ -173,4 +173,18 @@
return "FullName [familyName=" + familyName + ", givenName=" + givenName + ", title=" + title + "]";
}
+ /** {@inheritDoc} */
+ @Override
+ public FullName clone()
+ {
+ try
+ {
+ return (FullName) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Owner.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Owner.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Owner.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -25,6 +25,7 @@
package it.openutils.hibernate.test.model;
+import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
@@ -125,4 +126,24 @@
return true;
}
+ /** {@inheritDoc} */
+ @Override
+ public Owner clone()
+ {
+ Owner clone = (Owner) super.clone();
+ if (cars != null)
+ {
+ clone.cars = new HashSet<Car>();
+ for (Car car : cars)
+ {
+ clone.cars.add(car.clone());
+ }
+ }
+ if (totalValueOfCars != null)
+ {
+ clone.totalValueOfCars = totalValueOfCars.clone();
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Person.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Person.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Person.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -47,7 +47,7 @@
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "personType")
-public class Person
+public class Person implements Cloneable
{
@Id
@@ -188,7 +188,7 @@
return false;
}
}
- else if (!birthDate.equals(other.birthDate))
+ else if (birthDate.compareTo(other.birthDate) != 0)
{
return false;
}
@@ -257,4 +257,37 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public Person clone()
+ {
+ Person clone;
+ try
+ {
+ clone = (Person) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+
+ if (name != null)
+ {
+ clone.name = name.clone();
+ }
+ if (birthDate != null)
+ {
+ clone.birthDate = (Calendar) birthDate.clone();
+ }
+ if (currentAddress != null)
+ {
+ clone.currentAddress = currentAddress.clone();
+ }
+ if (fiscalAddress != null)
+ {
+ clone.fiscalAddress = fiscalAddress.clone();
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Sticker.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Sticker.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Sticker.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -35,7 +35,7 @@
* @author gcatania
*/
@Entity
-public class Sticker
+public class Sticker implements Cloneable
{
@Id
@@ -216,4 +216,17 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public Sticker clone()
+ {
+ try
+ {
+ return (Sticker) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Title.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Title.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Title.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -28,9 +28,8 @@
/**
* @author gcatania
*/
-public enum Title {
-
+public enum Title
+{
/** male, female titles */
MR, MRS
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|