AnsweredAssumed Answered

Criar sessão cmis

Question asked by patricia.lopes on Jan 22, 2018
Latest reply on Jan 22, 2018 by douglascrp

Tentei criar um conector cmis no bonita soft versão 5.9.1 e quando tento criar um sessão devolve o seguinte erro.

 

java.lang.NoClassDefFoundError: org/apache/chemistry/opencmis/client/runtime/SessionFactoryImpl
java.lang.ClassNotFoundException: org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl in classloader MyExtensionsClassLoader

 

No conector tenho o seguinte código

 

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import org.apache.chemistry.opencmis.client.api.Repository;
import org.apache.chemistry.opencmis.client.api.Session;
import org.apache.chemistry.opencmis.client.api.SessionFactory;
import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl;
import org.apache.chemistry.opencmis.commons.SessionParameter;
import org.apache.chemistry.opencmis.commons.enums.BindingType;
import org.ow2.bonita.connector.core.ConnectorError;
import org.ow2.bonita.connector.core.ProcessConnector;


public class CMISTESTE extends ProcessConnector {

// DO NOT REMOVE NOR RENAME THIS FIELD
public String password;
// DO NOT REMOVE NOR RENAME THIS FIELD
public String username;
public String resultado;

private static Map<String, Session> connections = new ConcurrentHashMap<String, Session>();


@Override
protected void executeConnector() throws Exception {
// TODO Auto-generated method stub
getSession( username, password);
}

public String getSession(String username, String password) {

System.out.println("Metodo CreateSession");

// Ver se existe uma sessão existente para o utilizador
Session session = connections.get(username);

// Criar uma nova sessão no Alfresco
if (session == null) {
System.out.println("Not connected, creating new connection to" + " Alfresco with the connection id (" + username
+ ")");

// Implementação da fabrica padrão
SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
Map<String, String> parameters = new HashMap<String, String>();

// Parametros para a conecção
parameters.put(SessionParameter.USER, username);
parameters.put(SessionParameter.PASSWORD, password);
parameters.put(SessionParameter.ATOMPUB_URL,"http://localhost:8089/alfresco/cmisatom");
parameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
//parameters.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");

// Recebe a lista de repositorios fornecidos pelo endpoint
List<Repository> repositories = sessionFactory.getRepositories(parameters);

// Como só é devolvido um repositorio, irá estar na posição 0
Repository alfrescoRepository = null;
alfrescoRepository = repositories.get(0);

// Criar conecção com o repositorio
session = alfrescoRepository.createSession();

// Salvar coneção
connections.put(username, session);

} else {
System.out.println("Already connected to Alfresco with the " + "connection id (" + username + ")");
}
resultado="OK";
return resultado;
}

@Override
protected List<ConnectorError> validateValues() {
// TODO Auto-generated method stub
return null;
}

/**
* Setter for input argument 'password'
* DO NOT REMOVE NOR RENAME THIS SETTER, unless you also change the related entry in the XML descriptor file
*/
public void setPassword(java.lang.String password) {
this.password = password;
}

/**
* Setter for input argument 'username'
* DO NOT REMOVE NOR RENAME THIS SETTER, unless you also change the related entry in the XML descriptor file
*/
public void setUsername(java.lang.String username) {
this.username = username;
}

/**
* Getter for output argument 'resultado'
* DO NOT REMOVE NOR RENAME THIS GETTER, unless you also change the related entry in the XML descriptor file
*/
public java.lang.String getResultado() {
// TODO Add return value for the output here
return this.resultado;
}

}

 

 

 

 

Como devo corrigir?

Outcomes