From 66861b83106f86528f5fc048d648ea3aa92e7cef Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Wed, 19 Mar 2008 12:13:38 +0000 Subject: [PATCH] Merged BRANCHES/DEV/WEB-PROTO-3.0 to HEAD git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@8565 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/repo/web/scripts/RepoStore.java | 40 ++++++++++++++----- .../scripts/RepositoryScriptProcessor.java | 2 +- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/source/java/org/alfresco/repo/web/scripts/RepoStore.java b/source/java/org/alfresco/repo/web/scripts/RepoStore.java index 0d18da22ac..1fa69b46b0 100644 --- a/source/java/org/alfresco/repo/web/scripts/RepoStore.java +++ b/source/java/org/alfresco/repo/web/scripts/RepoStore.java @@ -244,7 +244,7 @@ public class RepoStore implements Store, TenantDeployer } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptStore#exists() + * @see org.alfresco.web.scripts.Store#exists() */ public boolean exists() { @@ -252,7 +252,7 @@ public class RepoStore implements Store, TenantDeployer } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptStore#getBasePath() + * @see org.alfresco.web.scripts.Store#getBasePath() */ public String getBasePath() { @@ -295,7 +295,7 @@ public class RepoStore implements Store, TenantDeployer } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptStore#getScriptDocumentPaths(org.alfresco.web.scripts.WebScript) + * @see org.alfresco.web.scripts.Store#getScriptDocumentPaths(org.alfresco.web.scripts.WebScript) */ public String[] getScriptDocumentPaths(final WebScript script) { @@ -338,7 +338,7 @@ public class RepoStore implements Store, TenantDeployer } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptStore#getDescriptionDocumentPaths() + * @see org.alfresco.web.scripts.Store#getDescriptionDocumentPaths() */ public String[] getDescriptionDocumentPaths() { @@ -374,7 +374,29 @@ public class RepoStore implements Store, TenantDeployer } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptStore#hasDocument(java.lang.String) + * @see org.alfresco.web.scripts.Store#lastModified(java.lang.String) + */ + public long lastModified(final String documentPath) throws IOException + { + return AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork() + { + public Long doWork() throws Exception + { + return retryingTransactionHelper.doInTransaction(new RetryingTransactionCallback() + { + public Long execute() throws Exception + { + ContentReader reader = contentService.getReader( + findNodeRef(documentPath), ContentModel.PROP_CONTENT); + return reader.getLastModified(); + } + }); + } + }, AuthenticationUtil.getSystemUserName()); + } + + /* (non-Javadoc) + * @see org.alfresco.web.scripts.Store#hasDocument(java.lang.String) */ public boolean hasDocument(final String documentPath) { @@ -395,7 +417,7 @@ public class RepoStore implements Store, TenantDeployer } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptStore#getDescriptionDocument(java.lang.String) + * @see org.alfresco.web.scripts.Store#getDescriptionDocument(java.lang.String) */ public InputStream getDocument(final String documentPath) throws IOException @@ -426,7 +448,7 @@ public class RepoStore implements Store, TenantDeployer } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptStore#createDocument(java.lang.String, java.lang.String) + * @see org.alfresco.web.scripts.Store#createDocument(java.lang.String, java.lang.String) */ public void createDocument(String documentPath, String content) throws IOException { @@ -458,7 +480,7 @@ public class RepoStore implements Store, TenantDeployer } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptStore#getTemplateLoader() + * @see org.alfresco.web.scripts.Store#getTemplateLoader() */ public TemplateLoader getTemplateLoader() { @@ -466,7 +488,7 @@ public class RepoStore implements Store, TenantDeployer } /* (non-Javadoc) - * @see org.alfresco.web.scripts.WebScriptStore#getScriptLoader() + * @see org.alfresco.web.scripts.Store#getScriptLoader() */ public ScriptLoader getScriptLoader() { diff --git a/source/java/org/alfresco/repo/web/scripts/RepositoryScriptProcessor.java b/source/java/org/alfresco/repo/web/scripts/RepositoryScriptProcessor.java index e389fbc714..24e4a5d667 100644 --- a/source/java/org/alfresco/repo/web/scripts/RepositoryScriptProcessor.java +++ b/source/java/org/alfresco/repo/web/scripts/RepositoryScriptProcessor.java @@ -32,7 +32,7 @@ import java.util.List; import java.util.Map; import org.alfresco.repo.jscript.ValueConverter; -import org.alfresco.service.cmr.repository.ScriptException; +import org.alfresco.scripts.ScriptException; import org.alfresco.service.cmr.repository.ScriptLocation; import org.alfresco.service.cmr.repository.ScriptService; import org.alfresco.web.scripts.MultiScriptLoader;