From e6f28374a56c8d1adec23974110e89ee4309e0e7 Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Tue, 19 Dec 2006 17:30:05 +0000 Subject: [PATCH] Merged 1.4 to HEAD (Repo and other pieces for support of Records Management) svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4/root/projects/repository@4616 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4/root/projects/repository@4617 . svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4/root/projects/web-client@4616 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4/root/projects/web-client@4617 . svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4/root/common@4616 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4/root/common@4617 . svn revert common.properties Manually carried common.properties file changes over git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4666 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ...arkerWithLuceneExtensionsModelFactory.java | 2 +- .../repo/template/DateCompareMethod.java | 1 - .../repo/template/DateIncrementMethod.java | 59 +++++++++++++++++++ .../repo/template/FreeMarkerProcessor.java | 1 + 4 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 source/java/org/alfresco/repo/template/DateIncrementMethod.java diff --git a/source/java/org/alfresco/repo/action/scheduled/FreeMarkerWithLuceneExtensionsModelFactory.java b/source/java/org/alfresco/repo/action/scheduled/FreeMarkerWithLuceneExtensionsModelFactory.java index e2f5f19edf..a38dd4d49a 100644 --- a/source/java/org/alfresco/repo/action/scheduled/FreeMarkerWithLuceneExtensionsModelFactory.java +++ b/source/java/org/alfresco/repo/action/scheduled/FreeMarkerWithLuceneExtensionsModelFactory.java @@ -104,7 +104,7 @@ public class FreeMarkerWithLuceneExtensionsModelFactory implements TemplateActio { Map model = getModel(); - TemplateNode companyRootNode = new TemplateNode(nodeRef, serviceRegistry); + TemplateNode companyRootNode = new TemplateNode(nodeRef, serviceRegistry, null); model.put("node", companyRootNode); return model; diff --git a/source/java/org/alfresco/repo/template/DateCompareMethod.java b/source/java/org/alfresco/repo/template/DateCompareMethod.java index d25905c51b..30dcf1b1cd 100644 --- a/source/java/org/alfresco/repo/template/DateCompareMethod.java +++ b/source/java/org/alfresco/repo/template/DateCompareMethod.java @@ -19,7 +19,6 @@ package org.alfresco.repo.template; import java.util.Date; import java.util.List; -import freemarker.ext.beans.BeanModel; import freemarker.template.TemplateDateModel; import freemarker.template.TemplateMethodModelEx; import freemarker.template.TemplateModelException; diff --git a/source/java/org/alfresco/repo/template/DateIncrementMethod.java b/source/java/org/alfresco/repo/template/DateIncrementMethod.java new file mode 100644 index 0000000000..3ca28e3b0a --- /dev/null +++ b/source/java/org/alfresco/repo/template/DateIncrementMethod.java @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2005 Alfresco, Inc. + * + * Licensed under the Mozilla Public License version 1.1 + * with a permitted attribution clause. You may obtain a + * copy of the License at + * + * http://www.alfresco.org/legal/license.txt + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific + * language governing permissions and limitations under the + * License. + */ +package org.alfresco.repo.template; + +import java.util.Date; +import java.util.List; + +import freemarker.template.TemplateDateModel; +import freemarker.template.TemplateMethodModelEx; +import freemarker.template.TemplateModelException; +import freemarker.template.TemplateNumberModel; + +/** + * @author Roy Wetherall + * + + */ +public final class DateIncrementMethod implements TemplateMethodModelEx +{ + /** + * @see freemarker.template.TemplateMethodModel#exec(java.util.List) + */ + public Object exec(List args) throws TemplateModelException + { + Date result = null; + + if (args.size() == 2) + { + Object arg0 = args.get(0); + Object arg1 = args.get(1); + + if (arg0 instanceof TemplateDateModel && arg1 instanceof TemplateNumberModel) + { + Date origionalDate = (Date)((TemplateDateModel)arg0).getAsDate(); + Number number = ((TemplateNumberModel)arg1).getAsNumber(); + long increment = number.longValue(); + + long modified = origionalDate.getTime() + increment; + result = new Date(modified); + } + } + + return result; + } +} diff --git a/source/java/org/alfresco/repo/template/FreeMarkerProcessor.java b/source/java/org/alfresco/repo/template/FreeMarkerProcessor.java index 8dc891a504..c4d1e19eff 100644 --- a/source/java/org/alfresco/repo/template/FreeMarkerProcessor.java +++ b/source/java/org/alfresco/repo/template/FreeMarkerProcessor.java @@ -337,6 +337,7 @@ public class FreeMarkerProcessor implements TemplateProcessor model.put("hasAspect", new HasAspectMethod()); model.put("message", new I18NMessageMethod()); model.put("dateCompare", new DateCompareMethod()); + model.put("incrementDate", new DateIncrementMethod()); return model; }