/* * #%L * Alfresco Records Management Module * %% * Copyright (C) 2005 - 2016 Alfresco Software Limited * %% * This file is part of the Alfresco software. * - * If the software was purchased under a paid Alfresco license, the terms of * the paid license agreement will prevail. Otherwise, the software is * provided under the following open source license terms: * - * Alfresco is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * - * Alfresco is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see <http://www.gnu.org/licenses/>. * #L% */ package org.alfresco.module.org_alfresco_module_rm.test.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.action.RMActionExecuterAbstractBase; import org.alfresco.repo.action.ParameterDefinitionImpl; import org.alfresco.service.cmr.action.Action; import org.alfresco.service.cmr.action.ParameterDefinition; import org.alfresco.service.cmr.dictionary.DataTypeDefinition; import org.alfresco.service.cmr.repository.NodeRef; import org.springframework.extensions.surf.util.I18NUtil; public class TestActionPropertySubs extends RMActionExecuterAbstractBase { public static final String NAME = "testActionPropertySubs"; @Override protected void addParameterDefinitions(List<ParameterDefinition> paramList) { paramList.add(new ParameterDefinitionImpl("dayShort", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("dayShort2", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("dayLong", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("dayNumber", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("dayYear", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("monthShort", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("monthShort2", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("monthLong", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("monthNumber", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("yearShort", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("yearShort2", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("yearLong", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("yearWeek", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("name", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("company", DataTypeDefinition.TEXT, false, "")); paramList.add(new ParameterDefinitionImpl("combo", DataTypeDefinition.TEXT, false, "")); } @Override protected void executeImpl(Action action, NodeRef actionedUponNodeRef) { Date date = new Date(); String dayShort = new SimpleDateFormat("EE").format(date); String dayLong = new SimpleDateFormat("EEEE").format(date); String dayNumber = new SimpleDateFormat("uu").format(date); String dayYear = new SimpleDateFormat("DDD").format(date); String monthShort = new SimpleDateFormat("MMM").format(date); String monthLong = new SimpleDateFormat("MMMM").format(date); String monthNumber = new SimpleDateFormat("MM").format(date); String yearShort = new SimpleDateFormat("yy").format(date); String yearLong = new SimpleDateFormat("yyyy").format(date); String yearWeek = new SimpleDateFormat("ww").format(date); String name = (String) getNodeService().getProperty(actionedUponNodeRef, ContentModel.PROP_NAME); String company = I18NUtil.getMessage("test.company"); assertEquals(dayShort, (String) action.getParameterValue("dayShort")); assertEquals(dayShort, (String) action.getParameterValue("dayShort2")); assertEquals(dayLong, (String) action.getParameterValue("dayLong")); assertEquals(dayNumber, (String) action.getParameterValue("dayNumber")); assertEquals(dayYear, (String) action.getParameterValue("dayYear")); assertEquals(monthShort, (String) action.getParameterValue("monthShort")); assertEquals(monthShort, (String) action.getParameterValue("monthShort2")); assertEquals(monthLong, (String) action.getParameterValue("monthLong")); assertEquals(monthNumber, (String) action.getParameterValue("monthNumber")); assertEquals(yearShort, (String) action.getParameterValue("yearShort")); assertEquals(yearShort, (String) action.getParameterValue("yearShort2")); assertEquals(yearLong, (String) action.getParameterValue("yearLong")); assertEquals(yearWeek, (String) action.getParameterValue("yearWeek")); assertEquals(name, (String)action.getParameterValue("name")); assertEquals(company, (String)action.getParameterValue("company")); assertEquals(yearLong + "/" + monthShort + "/" + name + "-" + company +".txt", (String) action.getParameterValue("combo")); } private void assertEquals(String expected, String actual) { if (!expected.equals(actual)) { throw new AlfrescoRuntimeException("Expected value " + expected + " does not match actual value " + actual); } } }