@Override public void init(Map<String, String> parameters) { repositoryManager = new FileShareRepositoryManager(); userManager = new FileShareUserManager(); typeManager = new FileShareTypeManager(); wrapperManager = new CmisServiceWrapperManager(); wrapperManager.addWrappersFromServiceFactoryParameters(parameters); wrapperManager.addOuterWrapper( ConformanceCmisServiceWrapper.class, DEFAULT_MAX_ITEMS_TYPES, DEFAULT_DEPTH_TYPES, DEFAULT_MAX_ITEMS_OBJECTS, DEFAULT_DEPTH_OBJECTS); readConfiguration(parameters); }
@Override public CmisService getService(CallContext context) { // authenticate the user // if the authentication fails, authenticate() throws a // CmisPermissionDeniedException userManager.authenticate(context); // get service object for this thread CallContextAwareCmisService service = threadLocalService.get(); if (service == null) { // there is no service object for this thread -> create one FileShareCmisService fileShareService = new FileShareCmisService(repositoryManager); service = (CallContextAwareCmisService) wrapperManager.wrap(fileShareService); threadLocalService.set(service); } // hand over the call context to the service object service.setCallContext(context); return service; }