+ Session session = repository.login(workspaceName);
+ processNewSession(session);
+ return session;
+ }
+
+ protected synchronized void processNewSession(Session session) {
+ try {
+ NamespaceHelper namespaceHelper = new NamespaceHelper(session);
+ namespaceHelper.registerNamespaces(namespaces);
+
+ for (byte[] arr : cnds)
+ CndImporter.registerNodeTypes(new InputStreamReader(
+ new ByteArrayInputStream(arr)), session, true);
+ } catch (Exception e) {
+ throw new ArgeoException("Cannot process new session", e);
+ }
+ }
+
+ public void setResourceLoader(ResourceLoader resourceLoader) {
+ this.resourceLoader = resourceLoader;
+ }
+
+ public boolean isStandardDescriptor(String key) {
+ return repository.isStandardDescriptor(key);
+ }
+
+ public boolean isSingleValueDescriptor(String key) {
+ return repository.isSingleValueDescriptor(key);
+ }
+
+ public Value getDescriptorValue(String key) {
+ return repository.getDescriptorValue(key);
+ }
+
+ public Value[] getDescriptorValues(String key) {
+ return repository.getDescriptorValues(key);