Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud)

83388: ACE-2671 (Move QName Custom Editor from RM into core)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@84551 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis 2014-09-18 16:54:02 +00:00
parent 71ee376714
commit e8afec51a6
3 changed files with 122 additions and 0 deletions

View File

@ -727,4 +727,18 @@
class="org.alfresco.repo.workflow.activiti.ActivitiEngineInitializer">
<property name="workflowAdminService" ref="workflowAdminService" />
</bean>
<!-- Custom property editors -->
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="propertyEditorRegistrars">
<list>
<ref bean="customPropertyEditorRegistrar"/>
</list>
</property>
</bean>
<bean id="customPropertyEditorRegistrar"
class="org.alfresco.util.CustomPropertyEditorRegistrar">
<property name="namespaceService" ref="NamespaceService"/>
</bean>
</beans>

View File

@ -0,0 +1,54 @@
/*
* 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 <http://www.gnu.org/licenses/>.
*/
package org.alfresco.util;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.springframework.beans.PropertyEditorRegistrar;
import org.springframework.beans.PropertyEditorRegistry;
/**
* Custom property editor registrar.
*
* @author Roy Wetherall
* @since 5.0
*/
public class CustomPropertyEditorRegistrar implements PropertyEditorRegistrar
{
/** namespace service */
private NamespaceService namespaceService;
/**
* @param namespaceService namespace service
*/
public void setNamespaceService(NamespaceService namespaceService)
{
this.namespaceService = namespaceService;
}
/**
* @see org.springframework.beans.PropertyEditorRegistrar#registerCustomEditors(org.springframework.beans.PropertyEditorRegistry)
*/
@Override
public void registerCustomEditors(PropertyEditorRegistry registry)
{
// add custom QName editor
registry.registerCustomEditor(QName.class, new QNameTypeEditor(namespaceService));
}
}

View File

@ -0,0 +1,54 @@
/*
* 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 <http://www.gnu.org/licenses/>.
*/
package org.alfresco.util;
import java.beans.PropertyEditorSupport;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
/**
* QName type editor.
*
* @author Roy Wetherall
* @since 5.0
*/
public class QNameTypeEditor extends PropertyEditorSupport
{
/** namespace service */
private NamespaceService namespaceService;
/**
* @param namespaceService namespace service
*/
public QNameTypeEditor(NamespaceService namespaceService)
{
this.namespaceService = namespaceService;
}
/**
* @see java.beans.PropertyEditorSupport#setAsText(java.lang.String)
*/
@Override
public void setAsText(String text)
{
// convert prefix string to QName
setValue(QName.createQName(text, namespaceService));
}
}