Bueno ando perdido otra vez y creo que más xD, me metí en
https://openkm.svn.sourceforge.net/svnroot/openkm/ y vi la clase que me dijste, la copié pero claro debido a los import necesitaba muchas más y he ido añadiendo hasta que tenía mil clases que no me hacian falta para el método que quería (move), bien me gustaría saber qué necesito exactamente porque ando más perdido......., tengo lo siguiente:
La acción:
Code: Select allpackage es.git.openkm;
import org.jbpm.graph.def.ActionHandler;
import org.jbpm.graph.exe.ExecutionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import es.git.openkm.api.OKMDocument;
public class MoverActionHandler implements ActionHandler {
private static final long serialVersionUID = 1L;
private static Logger log = LoggerFactory.getLogger(MoverActionHandler.class);
public MoverActionHandler() {
}
public void execute(ExecutionContext ctx) throws Exception {
String path = (String)ctx.getContextInstance().getVariable("path");
log.info("Path: "+path);
String token="r.espinosa";
log.info("Token: "+token);
OKMDocument.getInstance().move(token, path, "/okm:root/Neumaticos soledad/Departamentos/Informatica/pruebas/valido");
}
}
En este caso el tema de import org.slf4j lo que hice fue bajarlo y añadirlo al path a saco, bueno los jars de dentro, no sé si es lo correcto.
Aquí pongo la otra clase que tengo OKMFolder:
Code: Select allpackage es.git.openkm.api;
import java.util.Collection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import es.git.openkm.bean.ContentInfo;
import es.git.openkm.bean.Folder;
import es.git.openkm.module.FolderModule;
import es.git.openkm.module.ModuleManager;
public class OKMFolder implements FolderModule {
private static Logger log = LoggerFactory.getLogger(OKMFolder.class);
private static OKMFolder instance = new OKMFolder();
private OKMFolder() {}
public static OKMFolder getInstance() {
return instance;
}
@Override
public Folder create(String token, Folder fldPath) {
log.debug("create("+token+", " + fldPath + ")");
FolderModule fm = ModuleManager.getFolderModule();
Folder newFld = fm.create(token, fldPath);
log.debug("create: "+ newFld);
return newFld;
}
@Override
public Folder getProperties(String token, String fldPath) {
log.debug("getProperties("+token+", " + fldPath + ")");
FolderModule fm = ModuleManager.getFolderModule();
Folder fld = fm.getProperties(token, fldPath);
log.debug("getProperties: "+fld);
return fld;
}
@Override
public void delete(String token, String fldPath){
log.debug("delete("+token+", " + fldPath + ")");
FolderModule fm = ModuleManager.getFolderModule();
fm.delete(token, fldPath);
log.debug("delete: void");
}
@Override
public void purge(String token, String fldPath) {
log.debug("purge("+token+", " + fldPath + ")");
FolderModule fm = ModuleManager.getFolderModule();
fm.purge(token, fldPath);
log.debug("purge: void");
}
@Override
public Folder rename(String token, String fldPath, String newName) {
log.debug("rename("+token+", " + fldPath + ")");
FolderModule fm = ModuleManager.getFolderModule();
Folder renamedFolder = fm.rename(token, fldPath, newName);
log.debug("rename: "+renamedFolder);
return renamedFolder;
}
@Override
public void move(String token, String fldPath, String dstPath){
log.debug("move("+token+", " + fldPath + ", " + dstPath + ")");
FolderModule fm = ModuleManager.getFolderModule();
fm.move(token, fldPath, dstPath);
log.debug("move: void");
}
@Override
public void copy(String token, String fldPath, String dstPath) {
log.debug("copy("+token+", " + fldPath + ", " + dstPath + ")");
FolderModule fm = ModuleManager.getFolderModule();
fm.copy(token, fldPath, dstPath);
log.debug("copy: void");
}
@Override
public Collection<Folder> getChilds(String token, String fldPath) {
log.debug("getChilds(" + token + ", " + fldPath + ")");
FolderModule fm = ModuleManager.getFolderModule();
Collection<Folder> childs = fm.getChilds(token, fldPath);
log.debug("getChilds: "+childs);
return childs;
}
@Override
public ContentInfo getContentInfo(String token, String fldPath) {
log.debug("getContentInfo(" + token + ", " + fldPath + ")");
FolderModule fm = ModuleManager.getFolderModule();
ContentInfo contentInfo = fm.getContentInfo(token, fldPath);
log.debug("getContentInfo: "+contentInfo);
return contentInfo;
}
@Override
public boolean isValid(String token, String fldPath) {
log.debug("isValid("+token+", "+fldPath+")");
FolderModule fm = ModuleManager.getFolderModule();
boolean valid = fm.isValid(token, fldPath);
log.debug("isValid: "+valid);
return valid;
}
}
Por último tengo la clase DirectDocumentModule:
Code: Select allpackage es.git.openkm.module.direct;
import java.io.InputStream;
import java.util.Collection;
import es.git.openkm.bean.Document;
import es.git.openkm.bean.Lock;
import es.git.openkm.bean.Version;
import es.git.openkm.module.DocumentModule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class DirectDocumentModule implements DocumentModule {
private static Logger log = LoggerFactory.getLogger(DirectDocumentModule.class);
@Override
public void addNote(String token, String docPath, String text) {
// TODO Auto-generated method stub
}
@Override
public void cancelCheckout(String token, String docPath) {
// TODO Auto-generated method stub
}
@Override
public Version checkin(String token, String docPath, String comment) {
// TODO Auto-generated method stub
return null;
}
@Override
public void checkout(String token, String docPath) {
// TODO Auto-generated method stub
}
@Override
public void copy(String token, String docPath, String fldPath) {
// TODO Auto-generated method stub
}
@Override
public Document create(String token, Document doc, InputStream is) {
// TODO Auto-generated method stub
return null;
}
@Override
public void delete(String token, String docPath) {
// TODO Auto-generated method stub
}
@Override
public Collection<Document> getChilds(String token, String fldPath) {
// TODO Auto-generated method stub
return null;
}
@Override
public InputStream getContent(String token, String docPath, boolean checkout) {
// TODO Auto-generated method stub
return null;
}
@Override
public InputStream getContentByVersion(String token, String docPath,
String versionId) {
// TODO Auto-generated method stub
return null;
}
@Override
public Lock getLock(String token, String docPath) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getPath(String token, String uuid) {
log.debug("getPath(" + token + ", " + uuid + ")");
String path = null;
/*
Session session = SessionManager.getInstance().get(token);
Node node = session.getNodeByUUID(uuid);
if (node.isNodeType(Document.TYPE)) {
path = node.getPath();
}
log.debug("getPath: "+path);
*/
return path;
}
@Override
public Document getProperties(String token, String docPath) {
// TODO Auto-generated method stub
return null;
}
@Override
public Collection<Version> getVersionHistory(String token, String docPath) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getVersionHistorySize(String token, String docPath) {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean isCheckedOut(String token, String docPath) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isLocked(String token, String docPath) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isValid(String token, String docPath) {
// TODO Auto-generated method stub
return false;
}
@Override
public void lock(String token, String docPath) {
// TODO Auto-generated method stub
}
@Override
public void move(String token, String docPath, String fldPath) {
// TODO Auto-generated method stub
}
@Override
public void purge(String token, String docPath) {
// TODO Auto-generated method stub
}
@Override
public void purgeVersionHistory(String token, String docPath) {
// TODO Auto-generated method stub
}
@Override
public Document rename(String token, String docPath, String newName) {
// TODO Auto-generated method stub
return null;
}
@Override
public void restoreVersion(String token, String docPath, String versionId) {
// TODO Auto-generated method stub
}
@Override
public void setContent(String token, String docPath, InputStream is) {
// TODO Auto-generated method stub
}
@Override
public void setProperties(String token, Document doc) {
// TODO Auto-generated method stub
}
@Override
public void unlock(String token, String docPath) {
// TODO Auto-generated method stub
}
}
En fin hay cosas como comentario porque cada 2x3 me pide alguna clase, no sé si hay alguna forma de que se añadan todas las clases directamente o si se puede hacer un método a saco sin añadir tanta clase, no sé si me explico pero vamos, que estoy muy confundido creo yo.
Por cierto puse en el form lo que me pusiste y no me apareció en el apartado de datos en el flujo como dije, no sé por qué ponga lo que ponga no varia, sólo salen las variables que tuviera al crear el form poniendome en la task y generate form, en la ventanita que se abre tengo que poner las variables que sean o sino no aparecerán :S
De paso ¿cómo consigo librerías como import javax.jcr para session y demás :/?.
P.D: me bajé el source de OpenKM que lleva todas las clases y demás, si añado eso de alguna forma, ¿podré trabajar sin añadir nada más?, ¿lo añado todo a mi proyecto o no hace falta?