1 package org
.argeo
.slc
.core
.execution
.tasks
;
3 import java
.lang
.reflect
.Method
;
6 import org
.argeo
.slc
.SlcException
;
7 import org
.argeo
.slc
.deploy
.DeployedSystem
;
8 import org
.argeo
.slc
.deploy
.DeployedSystemManager
;
9 import org
.argeo
.slc
.process
.SlcExecution
;
10 import org
.argeo
.slc
.process
.SlcExecutionRelated
;
11 import org
.argeo
.slc
.process
.SlcExecutionStep
;
12 import org
.argeo
.slc
.structure
.StructureRegistry
;
14 /** Use {@link MethodCall} instead. */
16 public class SlcManager
implements Runnable
, SlcExecutionRelated
{
18 private String slcExecutionUuid
;
19 private String slcExecutionStepUuid
;
21 private String action
;
22 private DeployedSystemManager
<DeployedSystem
> manager
;
24 public final void run() {
25 uuid
= UUID
.randomUUID().toString();
26 executeActions(StructureRegistry
.ALL
);
29 protected void executeActions(String mode
) {
31 Class
<?
>[] argClasses
= null;
32 Method method
= manager
.getClass().getMethod(action
, argClasses
);
33 Object
[] argObjects
= null;
34 method
.invoke(manager
, argObjects
);
35 } catch (Exception e
) {
36 throw new SlcException("Cannot execute action " + action
37 + " for manager " + manager
, e
);
41 public void setAction(String action
) {
45 public void setManager(DeployedSystemManager
<DeployedSystem
> manager
) {
46 this.manager
= manager
;
49 public String
getUuid() {
53 public void setUuid(String uuid
) {
57 public String
getSlcExecutionUuid() {
58 return slcExecutionUuid
;
61 public void setSlcExecutionUuid(String slcExecutionUuid
) {
62 this.slcExecutionUuid
= slcExecutionUuid
;
65 public String
getSlcExecutionStepUuid() {
66 return slcExecutionStepUuid
;
69 public void setSlcExecutionStepUuid(String slcExecutionStepUuid
) {
70 this.slcExecutionStepUuid
= slcExecutionStepUuid
;
73 public void notifySlcExecution(SlcExecution slcExecution
) {
74 if (slcExecution
!= null) {
75 slcExecutionUuid
= slcExecution
.getUuid();
76 SlcExecutionStep step
= slcExecution
.currentStep();
78 slcExecutionStepUuid
= step
.getUuid();