+
-
+
-
-
+
+
-
+
-
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml
index 1c1cb4115c..800e214770 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-version-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-version-context.xml
index 27f8a8f49a..b1f7894a64 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-version-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-version-context.xml
@@ -20,17 +20,17 @@
-
-
+
+
-
+
-
-
+
+
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/util/BeanExtender.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/util/BeanExtender.java
deleted file mode 100644
index 4e790df43e..0000000000
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/util/BeanExtender.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2005-2014 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * 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 .
- */
-package org.alfresco.module.org_alfresco_module_rm.util;
-
-import org.alfresco.util.ParameterCheck;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.MutablePropertyValues;
-import org.springframework.beans.PropertyValue;
-import org.springframework.beans.factory.NoSuchBeanDefinitionException;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
-import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
-
-/**
- * Extends the definition of a bean with another.
- *
- * Implements bean factory post processor.
- *
- * @author Roy Wetherall
- * @since 2.2
- */
-public class BeanExtender implements BeanFactoryPostProcessor
-{
- /** name of bean to extend */
- private String beanName;
-
- /** extending bean name */
- private String extendingBeanName;
-
- /**
- * @param beanName bean name
- */
- public void setBeanName(String beanName)
- {
- this.beanName = beanName;
- }
-
- /**
- * @param extendingBeanName extending bean name
- */
- public void setExtendingBeanName(String extendingBeanName)
- {
- this.extendingBeanName = extendingBeanName;
- }
-
- /**
- * @see org.springframework.beans.factory.config.BeanFactoryPostProcessor#postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory)
- */
- @Override
- public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
- {
- ParameterCheck.mandatory("beanName", beanName);
- ParameterCheck.mandatory("extendingBeanName", extendingBeanName);
-
- // check for bean name
- if (!beanFactory.containsBean(beanName))
- {
- throw new NoSuchBeanDefinitionException("Can't find bean '" + beanName + "' to be extended.");
- }
-
- // check for extending bean
- if (!beanFactory.containsBean(extendingBeanName))
- {
- throw new NoSuchBeanDefinitionException("Can't find bean '" + extendingBeanName + "' that is going to extend origional bean definition.");
- }
-
- // get the bean definitions
- BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
- BeanDefinition extendingBeanDefinition = beanFactory.getBeanDefinition(extendingBeanName);
-
- // update class
- if (StringUtils.isNotBlank(extendingBeanDefinition.getBeanClassName()) &&
- !beanDefinition.getBeanClassName().equals(extendingBeanDefinition.getBeanClassName()))
- {
- beanDefinition.setBeanClassName(extendingBeanDefinition.getBeanClassName());
- }
-
- // update properties
- MutablePropertyValues properties = beanDefinition.getPropertyValues();
- MutablePropertyValues extendingProperties = extendingBeanDefinition.getPropertyValues();
- for (PropertyValue propertyValue : extendingProperties.getPropertyValueList())
- {
- properties.add(propertyValue.getName(), propertyValue.getValue());
- }
- }
-}
diff --git a/rm-server/test/resources/test-context.xml b/rm-server/test/resources/test-context.xml
index 10b2612c77..12bbef5412 100644
--- a/rm-server/test/resources/test-context.xml
+++ b/rm-server/test/resources/test-context.xml
@@ -130,7 +130,7 @@
-
+
diff --git a/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/AllUnitTestSuite.java b/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/AllUnitTestSuite.java
index 42157ec07e..b71c8ee56e 100644
--- a/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/AllUnitTestSuite.java
+++ b/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/test/AllUnitTestSuite.java
@@ -34,7 +34,6 @@ import org.alfresco.module.org_alfresco_module_rm.recorded.version.config.Record
import org.alfresco.module.org_alfresco_module_rm.script.hold.HoldPostUnitTest;
import org.alfresco.module.org_alfresco_module_rm.script.hold.HoldPutUnitTest;
import org.alfresco.module.org_alfresco_module_rm.script.hold.HoldsGetUnitTest;
-import org.alfresco.module.org_alfresco_module_rm.util.BeanExtenderUnitTest;
import org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionServiceImplUnitTest;
import org.alfresco.repo.action.parameter.DateParameterProcessorUnitTest;
import org.junit.runner.RunWith;
@@ -54,7 +53,6 @@ import org.junit.runners.Suite.SuiteClasses;
RecordsManagementTypeFormFilterUnitTest.class,
DispositionLifecycleJobExecuterUnitTest.class,
DictionaryBootstrapPostProcessorUnitTest.class,
- BeanExtenderUnitTest.class,
DateParameterProcessorUnitTest.class,
// services
diff --git a/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/util/BeanExtenderUnitTest.java b/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/util/BeanExtenderUnitTest.java
deleted file mode 100644
index 6aa7fba604..0000000000
--- a/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/util/BeanExtenderUnitTest.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (C) 2005-2014 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * 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 .
- */
-package org.alfresco.module.org_alfresco_module_rm.util;
-
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest;
-import org.alfresco.util.GUID;
-import org.junit.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.springframework.beans.MutablePropertyValues;
-import org.springframework.beans.PropertyValue;
-import org.springframework.beans.factory.NoSuchBeanDefinitionException;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
-
-
-/**
- * Bean extender unit test.
- *
- * @author Roy Wetherall
- * @since 2.2
- */
-public class BeanExtenderUnitTest extends BaseUnitTest
-{
- private static final String BEAN_NAME = GUID.generate();
- private static final String EXTENDING_BEAN_NAME = GUID.generate();
-
- @Mock private ConfigurableListableBeanFactory mockedBeanFactory;
- @Mock private BeanDefinition mockedBeanDefinition;
- @Mock private BeanDefinition mockedExtendingBeanDefinition;
- @Mock private MutablePropertyValues mockedPropertyValuesBean;
- @Mock private MutablePropertyValues mockedPropertyValuesExtendingBean;
-
- @InjectMocks private BeanExtender beanExtender;
-
- @Override
- public void before() throws Exception
- {
- super.before();
-
- // setup common interactions
- doReturn(mockedPropertyValuesBean).when(mockedBeanDefinition).getPropertyValues();
- doReturn(mockedPropertyValuesExtendingBean).when(mockedExtendingBeanDefinition).getPropertyValues();
- }
-
- /**
- * given that the bean name is not set, ensure that an Illegal Argument
- * exception is thrown.
- */
- @Test
- public void beanNameNotSet()
- {
- // === given ===
-
- // set the extending bean name
- beanExtender.setExtendingBeanName(EXTENDING_BEAN_NAME);
-
- // expecting exception
- exception.expect(IllegalArgumentException.class);
-
- // === when ===
- beanExtender.postProcessBeanFactory(mockedBeanFactory);
- }
-
- /**
- * given that the extending bean name is not set, ensure that an illegal
- * argument exception is thrown.
- */
- @Test
- public void extendingBeanNameNotSet()
- {
- // === given ===
-
- // set the extending bean name
- beanExtender.setBeanName(BEAN_NAME);
-
- // expecting exception
- exception.expect(IllegalArgumentException.class);
-
- // === when ===
- beanExtender.postProcessBeanFactory(mockedBeanFactory);
- }
-
- /**
- * given that the bean does not exist ensure that an exception is thrown
- */
- @Test
- public void beanDoesNotExist()
- {
- // === given ===
-
- // set the bean names
- beanExtender.setBeanName(BEAN_NAME);
- beanExtender.setExtendingBeanName(EXTENDING_BEAN_NAME);
- doReturn(false).when(mockedBeanFactory).containsBean(BEAN_NAME);
- doReturn(true).when(mockedBeanFactory).containsBean(EXTENDING_BEAN_NAME);
-
- // expecting exception
- exception.expect(NoSuchBeanDefinitionException.class);
-
- // === when ===
- beanExtender.postProcessBeanFactory(mockedBeanFactory);
- }
-
- /**
- * given that the extending bean does not exist ensure that an exception is thrown
- */
- @Test
- public void extendingBeanDoesNotExist()
- {
- // === given ===
-
- // set the bean names
- beanExtender.setBeanName(BEAN_NAME);
- beanExtender.setExtendingBeanName(EXTENDING_BEAN_NAME);
- doReturn(true).when(mockedBeanFactory).containsBean(BEAN_NAME);
- doReturn(false).when(mockedBeanFactory).containsBean(EXTENDING_BEAN_NAME);
-
- // expecting exception
- exception.expect(NoSuchBeanDefinitionException.class);
-
- // === when ===
- beanExtender.postProcessBeanFactory(mockedBeanFactory);
- }
-
- /**
- * given that a different class name has been set on the extending bean ensure it is
- * set correctly on the origional bean
- */
- @Test
- public void beanClassNameSet()
- {
- // === given ===
-
- // set the bean names
- beanExtender.setBeanName(BEAN_NAME);
- beanExtender.setExtendingBeanName(EXTENDING_BEAN_NAME);
-
- // both beans are available in the bean factory
- doReturn(true).when(mockedBeanFactory).containsBean(BEAN_NAME);
- doReturn(true).when(mockedBeanFactory).containsBean(EXTENDING_BEAN_NAME);
-
- // return the mocked bean definitions
- doReturn(mockedBeanDefinition).when(mockedBeanFactory).getBeanDefinition(BEAN_NAME);
- doReturn(mockedExtendingBeanDefinition).when(mockedBeanFactory).getBeanDefinition(EXTENDING_BEAN_NAME);
-
- // bean class names
- doReturn("a").when(mockedBeanDefinition).getBeanClassName();
- doReturn("b").when(mockedExtendingBeanDefinition).getBeanClassName();
-
- // no properties have been defined
- doReturn(Collections.EMPTY_LIST).when(mockedPropertyValuesExtendingBean).getPropertyValueList();
-
- // === when ===
- beanExtender.postProcessBeanFactory(mockedBeanFactory);
-
- // === then ===
-
- // expect the class name to be set on the bean
- verify(mockedBeanDefinition, times(1)).setBeanClassName("b");
- verify(mockedPropertyValuesBean, never()).add(anyString(), anyString());
-
- }
-
- /**
- * given that new property values have been set on the extending bean ensure that they
- * are correctly set on the original bean.
- */
- @Test
- public void beanPropertyValuesSet()
- {
- // === given ===
-
- // set the bean names
- beanExtender.setBeanName(BEAN_NAME);
- beanExtender.setExtendingBeanName(EXTENDING_BEAN_NAME);
-
- // both beans are available in the bean factory
- doReturn(true).when(mockedBeanFactory).containsBean(BEAN_NAME);
- doReturn(true).when(mockedBeanFactory).containsBean(EXTENDING_BEAN_NAME);
-
- // return the mocked bean definitions
- doReturn(mockedBeanDefinition).when(mockedBeanFactory).getBeanDefinition(BEAN_NAME);
- doReturn(mockedExtendingBeanDefinition).when(mockedBeanFactory).getBeanDefinition(EXTENDING_BEAN_NAME);
-
- // bean class names
- doReturn("a").when(mockedBeanDefinition).getBeanClassName();
- doReturn(null).when(mockedExtendingBeanDefinition).getBeanClassName();
-
- PropertyValue mockedPropertyValueOne = generateMockedPropertyValue("one", "1");
- PropertyValue mockedPropertyValueTwo = generateMockedPropertyValue("two", "2");
- List list = new ArrayList(2);
- list.add(mockedPropertyValueOne);
- list.add(mockedPropertyValueTwo);
- doReturn(list).when(mockedPropertyValuesExtendingBean).getPropertyValueList();
-
- // === when ===
- beanExtender.postProcessBeanFactory(mockedBeanFactory);
-
- // === then ===
-
- // expect the class name to be set on the bean
- verify(mockedBeanDefinition, never()).setBeanClassName(anyString());
- verify(mockedPropertyValuesBean, times(1)).add("one", "1");
- verify(mockedPropertyValuesBean, times(1)).add("two", "2");
- }
-
- /**
- * Helper method to generate a mocked property value
- */
- private PropertyValue generateMockedPropertyValue(String name, String value)
- {
- PropertyValue result = mock(PropertyValue.class);
- doReturn(name).when(result).getName();
- doReturn(value).when(result).getValue();
- return result;
- }
-}