diff --git a/config/alfresco/extension/license/howToInstallLicense.txt b/config/alfresco/extension/license/howToInstallLicense.txt new file mode 100644 index 0000000000..4ee8d03d44 --- /dev/null +++ b/config/alfresco/extension/license/howToInstallLicense.txt @@ -0,0 +1,9 @@ +A license is installed by placing the license file (.lic) within this directory. + +Only one license file may exist within this directory. + +Upon restarting the Alfresco server, the license file is read and installed. +If installed successfully, the license file is renamed by adding ".installed" +to the end of the filename. + + diff --git a/source/java/org/alfresco/repo/admin/patch/util/ImportFileUpdater.java b/source/java/org/alfresco/repo/admin/patch/util/ImportFileUpdater.java index 9465ab7320..9d3c7bff99 100644 --- a/source/java/org/alfresco/repo/admin/patch/util/ImportFileUpdater.java +++ b/source/java/org/alfresco/repo/admin/patch/util/ImportFileUpdater.java @@ -41,6 +41,7 @@ public class ImportFileUpdater /** The current import version number **/ private String version; + private boolean shownWarning = false; /** * Updates the passed import file into the equivalent 1.4 format. @@ -52,6 +53,7 @@ public class ImportFileUpdater { XmlPullParser reader = getReader(source); XMLWriter writer = getWriter(destination); + this.shownWarning = false; try { @@ -206,11 +208,20 @@ public class ImportFileUpdater } else if (reader.getName().equals(NAME_RULE) == true) { - if (this.version.startsWith("1.3") == true) + if (this.shownWarning == false && this.version == null) + { + System.out.println("WARNING: No version information has been found in this import file. It will be presumed it has been exported from 1.3"); + this.shownWarning = true; + } + if (this.version == null || this.version.startsWith("1.3") == true || this.version.startsWith("1.2") == true) { new RuleCallback().doCallback(reader, writer); result = true; } + else + { + throw new RuntimeException("Import files of version " + this.version + " are not supported by this tool."); + } } return result; } diff --git a/source/java/org/alfresco/repo/content/AbstractContentReadWriteTest.java b/source/java/org/alfresco/repo/content/AbstractContentReadWriteTest.java index 72eded0a8c..fde442531c 100644 --- a/source/java/org/alfresco/repo/content/AbstractContentReadWriteTest.java +++ b/source/java/org/alfresco/repo/content/AbstractContentReadWriteTest.java @@ -193,11 +193,11 @@ public abstract class AbstractContentReadWriteTest extends TestCase String content = "ABC"; // write some content -// long before = System.currentTimeMillis(); + long before = System.currentTimeMillis(); writer.setMimetype("text/plain"); writer.setEncoding("UTF-8"); writer.putContent(content); -// long after = System.currentTimeMillis(); + long after = System.currentTimeMillis(); // get a reader from the writer ContentReader readerFromWriter = writer.getReader(); @@ -219,13 +219,17 @@ public abstract class AbstractContentReadWriteTest extends TestCase int length = content.getBytes(writer.getEncoding()).length; assertEquals("Reader content length is incorrect", length, readerFromWriter.getSize()); -// -// This check has been disabled as Linux is out by some variable amount of time -// // check that the last modified time is correct -// long modifiedTimeCheck = readerFromWriter.getLastModified(); -// assertTrue("Reader last modified is incorrect", before <= modifiedTimeCheck); -// assertTrue("Reader last modified is incorrect", modifiedTimeCheck <= after); -// + // check that the last modified time is correct + long modifiedTimeCheck = readerFromWriter.getLastModified(); + + // On some versionms of Linux (e.g. Centos) this test won't work as the + // modified time accuracy is only to the second. + long beforeSeconds = before/1000L; + long afterSeconds = after/1000L; + long modifiedTimeCheckSeconds = modifiedTimeCheck/1000L; + + assertTrue("Reader last modified is incorrect", beforeSeconds <= modifiedTimeCheckSeconds); + assertTrue("Reader last modified is incorrect", modifiedTimeCheckSeconds <= afterSeconds); } public void testClosedState() throws Exception @@ -275,6 +279,7 @@ public abstract class AbstractContentReadWriteTest extends TestCase /** * Checks that the store disallows concurrent writers to be issued to the same URL. */ + @SuppressWarnings("unused") public void testConcurrentWriteDetection() throws Exception { String contentUrl = AbstractContentStore.createNewUrl(); diff --git a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java index b7e8f4fb86..41f03c209e 100644 --- a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java +++ b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java @@ -21,9 +21,11 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import org.alfresco.model.ContentModel; import org.alfresco.repo.jscript.Classification; import org.alfresco.repo.jscript.Search; import org.alfresco.repo.jscript.Session; +import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.ScriptService; @@ -155,7 +157,18 @@ public class AlfrescoJavaScript extends JBPMSpringActionHandler inputMap.put("session", new Session(services, null)); inputMap.put("classification", new Classification(services, companyHomeRef.getStoreRef(), null)); } - + String userName = AuthenticationUtil.getCurrentUserName(); + NodeRef person = services.getPersonService().getPerson(userName); + if (person != null) + { + inputMap.put("person", new JBPMNode(person, services)); + NodeRef homeSpace = (NodeRef)services.getNodeService().getProperty(person, ContentModel.PROP_HOMEFOLDER); + if (homeSpace != null) + { + inputMap.put("userhome", new JBPMNode(homeSpace, services)); + } + } + // initialise process variables Token token = executionContext.getToken(); inputMap.put("executionContext", executionContext); diff --git a/source/java/org/alfresco/service/cmr/model/FileFolderService.java b/source/java/org/alfresco/service/cmr/model/FileFolderService.java index 6dcbfbd4bf..1e69b185af 100644 --- a/source/java/org/alfresco/service/cmr/model/FileFolderService.java +++ b/source/java/org/alfresco/service/cmr/model/FileFolderService.java @@ -239,8 +239,8 @@ public interface FileFolderService * Get the reader to the file represented by the node according to the File/Folder model. * (This is not the same as the method on the ContentService) * - * @param nodeRef - * @return + * @param nodeRef the content node + * @return Returns a handle to the content associated with the node */ @Auditable(key = Auditable.Key.ARG_0, parameters = {"nodeRef"}) public ContentReader getReader(NodeRef nodeRef); @@ -249,8 +249,8 @@ public interface FileFolderService * Get the writer to the file represented by the node according to the File/Folder model. * (This is not the same as the method on the ContentService) * - * @param nodeRef - * @return + * @param nodeRef the content node + * @return Returns a handle to the content associated with the node */ @Auditable(key = Auditable.Key.ARG_0, parameters = {"nodeRef"}) public ContentWriter getWriter(NodeRef nodeRef);