You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2008/03/04 17:46:09 UTC
svn commit: r633542 - in
/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository:
ModifiableMetaDataHandler.java SourceNode.java
SourceNodeMetaDataHandler.java SourceNodeRevision.java SourceWrapper.java
Author: andreas
Date: Tue Mar 4 08:46:08 2008
New Revision: 633542
URL: http://svn.apache.org/viewvc?rev=633542&view=rev
Log:
Source node meta data: obtain last modification date from RCML instead of source (much cheaper).
Modified:
lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java
lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java
lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java
lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java
lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java
Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java?rev=633542&r1=633541&r2=633542&view=diff
==============================================================================
--- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java (original)
+++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java Tue Mar 4 08:46:08 2008
@@ -42,7 +42,7 @@
* @param sourceWrapper The source wrapper.
*/
public ModifiableMetaDataHandler(ServiceManager manager, MetaSourceWrapper sourceWrapper) {
- super(manager, sourceWrapper.getRealSourceUri());
+ super(manager, sourceWrapper.getRealSourceUri(), sourceWrapper.getNode());
this.sourceWrapper = sourceWrapper;
try {
this.sourceWrapper.getNode().setPersistable(this);
Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java?rev=633542&r1=633541&r2=633542&view=diff
==============================================================================
--- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java (original)
+++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java Tue Mar 4 08:46:08 2008
@@ -409,18 +409,17 @@
}
public long getLastModified() throws RepositoryException {
-
- if (!exists()) {
- throw new RepositoryException("The node [" + this + "] does not exist!");
- }
-
- long contentLastModified = this.contentSource.getLastModified();
- long metaLastModified = 0;
- if (this.metaSource.exists()) {
- metaLastModified = this.metaSource.getLastModified();
+ try {
+ CheckInEntry entry = getRcml().getLatestCheckInEntry();
+ if (entry != null) {
+ return entry.getTime();
+ }
+ else {
+ throw new RepositoryException("The node [" + this + "] hasn't been checked in yet.");
+ }
+ } catch (RevisionControlException e) {
+ throw new RepositoryException(e);
}
-
- return Math.max(contentLastModified, metaLastModified);
}
public String getMimeType() throws RepositoryException {
@@ -498,6 +497,10 @@
public Persistable getPersistable() {
return this.persistable;
+ }
+
+ public String getCacheKey() {
+ return getSourceURI();
}
}
Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java?rev=633542&r1=633541&r2=633542&view=diff
==============================================================================
--- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java (original)
+++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java Tue Mar 4 08:46:08 2008
@@ -43,15 +43,18 @@
public class SourceNodeMetaDataHandler implements MetaDataOwner {
private ServiceManager manager;
+ private ContentHolder content;
private String sourceUri;
/**
* @param manager The service manager.
- * @param sourceUri The soure URI.
+ * @param sourceUri The source URI.
+ * @param content The content these meta data apply for.
*/
- public SourceNodeMetaDataHandler(ServiceManager manager, String sourceUri) {
+ public SourceNodeMetaDataHandler(ServiceManager manager, String sourceUri, ContentHolder content) {
this.manager = manager;
this.sourceUri = sourceUri;
+ this.content = content;
}
private Map namespace2metadata = new HashMap();
@@ -259,11 +262,7 @@
}
protected long getLastModified() throws RepositoryException {
- try {
- return SourceUtil.getLastModified(this.sourceUri, this.manager);
- } catch (Exception e) {
- throw new RepositoryException(e);
- }
+ return this.content.getLastModified();
}
}
Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java?rev=633542&r1=633541&r2=633542&view=diff
==============================================================================
--- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java (original)
+++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java Tue Mar 4 08:46:08 2008
@@ -131,7 +131,7 @@
protected SourceNodeMetaDataHandler getMetaDataHandler() {
if (this.metaDataHandler == null) {
- this.metaDataHandler = new SourceNodeMetaDataHandler(this.manager, getMetaSourceUri());
+ this.metaDataHandler = new SourceNodeMetaDataHandler(this.manager, getMetaSourceUri(), this);
}
return this.metaDataHandler;
}
Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java?rev=633542&r1=633541&r2=633542&view=diff
==============================================================================
--- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java (original)
+++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java Tue Mar 4 08:46:08 2008
@@ -24,7 +24,6 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
-import java.util.Date;
import java.util.Map;
import java.util.WeakHashMap;
@@ -39,8 +38,6 @@
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.rc.CheckInEntry;
-import org.apache.lenya.cms.rc.RevisionControlException;
import org.apache.lenya.util.Assert;
/**
@@ -348,7 +345,6 @@
*/
public synchronized void close() throws IOException {
SourceWrapper.this.data = super.toByteArray();
- SourceWrapper.this.lastModified = new Date().getTime();
try {
SourceWrapper.this.getNode().registerDirty();
} catch (RepositoryException e) {
@@ -366,25 +362,6 @@
public long getContentLength() throws RepositoryException {
loadData();
return this.data.length;
- }
-
- private long lastModified = -1;
-
- /**
- * @return The last modification date.
- * @throws RepositoryException if an error occurs.
- * @see org.apache.lenya.cms.repository.Node#getLastModified()
- */
- public long getLastModified() throws RepositoryException {
- try {
- CheckInEntry entry = this.node.getRcml().getLatestCheckInEntry();
- if (entry != null) {
- this.lastModified = entry.getTime();
- }
- } catch (RevisionControlException e) {
- throw new RepositoryException(e);
- }
- return this.lastModified;
}
private String mimeType;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org
Re: svn commit: r633542 - in /lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository:
ModifiableMetaDataHandler.java SourceNode.java SourceNodeMetaDataHandler.java
SourceNodeRevision.java SourceWrapper.java
Posted by Andreas Hartmann <an...@apache.org>.
Hi Jann,
Jann Forrer schrieb:
> Hi andreas
>
> The export.importContent usecase does not work after this commit. It
> throws a RepositoryException:
>
> Exception during commit or rollback:
> org.apache.lenya.cms.repository.RepositoryException: The node [node
> lenya://lenya/pubs/default/content/authoring/sitetree.xml] hasn't been
> checked in yet.
>
> That might be due to getRcml().getLatestCheckInEntry(); because no rcml
> entry exist at that time.
thanks for the pointer! I removed the code from SiteTreeImpl since the
usage was commented out anyway.
-- Andreas
>
> Jann
>
>
>> Author: andreas
>> Date: Tue Mar 4 08:46:08 2008
>> New Revision: 633542
>>
>> URL: http://svn.apache.org/viewvc?rev=633542&view=rev
>> Log:
>> Source node meta data: obtain last modification date from RCML instead of source (much cheaper).
>>
>> Modified:
>> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java
>> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java
>> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java
>> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java
>> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java
>>
>> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java
>> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java?rev=633542&r1=633541&r2=633542&view=diff
>> ==============================================================================
>> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java (original)
>> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java Tue Mar 4 08:46:08 2008
>> @@ -42,7 +42,7 @@
>> * @param sourceWrapper The source wrapper.
>> */
>> public ModifiableMetaDataHandler(ServiceManager manager, MetaSourceWrapper sourceWrapper) {
>> - super(manager, sourceWrapper.getRealSourceUri());
>> + super(manager, sourceWrapper.getRealSourceUri(), sourceWrapper.getNode());
>> this.sourceWrapper = sourceWrapper;
>> try {
>> this.sourceWrapper.getNode().setPersistable(this);
>>
>> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java
>> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java?rev=633542&r1=633541&r2=633542&view=diff
>> ==============================================================================
>> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java (original)
>> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java Tue Mar 4 08:46:08 2008
>> @@ -409,18 +409,17 @@
>> }
>>
>> public long getLastModified() throws RepositoryException {
>> -
>> - if (!exists()) {
>> - throw new RepositoryException("The node [" + this + "] does not exist!");
>> - }
>> -
>> - long contentLastModified = this.contentSource.getLastModified();
>> - long metaLastModified = 0;
>> - if (this.metaSource.exists()) {
>> - metaLastModified = this.metaSource.getLastModified();
>> + try {
>> + CheckInEntry entry = getRcml().getLatestCheckInEntry();
>> + if (entry != null) {
>> + return entry.getTime();
>> + }
>> + else {
>> + throw new RepositoryException("The node [" + this + "] hasn't been checked in yet.");
>> + }
>> + } catch (RevisionControlException e) {
>> + throw new RepositoryException(e);
>> }
>> -
>> - return Math.max(contentLastModified, metaLastModified);
>> }
>>
>> public String getMimeType() throws RepositoryException {
>> @@ -498,6 +497,10 @@
>>
>> public Persistable getPersistable() {
>> return this.persistable;
>> + }
>> +
>> + public String getCacheKey() {
>> + return getSourceURI();
>> }
>>
>> }
>>
>> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java
>> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java?rev=633542&r1=633541&r2=633542&view=diff
>> ==============================================================================
>> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java (original)
>> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java Tue Mar 4 08:46:08 2008
>> @@ -43,15 +43,18 @@
>> public class SourceNodeMetaDataHandler implements MetaDataOwner {
>>
>> private ServiceManager manager;
>> + private ContentHolder content;
>> private String sourceUri;
>>
>> /**
>> * @param manager The service manager.
>> - * @param sourceUri The soure URI.
>> + * @param sourceUri The source URI.
>> + * @param content The content these meta data apply for.
>> */
>> - public SourceNodeMetaDataHandler(ServiceManager manager, String sourceUri) {
>> + public SourceNodeMetaDataHandler(ServiceManager manager, String sourceUri, ContentHolder content) {
>> this.manager = manager;
>> this.sourceUri = sourceUri;
>> + this.content = content;
>> }
>>
>> private Map namespace2metadata = new HashMap();
>> @@ -259,11 +262,7 @@
>> }
>>
>> protected long getLastModified() throws RepositoryException {
>> - try {
>> - return SourceUtil.getLastModified(this.sourceUri, this.manager);
>> - } catch (Exception e) {
>> - throw new RepositoryException(e);
>> - }
>> + return this.content.getLastModified();
>> }
>>
>> }
>>
>> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java
>> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java?rev=633542&r1=633541&r2=633542&view=diff
>> ==============================================================================
>> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java (original)
>> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java Tue Mar 4 08:46:08 2008
>> @@ -131,7 +131,7 @@
>>
>> protected SourceNodeMetaDataHandler getMetaDataHandler() {
>> if (this.metaDataHandler == null) {
>> - this.metaDataHandler = new SourceNodeMetaDataHandler(this.manager, getMetaSourceUri());
>> + this.metaDataHandler = new SourceNodeMetaDataHandler(this.manager, getMetaSourceUri(), this);
>> }
>> return this.metaDataHandler;
>> }
>>
>> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java
>> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java?rev=633542&r1=633541&r2=633542&view=diff
>> ==============================================================================
>> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java (original)
>> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java Tue Mar 4 08:46:08 2008
>> @@ -24,7 +24,6 @@
>> import java.io.InputStream;
>> import java.io.OutputStream;
>> import java.net.MalformedURLException;
>> -import java.util.Date;
>> import java.util.Map;
>> import java.util.WeakHashMap;
>>
>> @@ -39,8 +38,6 @@
>> import org.apache.lenya.cms.publication.DocumentFactory;
>> import org.apache.lenya.cms.publication.DocumentUtil;
>> import org.apache.lenya.cms.publication.Publication;
>> -import org.apache.lenya.cms.rc.CheckInEntry;
>> -import org.apache.lenya.cms.rc.RevisionControlException;
>> import org.apache.lenya.util.Assert;
>>
>> /**
>> @@ -348,7 +345,6 @@
>> */
>> public synchronized void close() throws IOException {
>> SourceWrapper.this.data = super.toByteArray();
>> - SourceWrapper.this.lastModified = new Date().getTime();
>> try {
>> SourceWrapper.this.getNode().registerDirty();
>> } catch (RepositoryException e) {
>> @@ -366,25 +362,6 @@
>> public long getContentLength() throws RepositoryException {
>> loadData();
>> return this.data.length;
>> - }
>> -
>> - private long lastModified = -1;
>> -
>> - /**
>> - * @return The last modification date.
>> - * @throws RepositoryException if an error occurs.
>> - * @see org.apache.lenya.cms.repository.Node#getLastModified()
>> - */
>> - public long getLastModified() throws RepositoryException {
>> - try {
>> - CheckInEntry entry = this.node.getRcml().getLatestCheckInEntry();
>> - if (entry != null) {
>> - this.lastModified = entry.getTime();
>> - }
>> - } catch (RevisionControlException e) {
>> - throw new RepositoryException(e);
>> - }
>> - return this.lastModified;
>> }
>>
>> private String mimeType;
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
>> For additional commands, e-mail: commits-help@lenya.apache.org
>>
>
>
--
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org
Re: svn commit: r633542 - in /lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository:
ModifiableMetaDataHandler.java SourceNode.java SourceNodeMetaDataHandler.java
SourceNodeRevision.java SourceWrapper.java
Posted by Jann Forrer <ja...@id.uzh.ch>.
Hi andreas
The export.importContent usecase does not work after this commit. It
throws a RepositoryException:
Exception during commit or rollback:
org.apache.lenya.cms.repository.RepositoryException: The node [node
lenya://lenya/pubs/default/content/authoring/sitetree.xml] hasn't been
checked in yet.
That might be due to getRcml().getLatestCheckInEntry(); because no rcml
entry exist at that time.
Jann
> Author: andreas
> Date: Tue Mar 4 08:46:08 2008
> New Revision: 633542
>
> URL: http://svn.apache.org/viewvc?rev=633542&view=rev
> Log:
> Source node meta data: obtain last modification date from RCML instead of source (much cheaper).
>
> Modified:
> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java
> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java
> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java
> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java
> lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java
>
> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java
> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java?rev=633542&r1=633541&r2=633542&view=diff
> ==============================================================================
> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java (original)
> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/ModifiableMetaDataHandler.java Tue Mar 4 08:46:08 2008
> @@ -42,7 +42,7 @@
> * @param sourceWrapper The source wrapper.
> */
> public ModifiableMetaDataHandler(ServiceManager manager, MetaSourceWrapper sourceWrapper) {
> - super(manager, sourceWrapper.getRealSourceUri());
> + super(manager, sourceWrapper.getRealSourceUri(), sourceWrapper.getNode());
> this.sourceWrapper = sourceWrapper;
> try {
> this.sourceWrapper.getNode().setPersistable(this);
>
> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java
> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java?rev=633542&r1=633541&r2=633542&view=diff
> ==============================================================================
> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java (original)
> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java Tue Mar 4 08:46:08 2008
> @@ -409,18 +409,17 @@
> }
>
> public long getLastModified() throws RepositoryException {
> -
> - if (!exists()) {
> - throw new RepositoryException("The node [" + this + "] does not exist!");
> - }
> -
> - long contentLastModified = this.contentSource.getLastModified();
> - long metaLastModified = 0;
> - if (this.metaSource.exists()) {
> - metaLastModified = this.metaSource.getLastModified();
> + try {
> + CheckInEntry entry = getRcml().getLatestCheckInEntry();
> + if (entry != null) {
> + return entry.getTime();
> + }
> + else {
> + throw new RepositoryException("The node [" + this + "] hasn't been checked in yet.");
> + }
> + } catch (RevisionControlException e) {
> + throw new RepositoryException(e);
> }
> -
> - return Math.max(contentLastModified, metaLastModified);
> }
>
> public String getMimeType() throws RepositoryException {
> @@ -498,6 +497,10 @@
>
> public Persistable getPersistable() {
> return this.persistable;
> + }
> +
> + public String getCacheKey() {
> + return getSourceURI();
> }
>
> }
>
> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java
> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java?rev=633542&r1=633541&r2=633542&view=diff
> ==============================================================================
> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java (original)
> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeMetaDataHandler.java Tue Mar 4 08:46:08 2008
> @@ -43,15 +43,18 @@
> public class SourceNodeMetaDataHandler implements MetaDataOwner {
>
> private ServiceManager manager;
> + private ContentHolder content;
> private String sourceUri;
>
> /**
> * @param manager The service manager.
> - * @param sourceUri The soure URI.
> + * @param sourceUri The source URI.
> + * @param content The content these meta data apply for.
> */
> - public SourceNodeMetaDataHandler(ServiceManager manager, String sourceUri) {
> + public SourceNodeMetaDataHandler(ServiceManager manager, String sourceUri, ContentHolder content) {
> this.manager = manager;
> this.sourceUri = sourceUri;
> + this.content = content;
> }
>
> private Map namespace2metadata = new HashMap();
> @@ -259,11 +262,7 @@
> }
>
> protected long getLastModified() throws RepositoryException {
> - try {
> - return SourceUtil.getLastModified(this.sourceUri, this.manager);
> - } catch (Exception e) {
> - throw new RepositoryException(e);
> - }
> + return this.content.getLastModified();
> }
>
> }
>
> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java
> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java?rev=633542&r1=633541&r2=633542&view=diff
> ==============================================================================
> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java (original)
> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNodeRevision.java Tue Mar 4 08:46:08 2008
> @@ -131,7 +131,7 @@
>
> protected SourceNodeMetaDataHandler getMetaDataHandler() {
> if (this.metaDataHandler == null) {
> - this.metaDataHandler = new SourceNodeMetaDataHandler(this.manager, getMetaSourceUri());
> + this.metaDataHandler = new SourceNodeMetaDataHandler(this.manager, getMetaSourceUri(), this);
> }
> return this.metaDataHandler;
> }
>
> Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java
> URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java?rev=633542&r1=633541&r2=633542&view=diff
> ==============================================================================
> --- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java (original)
> +++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceWrapper.java Tue Mar 4 08:46:08 2008
> @@ -24,7 +24,6 @@
> import java.io.InputStream;
> import java.io.OutputStream;
> import java.net.MalformedURLException;
> -import java.util.Date;
> import java.util.Map;
> import java.util.WeakHashMap;
>
> @@ -39,8 +38,6 @@
> import org.apache.lenya.cms.publication.DocumentFactory;
> import org.apache.lenya.cms.publication.DocumentUtil;
> import org.apache.lenya.cms.publication.Publication;
> -import org.apache.lenya.cms.rc.CheckInEntry;
> -import org.apache.lenya.cms.rc.RevisionControlException;
> import org.apache.lenya.util.Assert;
>
> /**
> @@ -348,7 +345,6 @@
> */
> public synchronized void close() throws IOException {
> SourceWrapper.this.data = super.toByteArray();
> - SourceWrapper.this.lastModified = new Date().getTime();
> try {
> SourceWrapper.this.getNode().registerDirty();
> } catch (RepositoryException e) {
> @@ -366,25 +362,6 @@
> public long getContentLength() throws RepositoryException {
> loadData();
> return this.data.length;
> - }
> -
> - private long lastModified = -1;
> -
> - /**
> - * @return The last modification date.
> - * @throws RepositoryException if an error occurs.
> - * @see org.apache.lenya.cms.repository.Node#getLastModified()
> - */
> - public long getLastModified() throws RepositoryException {
> - try {
> - CheckInEntry entry = this.node.getRcml().getLatestCheckInEntry();
> - if (entry != null) {
> - this.lastModified = entry.getTime();
> - }
> - } catch (RevisionControlException e) {
> - throw new RepositoryException(e);
> - }
> - return this.lastModified;
> }
>
> private String mimeType;
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
> For additional commands, e-mail: commits-help@lenya.apache.org
>
--
Jann Forrer
Informatikdienste
Universität Zürich
Winterthurerstr. 190
CH-8057 Zürich
oooO mail: jann.forrer@id.uzh.ch
( ) phone: +41 44 63 56772
\ ( fax: +41 44 63 54505
\_) http://www.id.unizh.ch