/*
- * Copyright (C) 2007-2012 Mathieu Baudier
+ * Copyright (C) 2007-2012 Argeo GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
}
}
+ /**
+ * Returns the base node to store SlcResults. If it does not exists, it is
+ * created. If a node already exists at the given path with the wrong type,
+ * it throws an exception.
+ *
+ * @param session
+ * @return
+ */
+ public static Node getSlcResultsParentNode(Session session) {
+ try {
+ String absPath = getSlcResultsBasePath(session);
+ if (session.nodeExists(absPath)) {
+ Node currNode = session.getNode(absPath);
+ if (currNode.isNodeType(NodeType.NT_UNSTRUCTURED))
+ return currNode;
+ else
+ throw new SlcException(
+ "A node already exists at this path : " + absPath
+ + " that has the wrong type. ");
+ } else {
+ Node slcResParNode = JcrUtils.mkdirs(session, absPath);
+ slcResParNode.setPrimaryType(NodeType.NT_UNSTRUCTURED);
+ session.save();
+ return slcResParNode;
+ }
+ } catch (RepositoryException re) {
+ throw new SlcException(
+ "Unexpected error while creating slcResult root parent node.",
+ re);
+ }
+ }
+
/**
* Returns the path to the current Result UI specific node, depending the
* current user
}
/**
- * Creates a new node with type NodeType.NT_UNSTRUCTURED at the given
- * absolute path. If a node already exists at the given path, returns that
- * node if it has the correct type and throws an exception otherwise.
+ * Creates a new node with type SlcTypes.SLC_MY_RESULT_ROOT_FOLDER at the
+ * given absolute path. If a node already exists at the given path, returns
+ * that node if it has the correct type and throws an exception otherwise.
*
* @param session
* @return
String absPath = getMyResultsBasePath(session);
if (session.nodeExists(absPath)) {
Node currNode = session.getNode(absPath);
- if (currNode.isNodeType(NodeType.NT_UNSTRUCTURED))
+ if (currNode.isNodeType(SlcTypes.SLC_MY_RESULT_ROOT_FOLDER))
return currNode;
else
throw new SlcException(
+ " that has the wrong type. ");
} else {
Node myResParNode = JcrUtils.mkdirs(session, absPath);
- myResParNode.setPrimaryType(NodeType.NT_UNSTRUCTURED);
+ myResParNode.setPrimaryType(SlcTypes.SLC_MY_RESULT_ROOT_FOLDER);
session.save();
return myResParNode;
}
}
Node rfNode = JcrUtils.mkdirs(session, absPath);
rfNode.setPrimaryType(SlcTypes.SLC_RESULT_FOLDER);
- Node statusNode = rfNode.addNode(SlcNames.SLC_STATUS,
+ Node statusNode = rfNode.addNode(SlcNames.SLC_AGGREGATED_STATUS,
SlcTypes.SLC_CHECK);
statusNode.setProperty(SlcNames.SLC_SUCCESS, true);
session.save();