mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Adds the barely necesaries for post deployment actions for alfresco->alfresco.
Remoted Actions service. Added getRomoteActionService call to DeploymentService. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6236 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -164,4 +164,30 @@
|
|||||||
<value>${avm.remote.port}</value>
|
<value>${avm.remote.port}</value>
|
||||||
</property>
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
<!-- Remoting the ActionService -->
|
||||||
|
<bean id="actionServiceTransport" class="org.alfresco.repo.action.ActionServiceTransportImpl">
|
||||||
|
<property name="actionService">
|
||||||
|
<ref bean="ActionService"/>
|
||||||
|
</property>
|
||||||
|
<property name="authenticationService">
|
||||||
|
<ref bean="AuthenticationService"/>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<!-- The RMI export of the ActionService Transport -->
|
||||||
|
<bean id="actionServiceTransportRMI" class="org.springframework.remoting.rmi.RmiServiceExporter">
|
||||||
|
<property name="service">
|
||||||
|
<ref bean="actionServiceTransport"/>
|
||||||
|
</property>
|
||||||
|
<property name="serviceInterface">
|
||||||
|
<value>org.alfresco.service.cmr.action.ActionServiceTransport</value>
|
||||||
|
</property>
|
||||||
|
<property name="serviceName">
|
||||||
|
<value>action</value>
|
||||||
|
</property>
|
||||||
|
<property name="registryPort">
|
||||||
|
<value>${avm.remote.port}</value>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
</beans>
|
</beans>
|
225
source/java/org/alfresco/repo/action/ActionServiceRemote.java
Normal file
225
source/java/org/alfresco/repo/action/ActionServiceRemote.java
Normal file
@@ -0,0 +1,225 @@
|
|||||||
|
/*
|
||||||
|
* 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.action;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.alfresco.repo.remote.ClientTicketHolder;
|
||||||
|
import org.alfresco.service.cmr.action.Action;
|
||||||
|
import org.alfresco.service.cmr.action.ActionCondition;
|
||||||
|
import org.alfresco.service.cmr.action.ActionConditionDefinition;
|
||||||
|
import org.alfresco.service.cmr.action.ActionDefinition;
|
||||||
|
import org.alfresco.service.cmr.action.ActionService;
|
||||||
|
import org.alfresco.service.cmr.action.ActionServiceTransport;
|
||||||
|
import org.alfresco.service.cmr.action.CompositeAction;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Client side implementation of ActionService for remote access.
|
||||||
|
* @author britt
|
||||||
|
*/
|
||||||
|
public class ActionServiceRemote implements ActionService
|
||||||
|
{
|
||||||
|
private ClientTicketHolder fHolder;
|
||||||
|
|
||||||
|
private ActionServiceTransport fTransport;
|
||||||
|
|
||||||
|
public void setClientTicketHolder(ClientTicketHolder holder)
|
||||||
|
{
|
||||||
|
fHolder = holder;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setActionServiceTransport(ActionServiceTransport transport)
|
||||||
|
{
|
||||||
|
fTransport = transport;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#createAction(java.lang.String)
|
||||||
|
*/
|
||||||
|
public Action createAction(String name)
|
||||||
|
{
|
||||||
|
return fTransport.createAction(fHolder.getTicket(), name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#createAction(java.lang.String, java.util.Map)
|
||||||
|
*/
|
||||||
|
public Action createAction(String name, Map<String, Serializable> params)
|
||||||
|
{
|
||||||
|
return fTransport.createAction(fHolder.getTicket(), name, params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#createActionCondition(java.lang.String)
|
||||||
|
*/
|
||||||
|
public ActionCondition createActionCondition(String name)
|
||||||
|
{
|
||||||
|
return fTransport.createActionCondition(fHolder.getTicket(), name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#createActionCondition(java.lang.String, java.util.Map)
|
||||||
|
*/
|
||||||
|
public ActionCondition createActionCondition(String name,
|
||||||
|
Map<String, Serializable> params)
|
||||||
|
{
|
||||||
|
return fTransport.createActionCondition(fHolder.getTicket(), name, params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#createCompositeAction()
|
||||||
|
*/
|
||||||
|
public CompositeAction createCompositeAction()
|
||||||
|
{
|
||||||
|
return fTransport.createCompositeAction(fHolder.getTicket());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#evaluateAction(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public boolean evaluateAction(Action action, NodeRef actionedUponNodeRef)
|
||||||
|
{
|
||||||
|
return fTransport.evaluateAction(fHolder.getTicket(), action, actionedUponNodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#evaluateActionCondition(org.alfresco.service.cmr.action.ActionCondition, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public boolean evaluateActionCondition(ActionCondition condition,
|
||||||
|
NodeRef actionedUponNodeRef)
|
||||||
|
{
|
||||||
|
return fTransport.evaluateActionCondition(fHolder.getTicket(), condition, actionedUponNodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#executeAction(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public void executeAction(Action action, NodeRef actionedUponNodeRef)
|
||||||
|
{
|
||||||
|
fTransport.executeAction(fHolder.getTicket(), action, actionedUponNodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#executeAction(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef, boolean)
|
||||||
|
*/
|
||||||
|
public void executeAction(Action action, NodeRef actionedUponNodeRef,
|
||||||
|
boolean checkConditions)
|
||||||
|
{
|
||||||
|
fTransport.executeAction(fHolder.getTicket(), action, actionedUponNodeRef, checkConditions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#executeAction(org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef, boolean, boolean)
|
||||||
|
*/
|
||||||
|
public void executeAction(Action action, NodeRef actionedUponNodeRef,
|
||||||
|
boolean checkConditions, boolean executeAsynchronously)
|
||||||
|
{
|
||||||
|
fTransport.executeAction(fHolder.getTicket(), action, actionedUponNodeRef, checkConditions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#getAction(org.alfresco.service.cmr.repository.NodeRef, java.lang.String)
|
||||||
|
*/
|
||||||
|
public Action getAction(NodeRef nodeRef, String actionId)
|
||||||
|
{
|
||||||
|
return fTransport.getAction(fHolder.getTicket(), nodeRef, actionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#getActionConditionDefinition(java.lang.String)
|
||||||
|
*/
|
||||||
|
public ActionConditionDefinition getActionConditionDefinition(String name)
|
||||||
|
{
|
||||||
|
return fTransport.getActionConditionDefinition(fHolder.getTicket(), name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#getActionConditionDefinitions()
|
||||||
|
*/
|
||||||
|
public List<ActionConditionDefinition> getActionConditionDefinitions()
|
||||||
|
{
|
||||||
|
return fTransport.getActionConditionDefinitions(fHolder.getTicket());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#getActionDefinition(java.lang.String)
|
||||||
|
*/
|
||||||
|
public ActionDefinition getActionDefinition(String name)
|
||||||
|
{
|
||||||
|
return fTransport.getActionDefinition(fHolder.getTicket(), name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#getActionDefinitions()
|
||||||
|
*/
|
||||||
|
public List<ActionDefinition> getActionDefinitions()
|
||||||
|
{
|
||||||
|
return fTransport.getActionDefinitions(fHolder.getTicket());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#getActionDefinitions(org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public List<ActionDefinition> getActionDefinitions(NodeRef nodeRef)
|
||||||
|
{
|
||||||
|
return fTransport.getActionDefinitions(fHolder.getTicket(), nodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#getActions(org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public List<Action> getActions(NodeRef nodeRef)
|
||||||
|
{
|
||||||
|
return fTransport.getActions(fHolder.getTicket(), nodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#removeAction(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.action.Action)
|
||||||
|
*/
|
||||||
|
public void removeAction(NodeRef nodeRef, Action action)
|
||||||
|
{
|
||||||
|
fTransport.removeAction(fHolder.getTicket(), nodeRef, action);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#removeAllActions(org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public void removeAllActions(NodeRef nodeRef)
|
||||||
|
{
|
||||||
|
fTransport.removeAllActions(fHolder.getTicket(), nodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionService#saveAction(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.action.Action)
|
||||||
|
*/
|
||||||
|
public void saveAction(NodeRef nodeRef, Action action)
|
||||||
|
{
|
||||||
|
fTransport.saveAction(fHolder.getTicket(), nodeRef, action);
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,252 @@
|
|||||||
|
/*
|
||||||
|
* 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.action;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.alfresco.service.cmr.action.Action;
|
||||||
|
import org.alfresco.service.cmr.action.ActionCondition;
|
||||||
|
import org.alfresco.service.cmr.action.ActionConditionDefinition;
|
||||||
|
import org.alfresco.service.cmr.action.ActionDefinition;
|
||||||
|
import org.alfresco.service.cmr.action.ActionService;
|
||||||
|
import org.alfresco.service.cmr.action.ActionServiceTransport;
|
||||||
|
import org.alfresco.service.cmr.action.CompositeAction;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.cmr.security.AuthenticationService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Server side implementation for transport of ActionService.
|
||||||
|
* @author britt
|
||||||
|
*/
|
||||||
|
public class ActionServiceTransportImpl implements ActionServiceTransport
|
||||||
|
{
|
||||||
|
private ActionService fActionService;
|
||||||
|
|
||||||
|
private AuthenticationService fAuthenticationService;
|
||||||
|
|
||||||
|
public void setActionService(ActionService service)
|
||||||
|
{
|
||||||
|
fActionService = service;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAuthenticationService(AuthenticationService service)
|
||||||
|
{
|
||||||
|
fAuthenticationService = service;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#createAction(java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public Action createAction(String ticket, String name)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.createAction(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#createAction(java.lang.String, java.lang.String, java.util.Map)
|
||||||
|
*/
|
||||||
|
public Action createAction(String ticket, String name,
|
||||||
|
Map<String, Serializable> params)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.createAction(name, params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#createActionCondition(java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public ActionCondition createActionCondition(String ticket, String name)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.createActionCondition(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#createActionCondition(java.lang.String, java.lang.String, java.util.Map)
|
||||||
|
*/
|
||||||
|
public ActionCondition createActionCondition(String ticket, String name,
|
||||||
|
Map<String, Serializable> params)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.createActionCondition(name, params);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#createCompositeAction(java.lang.String)
|
||||||
|
*/
|
||||||
|
public CompositeAction createCompositeAction(String ticket)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.createCompositeAction();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#evaluateAction(java.lang.String, org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public boolean evaluateAction(String ticket, Action action,
|
||||||
|
NodeRef actionedUponNodeRef)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.evaluateAction(action, actionedUponNodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#evaluateActionCondition(java.lang.String, org.alfresco.service.cmr.action.ActionCondition, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public boolean evaluateActionCondition(String ticket,
|
||||||
|
ActionCondition condition, NodeRef actionedUponNodeRef)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.evaluateActionCondition(condition, actionedUponNodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#executeAction(java.lang.String, org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public void executeAction(String ticket, Action action,
|
||||||
|
NodeRef actionedUponNodeRef)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
fActionService.executeAction(action, actionedUponNodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#executeAction(java.lang.String, org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef, boolean)
|
||||||
|
*/
|
||||||
|
public void executeAction(String ticket, Action action,
|
||||||
|
NodeRef actionedUponNodeRef, boolean checkConditions)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
fActionService.executeAction(action, actionedUponNodeRef, checkConditions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#executeAction(java.lang.String, org.alfresco.service.cmr.action.Action, org.alfresco.service.cmr.repository.NodeRef, boolean, boolean)
|
||||||
|
*/
|
||||||
|
public void executeAction(String ticket, Action action,
|
||||||
|
NodeRef actionedUponNodeRef, boolean checkConditions,
|
||||||
|
boolean executeAsynchronously)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
fActionService.executeAction(action, actionedUponNodeRef, checkConditions, executeAsynchronously);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#getAction(java.lang.String, org.alfresco.service.cmr.repository.NodeRef, java.lang.String)
|
||||||
|
*/
|
||||||
|
public Action getAction(String ticket, NodeRef nodeRef, String actionId)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.getAction(nodeRef, actionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#getActionConditionDefinition(java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public ActionConditionDefinition getActionConditionDefinition(
|
||||||
|
String ticket, String name)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.getActionConditionDefinition(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#getActionConditionDefinitions(java.lang.String)
|
||||||
|
*/
|
||||||
|
public List<ActionConditionDefinition> getActionConditionDefinitions(
|
||||||
|
String ticket)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.getActionConditionDefinitions();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#getActionDefinition(java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public ActionDefinition getActionDefinition(String ticket, String name)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.getActionDefinition(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#getActionDefinitions(java.lang.String)
|
||||||
|
*/
|
||||||
|
public List<ActionDefinition> getActionDefinitions(String ticket)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.getActionDefinitions();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#getActionDefinitions(java.lang.String, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public List<ActionDefinition> getActionDefinitions(String ticket,
|
||||||
|
NodeRef nodeRef)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.getActionDefinitions(nodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#getActions(java.lang.String, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public List<Action> getActions(String ticket, NodeRef nodeRef)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
return fActionService.getActions(nodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#removeAction(java.lang.String, org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.action.Action)
|
||||||
|
*/
|
||||||
|
public void removeAction(String ticket, NodeRef nodeRef, Action action)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
fActionService.removeAction(nodeRef, action);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#removeAllActions(java.lang.String, org.alfresco.service.cmr.repository.NodeRef)
|
||||||
|
*/
|
||||||
|
public void removeAllActions(String ticket, NodeRef nodeRef)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
fActionService.removeAllActions(nodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.action.ActionServiceTransport#saveAction(java.lang.String, org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.action.Action)
|
||||||
|
*/
|
||||||
|
public void saveAction(String ticket, NodeRef nodeRef, Action action)
|
||||||
|
{
|
||||||
|
fAuthenticationService.validate(ticket);
|
||||||
|
fActionService.saveAction(nodeRef, action);
|
||||||
|
}
|
||||||
|
}
|
@@ -26,7 +26,6 @@ package org.alfresco.repo.avm;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@@ -36,6 +35,7 @@ import org.alfresco.repo.domain.PropertyValue;
|
|||||||
import org.alfresco.service.cmr.avm.AVMReadOnlyException;
|
import org.alfresco.service.cmr.avm.AVMReadOnlyException;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.util.GUID;
|
import org.alfresco.util.GUID;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class for all repository file system like objects.
|
* Base class for all repository file system like objects.
|
||||||
@@ -43,6 +43,8 @@ import org.alfresco.util.GUID;
|
|||||||
*/
|
*/
|
||||||
public abstract class AVMNodeImpl implements AVMNode, Serializable
|
public abstract class AVMNodeImpl implements AVMNode, Serializable
|
||||||
{
|
{
|
||||||
|
private static Logger fgLogger = Logger.getLogger(AVMNodeImpl.class);
|
||||||
|
|
||||||
protected static final boolean DEBUG = true;
|
protected static final boolean DEBUG = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -57,6 +57,8 @@ import org.alfresco.repo.search.impl.lucene.AVMLuceneIndexer;
|
|||||||
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
|
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
|
||||||
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
||||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
|
import org.alfresco.service.cmr.action.Action;
|
||||||
|
import org.alfresco.service.cmr.action.ActionService;
|
||||||
import org.alfresco.service.cmr.avm.AVMBadArgumentException;
|
import org.alfresco.service.cmr.avm.AVMBadArgumentException;
|
||||||
import org.alfresco.service.cmr.avm.AVMCycleException;
|
import org.alfresco.service.cmr.avm.AVMCycleException;
|
||||||
import org.alfresco.service.cmr.avm.AVMException;
|
import org.alfresco.service.cmr.avm.AVMException;
|
||||||
@@ -490,12 +492,20 @@ public class AVMServiceTest extends AVMServiceTestBase
|
|||||||
assertNull(fService.lookup(-1, "target:/a/b/snarl.bak"));
|
assertNull(fService.lookup(-1, "target:/a/b/snarl.bak"));
|
||||||
runQueriesAgainstBasicTreeWithAOnly("target");
|
runQueriesAgainstBasicTreeWithAOnly("target");
|
||||||
System.out.println(report);
|
System.out.println(report);
|
||||||
|
ActionService actionService = depService.getRemoteActionService("localhost", 50500, "admin", "admin");
|
||||||
|
Map<String, Serializable> params = new HashMap<String, Serializable>();
|
||||||
|
params.put("property", ContentModel.PROP_ADDRESSEE);
|
||||||
|
params.put("value", "Santa Claus");
|
||||||
assertEquals(fService.lookup(-1, "main:/a/b/c/foo").getGuid(), fService.lookup(-1, "target:/a/b/c/foo")
|
assertEquals(fService.lookup(-1, "main:/a/b/c/foo").getGuid(), fService.lookup(-1, "target:/a/b/c/foo")
|
||||||
.getGuid());
|
.getGuid());
|
||||||
assertEquals(fService.lookup(-1, "main:/a/b/c/bar").getGuid(), fService.lookup(-1, "target:/a/b/c/bar")
|
assertEquals(fService.lookup(-1, "main:/a/b/c/bar").getGuid(), fService.lookup(-1, "target:/a/b/c/bar")
|
||||||
.getGuid());
|
.getGuid());
|
||||||
ContentData srcCD = fService.getContentDataForRead(-1, "main:/a/b/c/foo");
|
NodeRef nodeRef = AVMNodeConverter.ToNodeRef(-1, "target:/a/b/c/foo");
|
||||||
ContentData dstCD = fService.getContentDataForRead(-1, "target:/a/b/c/foo");
|
Action action = new ActionImpl(nodeRef, "set-property-value", "set-property-value", params);
|
||||||
|
actionService.executeAction(action, nodeRef, false, false);
|
||||||
|
assertEquals("Santa Claus", fService.getNodeProperty(-1, "target:/a/b/c/foo", ContentModel.PROP_ADDRESSEE).getStringValue());
|
||||||
|
ContentData srcCD = fService.getContentDataForRead(-1, "main:/a/b/c/bar");
|
||||||
|
ContentData dstCD = fService.getContentDataForRead(-1, "target:/a/b/c/bar");
|
||||||
assertEquals(srcCD.getMimetype(), dstCD.getMimetype());
|
assertEquals(srcCD.getMimetype(), dstCD.getMimetype());
|
||||||
fService.createFile("main:/a/b", "biz").close();
|
fService.createFile("main:/a/b", "biz").close();
|
||||||
report = depService.deployDifference(-1, "main:/a", "localhost", 50500, "admin", "admin", "target:/a", matcher,
|
report = depService.deployDifference(-1, "main:/a", "localhost", 50500, "admin", "admin", "target:/a", matcher,
|
||||||
|
@@ -39,12 +39,15 @@ import org.alfresco.deployment.DeploymentReceiverTransport;
|
|||||||
import org.alfresco.deployment.FileDescriptor;
|
import org.alfresco.deployment.FileDescriptor;
|
||||||
import org.alfresco.deployment.FileType;
|
import org.alfresco.deployment.FileType;
|
||||||
import org.alfresco.deployment.impl.client.DeploymentReceiverServiceClient;
|
import org.alfresco.deployment.impl.client.DeploymentReceiverServiceClient;
|
||||||
|
import org.alfresco.repo.action.ActionServiceRemote;
|
||||||
import org.alfresco.repo.avm.AVMNodeConverter;
|
import org.alfresco.repo.avm.AVMNodeConverter;
|
||||||
import org.alfresco.repo.avm.util.SimplePath;
|
import org.alfresco.repo.avm.util.SimplePath;
|
||||||
import org.alfresco.repo.domain.PropertyValue;
|
import org.alfresco.repo.domain.PropertyValue;
|
||||||
import org.alfresco.repo.remote.AVMRemoteImpl;
|
import org.alfresco.repo.remote.AVMRemoteImpl;
|
||||||
import org.alfresco.repo.remote.ClientTicketHolder;
|
import org.alfresco.repo.remote.ClientTicketHolder;
|
||||||
import org.alfresco.repo.remote.ClientTicketHolderThread;
|
import org.alfresco.repo.remote.ClientTicketHolderThread;
|
||||||
|
import org.alfresco.service.cmr.action.ActionService;
|
||||||
|
import org.alfresco.service.cmr.action.ActionServiceTransport;
|
||||||
import org.alfresco.service.cmr.avm.AVMException;
|
import org.alfresco.service.cmr.avm.AVMException;
|
||||||
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
|
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
|
||||||
import org.alfresco.service.cmr.avm.AVMNotFoundException;
|
import org.alfresco.service.cmr.avm.AVMNotFoundException;
|
||||||
@@ -556,6 +559,39 @@ public class DeploymentServiceImpl implements DeploymentService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.service.cmr.avm.deploy.DeploymentService#getRemoteActionService(java.lang.String, int, java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public ActionService getRemoteActionService(String hostName, int port, String userName, String password)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RmiProxyFactoryBean authFactory = new RmiProxyFactoryBean();
|
||||||
|
authFactory.setRefreshStubOnConnectFailure(true);
|
||||||
|
authFactory.setServiceInterface(AuthenticationService.class);
|
||||||
|
authFactory.setServiceUrl("rmi://" + hostName + ":" + port + "/authentication");
|
||||||
|
authFactory.afterPropertiesSet();
|
||||||
|
AuthenticationService authService = (AuthenticationService)authFactory.getObject();
|
||||||
|
authService.authenticate(userName, password.toCharArray());
|
||||||
|
String ticket = authService.getCurrentTicket();
|
||||||
|
fTicketHolder.setTicket(ticket);
|
||||||
|
RmiProxyFactoryBean remoteFactory = new RmiProxyFactoryBean();
|
||||||
|
remoteFactory.setRefreshStubOnConnectFailure(true);
|
||||||
|
remoteFactory.setServiceInterface(ActionServiceTransport.class);
|
||||||
|
remoteFactory.setServiceUrl("rmi://" + hostName + ":" + port + "/action");
|
||||||
|
remoteFactory.afterPropertiesSet();
|
||||||
|
ActionServiceTransport transport = (ActionServiceTransport)remoteFactory.getObject();
|
||||||
|
ActionServiceRemote remote = new ActionServiceRemote();
|
||||||
|
remote.setActionServiceTransport(transport);
|
||||||
|
remote.setClientTicketHolder(fTicketHolder);
|
||||||
|
return remote;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new AVMException("Could not Initialize Remote Connection to " + hostName, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private DeploymentReceiverService getReceiver(String hostName, int port)
|
private DeploymentReceiverService getReceiver(String hostName, int port)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@@ -0,0 +1,232 @@
|
|||||||
|
/*
|
||||||
|
* 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.action;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.alfresco.service.Auditable;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the interface for over the transport of ActionService.
|
||||||
|
* It's job is to tunnel an authentication token for each call.
|
||||||
|
* @author britt
|
||||||
|
*/
|
||||||
|
public interface ActionServiceTransport
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get a named action definition
|
||||||
|
*
|
||||||
|
* @param name the name of the action definition
|
||||||
|
* @return the action definition
|
||||||
|
*/
|
||||||
|
ActionDefinition getActionDefinition(String ticket, String name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all the action definitions
|
||||||
|
*
|
||||||
|
* @return the list action definitions
|
||||||
|
*/
|
||||||
|
List<ActionDefinition> getActionDefinitions(String ticket);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all the action definitions that are applicable for the given node, based on
|
||||||
|
* its type and aspects.
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference
|
||||||
|
* @return a list of applicable action definitions
|
||||||
|
*/
|
||||||
|
List<ActionDefinition> getActionDefinitions(String ticket, NodeRef nodeRef);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a named action condition definition
|
||||||
|
*
|
||||||
|
* @param name the name of the action condition definition
|
||||||
|
* @return the action condition definition
|
||||||
|
*/
|
||||||
|
ActionConditionDefinition getActionConditionDefinition(String ticket, String name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all the action condition definitions
|
||||||
|
*
|
||||||
|
* @return the list of aciton condition definitions
|
||||||
|
*/
|
||||||
|
List<ActionConditionDefinition> getActionConditionDefinitions(String ticket);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new action
|
||||||
|
*
|
||||||
|
* @param name the action definition name
|
||||||
|
* @return the action
|
||||||
|
*/
|
||||||
|
Action createAction(String ticket, String name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new action specifying the initial set of parameter values
|
||||||
|
*
|
||||||
|
* @param name the action definition name
|
||||||
|
* @param params the parameter values
|
||||||
|
* @return the action
|
||||||
|
*/
|
||||||
|
Action createAction(String ticket, String name, Map<String, Serializable> params);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a composite action
|
||||||
|
*
|
||||||
|
* @return the composite action
|
||||||
|
*/
|
||||||
|
CompositeAction createCompositeAction(String ticket);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an action condition
|
||||||
|
*
|
||||||
|
* @param name the action condition definition name
|
||||||
|
* @return the action condition
|
||||||
|
*/
|
||||||
|
ActionCondition createActionCondition(String ticket, String name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an action condition specifying the initial set of parameter values
|
||||||
|
*
|
||||||
|
* @param name the action condition definition name
|
||||||
|
* @param params the parameter values
|
||||||
|
* @return the action condition
|
||||||
|
*/
|
||||||
|
ActionCondition createActionCondition(String ticket, String name, Map<String, Serializable> params);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The actions conditions are always checked.
|
||||||
|
*
|
||||||
|
* @see ActionService#executeAction(Action, NodeRef, boolean)
|
||||||
|
*
|
||||||
|
* @param action the action
|
||||||
|
* @param actionedUponNodeRef the actioned upon node reference
|
||||||
|
*/
|
||||||
|
void executeAction(String ticket, Action action, NodeRef actionedUponNodeRef);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The action is executed based on the asynchronous attribute of the action.
|
||||||
|
*
|
||||||
|
* @see ActionService#executeAction(Action, NodeRef, boolean, boolean)
|
||||||
|
*
|
||||||
|
* @param action the action
|
||||||
|
* @param actionedUponNodeRef the actioned upon node reference
|
||||||
|
* @param checkConditions indicates whether the conditions should be checked
|
||||||
|
*/
|
||||||
|
void executeAction(String ticket, Action action, NodeRef actionedUponNodeRef, boolean checkConditions);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executes the specified action upon the node reference provided.
|
||||||
|
* <p>
|
||||||
|
* If specified that the conditions should be checked then any conditions
|
||||||
|
* set on the action are evaluated.
|
||||||
|
* <p>
|
||||||
|
* If the conditions fail then the action is not executed.
|
||||||
|
* <p>
|
||||||
|
* If an action has no conditions then the action will always be executed.
|
||||||
|
* <p>
|
||||||
|
* If the conditions are not checked then the action will always be executed.
|
||||||
|
*
|
||||||
|
* @param action the action
|
||||||
|
* @param actionedUponNodeRef the actioned upon node reference
|
||||||
|
* @param checkConditions indicates whether the conditions should be checked before
|
||||||
|
* executing the action
|
||||||
|
* @param executeAsynchronously indicates whether the action should be executed asychronously or not, this value overrides
|
||||||
|
* the value set on the action its self
|
||||||
|
*/
|
||||||
|
void executeAction(String ticket, Action action, NodeRef actionedUponNodeRef, boolean checkConditions, boolean executeAsynchronously);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Evaluted the conditions set on an action.
|
||||||
|
* <p>
|
||||||
|
* Returns true if the action has no conditions.
|
||||||
|
* <p>
|
||||||
|
* If the action has more than one condition their results are combined using the 'AND'
|
||||||
|
* logical operator.
|
||||||
|
*
|
||||||
|
* @param action the action
|
||||||
|
* @param actionedUponNodeRef the actioned upon node reference
|
||||||
|
* @return true if the condition succeeds, false otherwise
|
||||||
|
*/
|
||||||
|
boolean evaluateAction(String ticket, Action action, NodeRef actionedUponNodeRef);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Evaluate an action condition.
|
||||||
|
*
|
||||||
|
* @param condition the action condition
|
||||||
|
* @param actionedUponNodeRef the actioned upon node reference
|
||||||
|
* @return true if the condition succeeds, false otherwise
|
||||||
|
*/
|
||||||
|
boolean evaluateActionCondition(String ticket, ActionCondition condition, NodeRef actionedUponNodeRef);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save an action against a node reference.
|
||||||
|
* <p>
|
||||||
|
* The node will be made configurable if it is not already.
|
||||||
|
* <p>
|
||||||
|
* If the action already exists then its details will be updated.
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference
|
||||||
|
* @param action the action
|
||||||
|
*/
|
||||||
|
void saveAction(String ticket, NodeRef nodeRef, Action action);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all the actions currently saved on the given node reference.
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference
|
||||||
|
* @return the list of actions
|
||||||
|
*/
|
||||||
|
List<Action> getActions(String ticket, NodeRef nodeRef);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets an action stored against a given node reference.
|
||||||
|
* <p>
|
||||||
|
* Returns null if the action can not be found.
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference
|
||||||
|
* @param actionId the action id
|
||||||
|
* @return the action
|
||||||
|
*/
|
||||||
|
Action getAction(String ticket, NodeRef nodeRef, String actionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes an action associated with a node reference.
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference
|
||||||
|
* @param action the action
|
||||||
|
*/
|
||||||
|
void removeAction(String ticket, NodeRef nodeRef, Action action);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes all actions associated with a node reference
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference
|
||||||
|
*/
|
||||||
|
void removeAllActions(String ticket, NodeRef nodeRef);
|
||||||
|
}
|
@@ -3,6 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.service.cmr.avm.deploy;
|
package org.alfresco.service.cmr.avm.deploy;
|
||||||
|
|
||||||
|
import org.alfresco.service.cmr.action.ActionService;
|
||||||
import org.alfresco.util.NameMatcher;
|
import org.alfresco.util.NameMatcher;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,6 +36,17 @@ public interface DeploymentService
|
|||||||
boolean dontDelete,
|
boolean dontDelete,
|
||||||
boolean dontDo,
|
boolean dontDo,
|
||||||
DeploymentCallback callback);
|
DeploymentCallback callback);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get A reference to an ActionService instance on a remote Alfresco Server.
|
||||||
|
* @param hostName
|
||||||
|
* @param port
|
||||||
|
* @param userName
|
||||||
|
* @param password
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public ActionService getRemoteActionService(String hostName, int port,
|
||||||
|
String userName, String password);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deploy to a filesystem on another machine.
|
* Deploy to a filesystem on another machine.
|
||||||
|
Reference in New Issue
Block a user