Hello community!!! I'm an enthousiastic but rookie user so forgive me if my issue seems silly...
I am developing a workflow. When I create a beanshell script like this:
Here is my ActionHandler:
I am developing a workflow. When I create a beanshell script like this:
Code: Select all
inside an event node, everything works perfectly. However, when I want to do the same thing using an ActionHandler, Eclipse cannot import OpenKM classes claiming that these imports cannot be resolved. Why is this happening? Is webservices the answer to my problem?import com.openkm.module.direct.DirectDocumentModule;
import javax.jcr.*;
import com.openkm.core.*;
import com.openkm.bean.*;
import com.openkm.module.*;
import com.openkm.frontend.client.bean.GWTWorkflowComment;
import java.util.Map;
import com.openkm.api.OKMAuth;
import com.openkm.bean.Permission;
//Get document's path
DirectDocumentModule docModule = DirectDocumentModule.class.newInstance();
String token = JcrSessionManager.getInstance().getSystemToken();
String uuid=(String)executionContext.getVariable("uuid");
String path = docModule.getPath(token, uuid);
//Grant User Read, Write
String newUserName="dioikitis";
OKMAuth oKMAuth = OKMAuth.getInstance();
oKMAuth.grantUser(null, path, newUserName, Permission.READ, true);
oKMAuth.grantUser(null, path, newUserName, Permission.WRITE, true);
Here is my ActionHandler:
Code: Select all
I attach an eclipse snapshot
Thank you and keep it open import org.jbpm.graph.def.ActionHandler;
import org.jbpm.graph.exe.ExecutionContext;
import com.openkm.module.direct.DirectDocumentModule;
import javax.jcr.*;
import com.openkm.core.*;
import com.openkm.bean.*;
import com.openkm.module.*;
import com.openkm.frontend.client.bean.GWTWorkflowComment;
import java.util.Map;
import com.openkm.api.OKMAuth;
import com.openkm.bean.Permission;
public class grantUser implements ActionHandler {
private static final long serialVersionUID = 1L;
String user;
@Override
public void execute(ExecutionContext context) throws Exception {
//Get document's path
DirectDocumentModule docModule = DirectDocumentModule.class.newInstance();
String token = JcrSessionManager.getInstance().getSystemToken();
String uuid=(String)executionContext.getVariable("uuid");
String path = docModule.getPath(token, uuid);
//Grant User Read, Write
String newUserName="dioikitis";
OKMAuth oKMAuth = OKMAuth.getInstance();
oKMAuth.grantUser(null, path, newUserName, Permission.READ, true);
oKMAuth.grantUser(null, path, newUserName, Permission.WRITE, true);
}
}
