+ }\r
+\r
+ @Override\r
+ public ICollectionService getCollectionService(){\r
+ return collectionService;\r
+ }\r
+\r
+ @Override\r
+ public IFeatureTreeService getFeatureTreeService(){\r
+ return featureTreeService;\r
+ }\r
+\r
+ @Override\r
+ public IFeatureNodeService getFeatureNodeService(){\r
+ return featureNodeService;\r
+ }\r
+\r
+ @Override\r
+ public IVocabularyService getVocabularyService(){\r
+ return vocabularyService;\r
+ }\r
+\r
+ @Override\r
+ public IIdentificationKeyService getIdentificationKeyService(){\r
+ return identificationKeyService;\r
+ }\r
+\r
+ @Override\r
+ public IPolytomousKeyService getPolytomousKeyService(){\r
+ return polytomousKeyService;\r
+ }\r
+\r
+\r
+ @Override\r
+ public IPolytomousKeyNodeService getPolytomousKeyNodeService(){\r
+ return polytomousKeyNodeService;\r
+ }\r
+\r
+ /**\r
+ * {@inheritDoc}\r
+ */\r
+ @Override\r
+ public IProgressMonitorService getProgressMonitorService() {\r
+ return progressMonitorService;\r
+ }\r
+\r
+ @Override\r
+ public IWorkingSetService getWorkingSetService(){\r
+ return workingSetService;\r
+ }\r
+\r
+ @Override\r
+ public IGroupService getGroupService(){\r
+ return groupService;\r
+ }\r
+\r
+\r
+ @Override\r
+ public IEntityValidationService getEntityValidationService(){\r
+ return entityValidationService;\r
+ }\r
+\r
+\r
+ @Override\r
+ public IEntityConstraintViolationService getEntityConstraintViolationService(){\r
+ return entityConstraintViolationService;\r
+ }\r
+\r
+ @Override\r
+ public ICdmPermissionEvaluator getPermissionEvaluator(){\r
+ return permissionEvaluator;\r
+ }\r
+\r
+ @Override\r
+ public TransactionStatus startTransaction(){\r
+ return startTransaction(false);\r
+ }\r
+\r
+ @Override\r
+ public TransactionStatus startTransaction(Boolean readOnly){\r
+\r
+ PlatformTransactionManager txManager = getTransactionManager();\r
+\r
+ DefaultTransactionDefinition defaultTxDef = new DefaultTransactionDefinition();\r
+ defaultTxDef.setReadOnly(readOnly);\r
+ TransactionDefinition txDef = defaultTxDef;\r
+\r
+ // Log some transaction-related debug information.\r
+ if (logger.isDebugEnabled()) {\r
+ logger.debug("Transaction name = " + txDef.getName());\r
+ logger.debug("Transaction facets:");\r
+ logger.debug("Propagation behavior = " + txDef.getPropagationBehavior());\r
+ logger.debug("Isolation level = " + txDef.getIsolationLevel());\r
+ logger.debug("Timeout = " + txDef.getTimeout());\r
+ logger.debug("Read Only = " + txDef.isReadOnly());\r
+ // org.springframework.orm.hibernate5.HibernateTransactionManager\r
+ // provides more transaction/session-related debug information.\r
+ }\r
+\r
+ TransactionStatus txStatus = txManager.getTransaction(txDef);\r
+ return txStatus;\r
+ }\r
+\r
+\r
+ @Override\r
+ public void commitTransaction(TransactionStatus txStatus){\r
+ PlatformTransactionManager txManager = getTransactionManager();\r
+ txManager.commit(txStatus);\r
+ return;\r
+ }\r
+\r
+ @Override\r
+ public void authenticate(String username, String password){\r
+ UsernamePasswordAuthenticationToken tokenForUser = new UsernamePasswordAuthenticationToken(username, password);\r
+ Authentication authentication = this.getAuthenticationManager().authenticate(tokenForUser);\r
+ SecurityContext context = SecurityContextHolder.getContext();\r
+ context.setAuthentication(authentication);\r
+ }\r