Semplice implementazione di un Data Service Client che si interfaccia con un server OpenCMIS.
- Aggiungere dipendenza :
<dependency>
<groupId>io.github.caffetteria</groupId>
<artifactId>data-service-opencmis</artifactId>
<version>${data-service-opencmis-version}</version>
</dependency>
- Definire le proprietà di configurazione :
testconfig.objectTypeId=cmis:document
testconfig.repositoryName = test
testconfig.bindingType = browser
testconfig.browserUrl = http://localhost:9000/cmis/browser
testconfig.user = user1
testconfig.password = cm1sp@ssword
testconfig.repositoryFolder = /
testconfig.setTitle = false
- Creazione e uso data service
// esempio di configurazione
// nota : e' possibile creare implementazioni personalizzate di OpencmisDataServiceConfig
Properties configProperties = ... caricamento configurazione ...
String configNamespace = "testconfig.";
ConfigParams config = new ConfigParamsDefault( configNamespace, configProperties );
// utilizzo
OpencmisDataService dataService = OpencmisDataService.newDataService( config );
String testString = "TEST";
try (InputStream saveIs = new ByteArrayInputStream( testString.getBytes() ) ) {
String dataId = dataService.save( saveIs );
try (InputStream loadIs = dataService.load( dataId ) ) {
String content = StreamIO.readString( loadIs );
log.info( "check save/load result : {} - {}", testString, content );
}
}
parametero | obbligatorio | default | note |
---|---|---|---|
objectTypeId | true | object id CMIS | |
repositoryName | true | nome del repository | |
bindingType | true | tipo di binding | |
browserUrl | true | obbligatorio se bindingType = browser | |
user | true | obbligatorio se bindingType = browser | |
password | true | obbligatorio se bindingType = browser | |
repositoryFolder | true | ||
setTitle | false | false | se 'true' imposta l'attributo 'title' sui documenti |
Il progetto è stato testato con l'immagine docker :
https://hub.docker.com/repository/docker/fugeritorg/opencmis/general
Basata sul repository :