cartago
Class WorkspaceKernel

java.lang.Object
  extended by cartago.WorkspaceKernel

public class WorkspaceKernel
extends java.lang.Object

This class represents the core machinery of a workspace.

Author:
aricci

Method Summary
 void addArtifactFactory(ArtifactFactory factory)
           
 void addControllers(int n)
          Extends the set of controllers used to serve operation execution
 void bindAgentBodyArtifact(AgentId agentId, AgentBodyArtifact art)
           
 void disposeArtifact(AgentId uid, ArtifactId id)
          Destroy an artifact
 OpId doInternalOp(ArtifactId aid, Op op)
           
 OpId execInterArtifactOp(ICartagoCallback evListener, long callbackId, AgentId userId, ArtifactId srcId, ArtifactId targetId, Op op, long timeout, IAlignmentTest test)
           
 void execOp(long actionId, AgentId userId, ICartagoCallback ctx, ArtifactId aid, Op op, long timeout, IAlignmentTest test)
           
 void execOp(long actionId, AgentId userId, ICartagoCallback ctx, Op op, long timeout, IAlignmentTest test)
           
 void execOp(long actionId, AgentId userId, ICartagoCallback ctx, java.lang.String name, Op op, long timeout, IAlignmentTest test)
           
 java.util.List<ArtifactObsProperty> focus(AgentId userId, IEventFilter filter, ICartagoCallback ctx, ArtifactId aid)
           
 ArtifactId getAgentBodyArtifact(AgentId agentId)
           
 ArtifactId getArtifact(java.lang.String name)
           
 ArtifactId[] getArtifactIdList()
           
 java.lang.String[] getArtifactList()
           
 ICartagoController getController()
           
 WorkspaceId getId()
          Gets environment name
 ICartagoLoggerManager getLoggerManager()
           
 Manual getManual(AgentId userId, java.lang.String manualName)
           
 cartago.security.IWorkspaceSecurityManager getSecurityManager()
           
 boolean hasOperation(ArtifactId aid, Op op)
           
 boolean isArtifactPresent(java.lang.String name)
           
 ICartagoContext joinWorkspace(cartago.security.AgentCredential cred, ICartagoCallback eventListener)
           
 void linkArtifacts(AgentId userId, ArtifactId artifactOutId, java.lang.String artifactOutPort, ArtifactId artifactInId)
           
 java.lang.String loadManualSrc(java.lang.String fname)
           
protected  void log(java.lang.String st)
           
 ArtifactId lookupArtifact(AgentId userId, java.lang.String name)
           
 ArtifactId lookupArtifactByType(AgentId userId, java.lang.String type)
           
 ArtifactId makeArtifact(AgentId userId, java.lang.String name, java.lang.String template, ArtifactConfig config)
           
 void notifyActionCompleted(ICartagoCallback listener, long actionId, ArtifactId aid, Op op)
           
 void notifyActionFailed(ICartagoCallback listener, long actionId, Op op, java.lang.String failureMsg, Tuple failureReason)
           
 void notifyAgentPositionOrRadiusChange(AgentId agentId)
           
 void notifyArtifactPositionOrRadiusChange(ArtifactId id)
           
 void notifyConsultManualCompleted(ICartagoCallback listener, long actionId, ArtifactId aid, Op op, Manual man)
           
 void notifyFocusCompleted(ICartagoCallback listener, long actionId, ArtifactId aid, Op op, ArtifactId target, java.util.List<ArtifactObsProperty> props)
           
 void notifyJoinWSPCompleted(ICartagoCallback listener, long actionId, ArtifactId aid, Op op, WorkspaceId wspId, ICartagoContext ctx)
           
 void notifyObsEvent(ArtifactId sourceId, Tuple signal, ArtifactObsProperty[] changed, ArtifactObsProperty[] added, ArtifactObsProperty[] removed)
           
 void notifyObsEventToAgent(ArtifactId sourceId, AgentId target, Tuple signal, ArtifactObsProperty[] changed, ArtifactObsProperty[] added, ArtifactObsProperty[] removed)
           
 void notifyQuitWSPCompleted(ICartagoCallback listener, long actionId, ArtifactId aid, Op op, WorkspaceId wspId)
           
 void notifyStopFocusCompleted(ICartagoCallback listener, long actionId, ArtifactId aid, Op op, ArtifactId target, java.util.List<ArtifactObsProperty> props)
           
 void quitAgent(AgentId userId)
           
 Manual registerManual(java.lang.String artifactType, java.lang.String uri, java.lang.String src)
           
 boolean removeArtifactFactory(java.lang.String name)
           
 void removeGarbageBody(AgentBody ctx)
           
 boolean removeManual(java.lang.String name)
           
 void setLoggerManager(ICartagoLoggerManager man)
           
 void setSecurityManager(cartago.security.IWorkspaceSecurityManager man)
           
 void setWSPRuleEngine(AbstractWSPRuleEngine man)
           
 void setWSPTopology(AbstractWorkspaceTopology topology)
           
 void shutdown()
          Shutdown the workspace.
 java.util.List<ArtifactObsProperty> stopFocus(AgentId userId, ICartagoCallback ctx, ArtifactId aid)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getId

public WorkspaceId getId()
Gets environment name

Returns:
name

setSecurityManager

public void setSecurityManager(cartago.security.IWorkspaceSecurityManager man)

getSecurityManager

public cartago.security.IWorkspaceSecurityManager getSecurityManager()

setLoggerManager

public void setLoggerManager(ICartagoLoggerManager man)

getLoggerManager

public ICartagoLoggerManager getLoggerManager()

joinWorkspace

public ICartagoContext joinWorkspace(cartago.security.AgentCredential cred,
                                     ICartagoCallback eventListener)
                              throws CartagoException
Throws:
CartagoException

bindAgentBodyArtifact

public void bindAgentBodyArtifact(AgentId agentId,
                                  AgentBodyArtifact art)

getAgentBodyArtifact

public ArtifactId getAgentBodyArtifact(AgentId agentId)

notifyAgentPositionOrRadiusChange

public void notifyAgentPositionOrRadiusChange(AgentId agentId)
                                       throws CartagoException
Throws:
CartagoException

notifyArtifactPositionOrRadiusChange

public void notifyArtifactPositionOrRadiusChange(ArtifactId id)
                                          throws CartagoException
Throws:
CartagoException

setWSPTopology

public void setWSPTopology(AbstractWorkspaceTopology topology)

quitAgent

public void quitAgent(AgentId userId)
               throws CartagoException
Throws:
CartagoException

addArtifactFactory

public void addArtifactFactory(ArtifactFactory factory)

removeArtifactFactory

public boolean removeArtifactFactory(java.lang.String name)

makeArtifact

public ArtifactId makeArtifact(AgentId userId,
                               java.lang.String name,
                               java.lang.String template,
                               ArtifactConfig config)
                        throws ArtifactAlreadyPresentException,
                               UnknownArtifactTemplateException,
                               ArtifactConfigurationFailedException
Throws:
ArtifactAlreadyPresentException
UnknownArtifactTemplateException
ArtifactConfigurationFailedException

disposeArtifact

public void disposeArtifact(AgentId uid,
                            ArtifactId id)
                     throws CartagoException
Destroy an artifact

Parameters:
id - artifact identifier
Throws:
CartagoException - if errors occurred in disposing the artifact

getArtifactList

public java.lang.String[] getArtifactList()

getArtifactIdList

public ArtifactId[] getArtifactIdList()

isArtifactPresent

public boolean isArtifactPresent(java.lang.String name)

lookupArtifact

public ArtifactId lookupArtifact(AgentId userId,
                                 java.lang.String name)
                          throws UnknownArtifactException,
                                 ArtifactNotAvailableException
Throws:
UnknownArtifactException
ArtifactNotAvailableException

lookupArtifactByType

public ArtifactId lookupArtifactByType(AgentId userId,
                                       java.lang.String type)
                                throws UnknownArtifactException,
                                       ArtifactNotAvailableException
Throws:
UnknownArtifactException
ArtifactNotAvailableException

execOp

public void execOp(long actionId,
                   AgentId userId,
                   ICartagoCallback ctx,
                   ArtifactId aid,
                   Op op,
                   long timeout,
                   IAlignmentTest test)
            throws CartagoException
Throws:
CartagoException

execOp

public void execOp(long actionId,
                   AgentId userId,
                   ICartagoCallback ctx,
                   java.lang.String name,
                   Op op,
                   long timeout,
                   IAlignmentTest test)
            throws CartagoException
Throws:
CartagoException

execOp

public void execOp(long actionId,
                   AgentId userId,
                   ICartagoCallback ctx,
                   Op op,
                   long timeout,
                   IAlignmentTest test)
            throws CartagoException
Throws:
CartagoException

setWSPRuleEngine

public void setWSPRuleEngine(AbstractWSPRuleEngine man)

focus

public java.util.List<ArtifactObsProperty> focus(AgentId userId,
                                                 IEventFilter filter,
                                                 ICartagoCallback ctx,
                                                 ArtifactId aid)
                                          throws CartagoException
Throws:
CartagoException

stopFocus

public java.util.List<ArtifactObsProperty> stopFocus(AgentId userId,
                                                     ICartagoCallback ctx,
                                                     ArtifactId aid)
                                              throws CartagoException
Throws:
CartagoException

linkArtifacts

public void linkArtifacts(AgentId userId,
                          ArtifactId artifactOutId,
                          java.lang.String artifactOutPort,
                          ArtifactId artifactInId)
                   throws CartagoException
Throws:
CartagoException

doInternalOp

public OpId doInternalOp(ArtifactId aid,
                         Op op)
                  throws java.lang.InterruptedException,
                         OpRequestTimeoutException,
                         OperationUnavailableException,
                         ArtifactNotAvailableException,
                         CartagoException
Throws:
java.lang.InterruptedException
OpRequestTimeoutException
OperationUnavailableException
ArtifactNotAvailableException
CartagoException

hasOperation

public boolean hasOperation(ArtifactId aid,
                            Op op)
                     throws NoArtifactException
Throws:
NoArtifactException

getArtifact

public ArtifactId getArtifact(java.lang.String name)

execInterArtifactOp

public OpId execInterArtifactOp(ICartagoCallback evListener,
                                long callbackId,
                                AgentId userId,
                                ArtifactId srcId,
                                ArtifactId targetId,
                                Op op,
                                long timeout,
                                IAlignmentTest test)
                         throws CartagoException
Throws:
CartagoException

getManual

public Manual getManual(AgentId userId,
                        java.lang.String manualName)
                 throws ManualNotAvailableException
Throws:
ManualNotAvailableException

registerManual

public Manual registerManual(java.lang.String artifactType,
                             java.lang.String uri,
                             java.lang.String src)
                      throws java.lang.Exception
Throws:
java.lang.Exception

removeManual

public boolean removeManual(java.lang.String name)

addControllers

public void addControllers(int n)
Extends the set of controllers used to serve operation execution

Parameters:
n - number of controllers to be added

shutdown

public void shutdown()
Shutdown the workspace. This includes disposal of artifacts.


notifyObsEventToAgent

public void notifyObsEventToAgent(ArtifactId sourceId,
                                  AgentId target,
                                  Tuple signal,
                                  ArtifactObsProperty[] changed,
                                  ArtifactObsProperty[] added,
                                  ArtifactObsProperty[] removed)

notifyObsEvent

public void notifyObsEvent(ArtifactId sourceId,
                           Tuple signal,
                           ArtifactObsProperty[] changed,
                           ArtifactObsProperty[] added,
                           ArtifactObsProperty[] removed)

notifyActionCompleted

public void notifyActionCompleted(ICartagoCallback listener,
                                  long actionId,
                                  ArtifactId aid,
                                  Op op)

notifyActionFailed

public void notifyActionFailed(ICartagoCallback listener,
                               long actionId,
                               Op op,
                               java.lang.String failureMsg,
                               Tuple failureReason)

notifyFocusCompleted

public void notifyFocusCompleted(ICartagoCallback listener,
                                 long actionId,
                                 ArtifactId aid,
                                 Op op,
                                 ArtifactId target,
                                 java.util.List<ArtifactObsProperty> props)

notifyStopFocusCompleted

public void notifyStopFocusCompleted(ICartagoCallback listener,
                                     long actionId,
                                     ArtifactId aid,
                                     Op op,
                                     ArtifactId target,
                                     java.util.List<ArtifactObsProperty> props)

notifyJoinWSPCompleted

public void notifyJoinWSPCompleted(ICartagoCallback listener,
                                   long actionId,
                                   ArtifactId aid,
                                   Op op,
                                   WorkspaceId wspId,
                                   ICartagoContext ctx)

notifyQuitWSPCompleted

public void notifyQuitWSPCompleted(ICartagoCallback listener,
                                   long actionId,
                                   ArtifactId aid,
                                   Op op,
                                   WorkspaceId wspId)

notifyConsultManualCompleted

public void notifyConsultManualCompleted(ICartagoCallback listener,
                                         long actionId,
                                         ArtifactId aid,
                                         Op op,
                                         Manual man)

log

protected void log(java.lang.String st)

removeGarbageBody

public void removeGarbageBody(AgentBody ctx)

getController

public ICartagoController getController()

loadManualSrc

public java.lang.String loadManualSrc(java.lang.String fname)


>DEIS - University of Bologna