mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Properly wrapped AttributeService for remoting.
Wired remote AttributeService into virtualization server. Added AVMLockingService to ServiceRegistry. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5570 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -57,6 +57,31 @@
|
|||||||
</property>
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
<!-- Remote export of AttributeService -->
|
||||||
|
<bean id="attributeServiceTransport" class="org.alfresco.repo.attributes.AttributeServiceTransportService">
|
||||||
|
<property name="authenticationService">
|
||||||
|
<ref bean="AuthenticationService"/>
|
||||||
|
</property>
|
||||||
|
<property name="attributeService">
|
||||||
|
<ref bean="AttributeService"/>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="attributeServiceTransportRMI" class="org.springframework.remoting.rmi.RmiServiceExporter">
|
||||||
|
<property name="service">
|
||||||
|
<ref bean="attributeServiceTransport"/>
|
||||||
|
</property>
|
||||||
|
<property name="serviceInterface">
|
||||||
|
<value>org.alfresco.service.cmr.remote.AttributeServiceTransport</value>
|
||||||
|
</property>
|
||||||
|
<property name="serviceName">
|
||||||
|
<value>attributes</value>
|
||||||
|
</property>
|
||||||
|
<property name="registryPort">
|
||||||
|
<value>${avm.remote.port}</value>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
|
||||||
<!-- The AuthenticationService exported as an RMI service. -->
|
<!-- The AuthenticationService exported as an RMI service. -->
|
||||||
<bean id="rmiAuthenticationService" class="org.springframework.remoting.rmi.RmiServiceExporter">
|
<bean id="rmiAuthenticationService" class="org.springframework.remoting.rmi.RmiServiceExporter">
|
||||||
<property name="service">
|
<property name="service">
|
||||||
@@ -139,17 +164,4 @@
|
|||||||
<value>${avm.remote.port}</value>
|
<value>${avm.remote.port}</value>
|
||||||
</property>
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<!-- The RMI export of the AttributeService. -->
|
|
||||||
<bean id="attributeServiceRMI" class="org.springframework.remoting.rmi.RmiServiceExporter">
|
|
||||||
<property name="service">
|
|
||||||
<ref bean="AttributeService"/>
|
|
||||||
</property>
|
|
||||||
<property name="serviceInterface">
|
|
||||||
<value>org.alfresco.service.cmr.attributes.AttributeService</value>
|
|
||||||
</property>
|
|
||||||
<property name="serviceName">
|
|
||||||
<value>${avm.remote.port}</value>
|
|
||||||
</property>
|
|
||||||
</bean>
|
|
||||||
</beans>
|
</beans>
|
@@ -0,0 +1,210 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
* This program 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 General Public License for more details.
|
||||||
|
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
* As a special exception to the terms and conditions of version 2.0 of
|
||||||
|
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||||
|
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||||
|
* FLOSS exception. You should have recieved a copy of the text describing
|
||||||
|
* the FLOSS exception, and it is also available here:
|
||||||
|
* http://www.alfresco.com/legal/licensing
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.alfresco.repo.attributes;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.alfresco.service.cmr.attributes.AttrQuery;
|
||||||
|
import org.alfresco.service.cmr.attributes.AttributeService;
|
||||||
|
import org.alfresco.service.cmr.remote.AttributeServiceTransport;
|
||||||
|
import org.alfresco.service.cmr.security.AuthenticationService;
|
||||||
|
import org.alfresco.util.Pair;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Server side implementation of transport for AttributeService.
|
||||||
|
* @author britt
|
||||||
|
*/
|
||||||
|
public class AttributeServiceTransportService implements
|
||||||
|
AttributeServiceTransport
|
||||||
|
{
|
||||||
|
private AttributeService fService;
|
||||||
|
|
||||||
|
private AuthenticationService fAuthService;
|
||||||
|
|
||||||
|
public AttributeServiceTransportService()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAttributeService(AttributeService service)
|
||||||
|
{
|
||||||
|
fService = service;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAuthenticationService(AuthenticationService service)
|
||||||
|
{
|
||||||
|
fAuthService = service;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#addAttribute(java.lang.String, java.lang.String, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void addAttribute(String ticket, String path, Attribute value)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.addAttribute(path, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#addAttribute(java.lang.String, java.util.List, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void addAttribute(String ticket, List<String> keys, Attribute value)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.addAttribute(keys, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#getAttribute(java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public Attribute getAttribute(String ticket, String path)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
return fService.getAttribute(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#getAttribute(java.lang.String, java.util.List)
|
||||||
|
*/
|
||||||
|
public Attribute getAttribute(String ticket, List<String> keys)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
return fService.getAttribute(keys);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#getKeys(java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public List<String> getKeys(String ticket, String path)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
return fService.getKeys(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#getKeys(java.lang.String, java.util.List)
|
||||||
|
*/
|
||||||
|
public List<String> getKeys(String ticket, List<String> keys)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
return fService.getKeys(keys);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#query(java.lang.String, java.lang.String, org.alfresco.service.cmr.attributes.AttrQuery)
|
||||||
|
*/
|
||||||
|
public List<Pair<String, Attribute>> query(String ticket, String path,
|
||||||
|
AttrQuery query)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
return fService.query(path, query);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#query(java.lang.String, java.util.List, org.alfresco.service.cmr.attributes.AttrQuery)
|
||||||
|
*/
|
||||||
|
public List<Pair<String, Attribute>> query(String ticket,
|
||||||
|
List<String> keys, AttrQuery query)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
return fService.query(keys, query);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#removeAttribute(java.lang.String, java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String ticket, String path, String name)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.removeAttribute(path, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#removeAttribute(java.lang.String, java.util.List, java.lang.String)
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String ticket, List<String> keys, String name)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.removeAttribute(keys, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#removeAttribute(java.lang.String, java.lang.String, int)
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String ticket, String path, int index)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.removeAttribute(path, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#removeAttribute(java.lang.String, java.util.List, int)
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String ticket, List<String> keys, int index)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.removeAttribute(keys, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#setAttribute(java.lang.String, java.lang.String, java.lang.String, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void setAttribute(String ticket, String path, String name,
|
||||||
|
Attribute value)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.setAttribute(path, name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#setAttribute(java.lang.String, java.util.List, java.lang.String, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void setAttribute(String ticket, List<String> keys, String name,
|
||||||
|
Attribute value)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.setAttribute(keys, name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#setAttribute(java.lang.String, java.lang.String, int, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void setAttribute(String ticket, String path, int index,
|
||||||
|
Attribute value)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.setAttribute(path, index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeServiceTransport#setAttribute(java.lang.String, java.util.List, int, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void setAttribute(String ticket, List<String> keys, int index,
|
||||||
|
Attribute value)
|
||||||
|
{
|
||||||
|
fAuthService.validate(ticket);
|
||||||
|
fService.setAttribute(keys, index, value);
|
||||||
|
}
|
||||||
|
}
|
188
source/java/org/alfresco/repo/remote/AttributeServiceRemote.java
Normal file
188
source/java/org/alfresco/repo/remote/AttributeServiceRemote.java
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
* This program 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 General Public License for more details.
|
||||||
|
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
* As a special exception to the terms and conditions of version 2.0 of
|
||||||
|
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||||
|
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||||
|
* FLOSS exception. You should have recieved a copy of the text describing
|
||||||
|
* the FLOSS exception, and it is also available here:
|
||||||
|
* http://www.alfresco.com/legal/licensing
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.alfresco.repo.remote;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.alfresco.repo.attributes.Attribute;
|
||||||
|
import org.alfresco.service.cmr.attributes.AttrQuery;
|
||||||
|
import org.alfresco.service.cmr.attributes.AttributeService;
|
||||||
|
import org.alfresco.service.cmr.remote.AttributeServiceTransport;
|
||||||
|
import org.alfresco.util.Pair;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Client side AttributeService implementation.
|
||||||
|
* @author britt
|
||||||
|
*/
|
||||||
|
public class AttributeServiceRemote implements AttributeService
|
||||||
|
{
|
||||||
|
private AttributeServiceTransport fTransport;
|
||||||
|
|
||||||
|
private ClientTicketHolder fTicketHolder;
|
||||||
|
|
||||||
|
public AttributeServiceRemote()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAttributeServiceTransport(AttributeServiceTransport transport)
|
||||||
|
{
|
||||||
|
fTransport = transport;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClientTicketHolder(ClientTicketHolder holder)
|
||||||
|
{
|
||||||
|
fTicketHolder = holder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#addAttribute(java.lang.String, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void addAttribute(String path, Attribute value)
|
||||||
|
{
|
||||||
|
fTransport.addAttribute(fTicketHolder.getTicket(), path, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#addAttribute(java.util.List, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void addAttribute(List<String> keys, Attribute value)
|
||||||
|
{
|
||||||
|
fTransport.addAttribute(fTicketHolder.getTicket(), keys, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#getAttribute(java.lang.String)
|
||||||
|
*/
|
||||||
|
public Attribute getAttribute(String path)
|
||||||
|
{
|
||||||
|
return fTransport.getAttribute(fTicketHolder.getTicket(), path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#getAttribute(java.util.List)
|
||||||
|
*/
|
||||||
|
public Attribute getAttribute(List<String> keys)
|
||||||
|
{
|
||||||
|
return fTransport.getAttribute(fTicketHolder.getTicket(), keys);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#getKeys(java.lang.String)
|
||||||
|
*/
|
||||||
|
public List<String> getKeys(String path)
|
||||||
|
{
|
||||||
|
return fTransport.getKeys(fTicketHolder.getTicket(), path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#getKeys(java.util.List)
|
||||||
|
*/
|
||||||
|
public List<String> getKeys(List<String> keys)
|
||||||
|
{
|
||||||
|
return fTransport.getKeys(fTicketHolder.getTicket(), keys);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#query(java.lang.String, org.alfresco.service.cmr.attributes.AttrQuery)
|
||||||
|
*/
|
||||||
|
public List<Pair<String, Attribute>> query(String path, AttrQuery query)
|
||||||
|
{
|
||||||
|
return fTransport.query(fTicketHolder.getTicket(), path, query);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#query(java.util.List, org.alfresco.service.cmr.attributes.AttrQuery)
|
||||||
|
*/
|
||||||
|
public List<Pair<String, Attribute>> query(List<String> keys,
|
||||||
|
AttrQuery query)
|
||||||
|
{
|
||||||
|
return fTransport.query(fTicketHolder.getTicket(), keys, query);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#removeAttribute(java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String path, String name)
|
||||||
|
{
|
||||||
|
fTransport.removeAttribute(fTicketHolder.getTicket(), path, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#removeAttribute(java.util.List, java.lang.String)
|
||||||
|
*/
|
||||||
|
public void removeAttribute(List<String> keys, String name)
|
||||||
|
{
|
||||||
|
fTransport.removeAttribute(fTicketHolder.getTicket(), keys, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#removeAttribute(java.lang.String, int)
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String path, int index)
|
||||||
|
{
|
||||||
|
fTransport.removeAttribute(fTicketHolder.getTicket(), path, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#removeAttribute(java.util.List, int)
|
||||||
|
*/
|
||||||
|
public void removeAttribute(List<String> keys, int index)
|
||||||
|
{
|
||||||
|
fTransport.removeAttribute(fTicketHolder.getTicket(), keys, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#setAttribute(java.lang.String, java.lang.String, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void setAttribute(String path, String name, Attribute value)
|
||||||
|
{
|
||||||
|
fTransport.setAttribute(fTicketHolder.getTicket(), path, name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#setAttribute(java.util.List, java.lang.String, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void setAttribute(List<String> keys, String name, Attribute value)
|
||||||
|
{
|
||||||
|
fTransport.setAttribute(fTicketHolder.getTicket(), keys, name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#setAttribute(java.lang.String, int, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void setAttribute(String path, int index, Attribute value)
|
||||||
|
{
|
||||||
|
fTransport.setAttribute(fTicketHolder.getTicket(), path, index, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.attributes.AttributeService#setAttribute(java.util.List, int, org.alfresco.repo.attributes.Attribute)
|
||||||
|
*/
|
||||||
|
public void setAttribute(List<String> keys, int index, Attribute value)
|
||||||
|
{
|
||||||
|
fTransport.setAttribute(fTicketHolder.getTicket(), keys, index, value);
|
||||||
|
}
|
||||||
|
}
|
@@ -31,6 +31,7 @@ import org.alfresco.service.cmr.action.ActionService;
|
|||||||
import org.alfresco.service.cmr.attributes.AttributeService;
|
import org.alfresco.service.cmr.attributes.AttributeService;
|
||||||
import org.alfresco.service.cmr.audit.AuditService;
|
import org.alfresco.service.cmr.audit.AuditService;
|
||||||
import org.alfresco.service.cmr.avm.AVMService;
|
import org.alfresco.service.cmr.avm.AVMService;
|
||||||
|
import org.alfresco.service.cmr.avm.locking.AVMLockingService;
|
||||||
import org.alfresco.service.cmr.avmsync.AVMSyncService;
|
import org.alfresco.service.cmr.avmsync.AVMSyncService;
|
||||||
import org.alfresco.service.cmr.coci.CheckOutCheckInService;
|
import org.alfresco.service.cmr.coci.CheckOutCheckInService;
|
||||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||||
@@ -361,4 +362,12 @@ public class ServiceDescriptorRegistry
|
|||||||
{
|
{
|
||||||
return (AttributeService)getService(ATTRIBUTE_SERVICE);
|
return (AttributeService)getService(ATTRIBUTE_SERVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.ServiceRegistry#getAVMLockingService()
|
||||||
|
*/
|
||||||
|
public AVMLockingService getAVMLockingService()
|
||||||
|
{
|
||||||
|
return (AVMLockingService)getService(AVM_LOCKING_SERVICE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -30,6 +30,7 @@ import org.alfresco.service.cmr.action.ActionService;
|
|||||||
import org.alfresco.service.cmr.attributes.AttributeService;
|
import org.alfresco.service.cmr.attributes.AttributeService;
|
||||||
import org.alfresco.service.cmr.audit.AuditService;
|
import org.alfresco.service.cmr.audit.AuditService;
|
||||||
import org.alfresco.service.cmr.avm.AVMService;
|
import org.alfresco.service.cmr.avm.AVMService;
|
||||||
|
import org.alfresco.service.cmr.avm.locking.AVMLockingService;
|
||||||
import org.alfresco.service.cmr.avmsync.AVMSyncService;
|
import org.alfresco.service.cmr.avmsync.AVMSyncService;
|
||||||
import org.alfresco.service.cmr.coci.CheckOutCheckInService;
|
import org.alfresco.service.cmr.coci.CheckOutCheckInService;
|
||||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||||
@@ -106,6 +107,7 @@ public interface ServiceRegistry
|
|||||||
static final QName AVM_SYNC_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AVMSyncService");
|
static final QName AVM_SYNC_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AVMSyncService");
|
||||||
static final QName CROSS_REPO_COPY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "CrossRepositoryCopyService");
|
static final QName CROSS_REPO_COPY_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "CrossRepositoryCopyService");
|
||||||
static final QName ATTRIBUTE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AttributeService");
|
static final QName ATTRIBUTE_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AttributeService");
|
||||||
|
static final QName AVM_LOCKING_SERVICE = QName.createQName(NamespaceService.ALFRESCO_URI, "AVMLockingService");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the list of services provided by the Repository
|
* Get the list of services provided by the Repository
|
||||||
@@ -324,4 +326,11 @@ public interface ServiceRegistry
|
|||||||
*/
|
*/
|
||||||
@NotAuditable
|
@NotAuditable
|
||||||
AttributeService getAttributeService();
|
AttributeService getAttributeService();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the AVM locking service (or null if one is not provided)
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@NotAuditable
|
||||||
|
AVMLockingService getAVMLockingService();
|
||||||
}
|
}
|
||||||
|
@@ -42,11 +42,11 @@ import org.alfresco.repo.attributes.StringAttributeValue;
|
|||||||
*/
|
*/
|
||||||
public class AVMLock implements Serializable
|
public class AVMLock implements Serializable
|
||||||
{
|
{
|
||||||
public static String PATH = "path";
|
public static final String PATH = "path";
|
||||||
public static String STORE = "store";
|
public static final String STORE = "store";
|
||||||
public static String OWNERS = "owners";
|
public static final String OWNERS = "owners";
|
||||||
public static String WEBPROJECT = "webproject";
|
public static final String WEBPROJECT = "webproject";
|
||||||
public static String TYPE = "type";
|
public static final String TYPE = "type";
|
||||||
|
|
||||||
private static final long serialVersionUID = -8026344276097527239L;
|
private static final long serialVersionUID = -8026344276097527239L;
|
||||||
|
|
||||||
@@ -121,7 +121,6 @@ public class AVMLock implements Serializable
|
|||||||
ListAttribute owners = new ListAttributeValue();
|
ListAttribute owners = new ListAttributeValue();
|
||||||
for (String owner : fOwners)
|
for (String owner : fOwners)
|
||||||
{
|
{
|
||||||
// The value is a dummy.
|
|
||||||
owners.add(new StringAttributeValue(owner));
|
owners.add(new StringAttributeValue(owner));
|
||||||
}
|
}
|
||||||
lockData.put(OWNERS, owners);
|
lockData.put(OWNERS, owners);
|
||||||
|
@@ -0,0 +1,173 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
* This program 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 General Public License for more details.
|
||||||
|
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
* As a special exception to the terms and conditions of version 2.0 of
|
||||||
|
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||||
|
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||||
|
* FLOSS exception. You should have recieved a copy of the text describing
|
||||||
|
* the FLOSS exception, and it is also available here:
|
||||||
|
* http://www.alfresco.com/legal/licensing
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.alfresco.service.cmr.remote;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.alfresco.repo.attributes.Attribute;
|
||||||
|
import org.alfresco.service.cmr.attributes.AttrQuery;
|
||||||
|
import org.alfresco.util.Pair;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The transport wrapper for remoted AttributeService.
|
||||||
|
* @author britt
|
||||||
|
*/
|
||||||
|
public interface AttributeServiceTransport
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get an Attribute.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param path The path of the Attribute.
|
||||||
|
* @return The value of the attribute or null.
|
||||||
|
*/
|
||||||
|
public Attribute getAttribute(String ticket, String path);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an attribute.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param keys The keys in the attribute path.
|
||||||
|
* @return The value of the attribute or null.
|
||||||
|
*/
|
||||||
|
public Attribute getAttribute(String ticket, List<String> keys);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set an attribute. Overwrites if it exists.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param name The name of the Attribute.
|
||||||
|
* @param value The value to set.
|
||||||
|
*/
|
||||||
|
public void setAttribute(String ticket, String path, String name, Attribute value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set an attribute
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param keys List of attribute path keys.
|
||||||
|
* @param name The name of the attribute to set.
|
||||||
|
* @param value The Attribute to set.
|
||||||
|
*/
|
||||||
|
public void setAttribute(String ticket, List<String> keys, String name, Attribute value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set an attribute in a list.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param path The path to the list.
|
||||||
|
* @param index The list index.
|
||||||
|
* @param value The Attribute to set.
|
||||||
|
*/
|
||||||
|
public void setAttribute(String ticket, String path, int index, Attribute value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set an attribute in a list.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param keys The path components to the list.
|
||||||
|
* @param index The list index.
|
||||||
|
* @param value The Attribute to set.
|
||||||
|
*/
|
||||||
|
public void setAttribute(String ticket, List<String> keys, int index, Attribute value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add an attribute to a List Attribute
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param path The path to the list.
|
||||||
|
* @param value The Attribute to add.
|
||||||
|
*/
|
||||||
|
public void addAttribute(String ticket, String path, Attribute value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add an attribute to a List Attribute.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param keys The path components to the list.
|
||||||
|
* @param value The Attribute to add.
|
||||||
|
*/
|
||||||
|
public void addAttribute(String ticket, List<String> keys, Attribute value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove an Attribute.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param name The name of the Attribute.
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String ticket, String path, String name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove an Attribute.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param keys List of attribute path keys.
|
||||||
|
* @param name The name of the attribute to remove.
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String ticket, List<String> keys, String name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove an attribute from a list.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param path The path to the list.
|
||||||
|
* @param index The index to remove.
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String ticket, String path, int index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove an attribute from a list.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param keys The components of the path to the list.
|
||||||
|
* @param index The index to remove.
|
||||||
|
*/
|
||||||
|
public void removeAttribute(String ticket, List<String> keys, int index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query for a list of attributes which are contained in the map
|
||||||
|
* defined by the given path and meet the query criteria.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param path
|
||||||
|
* @param query
|
||||||
|
* @return A List of matching attributes.
|
||||||
|
*/
|
||||||
|
public List<Pair<String, Attribute>> query(String ticket, String path, AttrQuery query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query for a list of attributes which are contained in a map defined by the
|
||||||
|
* given path and meet the query criteria.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param keys The list of attribute path keys.
|
||||||
|
* @param query
|
||||||
|
* @return A list of matching attributes.
|
||||||
|
*/
|
||||||
|
public List<Pair<String, Attribute>> query(String ticket, List<String> keys, AttrQuery query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all the keys for a given attribute path.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param path The attribute path.
|
||||||
|
* @return A list of all keys.
|
||||||
|
*/
|
||||||
|
public List<String> getKeys(String ticket, String path);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all the keys for a give attribute path.
|
||||||
|
* @param ticket The authentication ticket.
|
||||||
|
* @param keys The keys of the attribute path.
|
||||||
|
* @return A list of all keys.
|
||||||
|
*/
|
||||||
|
public List<String> getKeys(String ticket, List<String> keys);
|
||||||
|
}
|
Reference in New Issue
Block a user