Author: knguyen
Date: Fri Aug 18 16:47:56 2006
New Revision: 14938
URL: https://svndev.jahia.net/websvn/listing.php?sc=1&rev=14938&repname=jahia
Log:
clone support
Modified:
trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectDelegate.java
trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectManager.java
trunk/core/src/java/org/jahia/hibernate/model/JahiaRetentionRule.java
trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRule.java
trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRuleDef.java
trunk/core/src/java/org/jahia/services/timebasedpublishing/RangeRetentionRule.java
trunk/core/src/java/org/jahia/services/timebasedpublishing/RetentionRule.java
Modified:
trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectDelegate.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectDelegate.java&rev=14938&repname=jahia
==============================================================================
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectDelegate.java
(original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectDelegate.java
Fri Aug 18 16:47:56 2006
@@ -27,7 +27,7 @@
* Time: 15:42:36
* To change this template use File | Settings | File Templates.
*/
-public class JahiaObjectDelegate implements TimeBasedPublishingState {
+public class JahiaObjectDelegate implements TimeBasedPublishingState,
Cloneable {
private static org.apache.log4j.Logger logger =
org.apache.log4j.Logger.getLogger(JahiaObjectDelegate.class);
@@ -117,4 +117,15 @@
return ( validTo > date );
}
+ public Object clone() throws CloneNotSupportedException {
+ JahiaObjectDelegate clone = new JahiaObjectDelegate();
+ clone.setObjectKey(getObjectKey());
+ clone.setRule((RetentionRule)getRule().clone());
+ clone.setSiteId(getSiteId());
+ clone.setTimeBPState(getTimeBPState());
+ clone.setValidFromDate(getValidFromDate());
+ clone.setValidToDate(getValidToDate());
+ return clone;
+ }
+
}
Modified:
trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectManager.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectManager.java&rev=14938&repname=jahia
==============================================================================
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectManager.java
(original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaObjectManager.java Fri
Aug 18 16:47:56 2006
@@ -267,13 +267,23 @@
} catch (Throwable t) {
}
}
- return jahiaObjectDelegate;
+ try {
+ return (JahiaObjectDelegate)jahiaObjectDelegate.clone();
+ } catch ( Throwable t ) {
+ logger.debug("Exception occured cloning object",t);
+ }
+ return null;
}
public void addJahiaObjectDelegateInCache(JahiaObjectDelegate
jahiaObjectDelegate){
if ( jahiaObjectDelegate == null ){
return;
}
+ try {
+ jahiaObjectDelegate =
(JahiaObjectDelegate)jahiaObjectDelegate.clone();
+ } catch ( Throwable t ){
+ return;
+ }
if(cache==null) {
try {
cache = cacheService.createCacheInstance(CACHE_NAME);
Modified: trunk/core/src/java/org/jahia/hibernate/model/JahiaRetentionRule.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/hibernate/model/JahiaRetentionRule.java&rev=14938&repname=jahia
==============================================================================
--- trunk/core/src/java/org/jahia/hibernate/model/JahiaRetentionRule.java
(original)
+++ trunk/core/src/java/org/jahia/hibernate/model/JahiaRetentionRule.java Fri
Aug 18 16:47:56 2006
@@ -32,7 +32,7 @@
* @hibernate.class table="jahia_retrule"
* @hibernate.cache usage="nonstrict-read-write"
*/
-public abstract class JahiaRetentionRule implements Serializable, Cloneable{
+public abstract class JahiaRetentionRule implements Serializable, Cloneable {
private Integer id;
private JahiaRetentionRuleDef retentionRuleDef;
Modified:
trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRule.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRule.java&rev=14938&repname=jahia
==============================================================================
---
trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRule.java
(original)
+++
trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRule.java
Fri Aug 18 16:47:56 2006
@@ -132,4 +132,6 @@
* @throws Exception
*/
public abstract boolean deleteJob() throws Exception;
+ public abstract Object clone() throws CloneNotSupportedException;
+
}
Modified:
trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRuleDef.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRuleDef.java&rev=14938&repname=jahia
==============================================================================
---
trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRuleDef.java
(original)
+++
trunk/core/src/java/org/jahia/services/timebasedpublishing/BaseRetentionRuleDef.java
Fri Aug 18 16:47:56 2006
@@ -184,4 +184,5 @@
}
return null;
}
+
}
Modified:
trunk/core/src/java/org/jahia/services/timebasedpublishing/RangeRetentionRule.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/timebasedpublishing/RangeRetentionRule.java&rev=14938&repname=jahia
==============================================================================
---
trunk/core/src/java/org/jahia/services/timebasedpublishing/RangeRetentionRule.java
(original)
+++
trunk/core/src/java/org/jahia/services/timebasedpublishing/RangeRetentionRule.java
Fri Aug 18 16:47:56 2006
@@ -264,6 +264,22 @@
return rule;
}
+ public Object clone() throws CloneNotSupportedException {
+ RangeRetentionRule clone = new RangeRetentionRule();
+ clone.setComment(getComment());
+ clone.setEnabled(getEnabled());
+ clone.setId(getId());
+ clone.setInherited(getInherited());
+ clone.setNotifiedValidFromDate(this.getNotifiedValidFromDate());
+ clone.setNotifiedValidToDate(this.getNotifiedValidToDate());
+ clone.setRetentionRuleDef(this.getRetentionRuleDef());
+ clone.setShared(getShared());
+ clone.setTitle(getTitle());
+ clone.setValidFromDate(getValidFromDate());
+ clone.setValidToDate(getValidToDate());
+ return clone;
+ }
+
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Modified:
trunk/core/src/java/org/jahia/services/timebasedpublishing/RetentionRule.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/timebasedpublishing/RetentionRule.java&rev=14938&repname=jahia
==============================================================================
---
trunk/core/src/java/org/jahia/services/timebasedpublishing/RetentionRule.java
(original)
+++
trunk/core/src/java/org/jahia/services/timebasedpublishing/RetentionRule.java
Fri Aug 18 16:47:56 2006
@@ -23,7 +23,7 @@
* Time: 12:53:53
* To change this template use File | Settings | File Templates.
*/
-public interface RetentionRule {
+public interface RetentionRule extends Cloneable {
/**
* The rule identifier
@@ -110,4 +110,6 @@
* @throws Exception
*/
public boolean deleteJob() throws Exception;
+
+ public Object clone() throws CloneNotSupportedException;
}