+ } else {
+ userNode = usersBase.getNode(uid);
+ }
+
+ if (!userNode.hasNode(USER_SESSIONS_NODE_NAME)) {
+ // Migrate existing user node
+ Node sessionsNode = userNode.addNode(USER_SESSIONS_NODE_NAME, NodeType.NT_UNSTRUCTURED);
+ oldSessions: for (NodeIterator nit = userNode.getNodes(); nit.hasNext();) {
+ Node child = nit.nextNode();
+ if (USER_SESSIONS_NODE_NAME.equals(child.getName()) || child.getName().startsWith("rep:")
+ || child.getName().startsWith("jcr:"))
+ continue oldSessions;
+ Node target = sessionsNode.addNode(child.getName());
+ JcrUtils.copy(child, target);
+ }
+
+ Node userStateNode = userNode.addNode(USER_STATE_NODE_NAME, NodeType.NT_UNSTRUCTURED);
+ Node userDevicesNode = userNode.addNode(USER_DEVICES_NODE_NAME, NodeType.NT_UNSTRUCTURED);
+