[MGNLACTIVATION-20] CLONE - Activation problem with MixinType "lockable" Created: 20/Mar/13  Updated: 24/Jun/13  Resolved: 20/Mar/13

Status: Closed
Project: Activation
Component/s: None
Affects Version/s: None
Fix Version/s: 5.0

Type: Bug Priority: Critical
Reporter: Jaroslav Simak Assignee: Jaroslav Simak
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: XML File data.travelAgency.Koeln.ATLASREISEN_13009.employees.Ann-Kathrin-Wiesinger-22498.countries-1.xml     Text File error_log.txt    
Issue Links:
Cloners
clones MAGNOLIA-4875 Activation problem with MixinType "lo... Closed
relation
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled

 Description   

We have another problem on activating our content. The problem is that nodes which where created by the "NodeUtil.createPath" of the magnolia-core, don't have the MixinType "lockable". This will cause a output in the error log.
And we think it will also cause problems, if the Node can't be locked for activation.
So we created our own methode:

	public static Node getOrCreateNode(Node parent, String relPath, String primaryNodeTypeName) throws RepositoryException, PathNotFoundException, AccessDeniedException {
		return createPath(parent, relPath, primaryNodeTypeName, false);
	}

	public static Node createPath(Node parent, String relPath, String primaryNodeTypeName, boolean save) throws PathNotFoundException, ItemExistsException, VersionException, ConstraintViolationException, LockException, RepositoryException {
		// remove leading /
		String currentPath = StringUtils.removeStart(relPath, "/");

		if (StringUtils.isEmpty(currentPath)) {
			// Here we add the MixinType lockable
			parent.addMixin(JcrConstants.MIX_LOCKABLE);

			return parent;
		}

		Node root = parent;
		String[] names = currentPath.split("/");

		for (int i = 0; i < names.length; i++) {
			String name = names[i];
			if (root.hasNode(name)) {
				root = root.getNode(name);

				// Here we add the MixinType lockable
				root.addMixin(JcrConstants.MIX_LOCKABLE);
			} else {
				final Node newNode = root.addNode(name, primaryNodeTypeName);

				// Here we add the MixinType lockable
				root.addMixin(JcrConstants.MIX_LOCKABLE);

				if (save) {
					root.getSession().save();
				}
				root = newNode;
			}
		}
		return root;
	}

But the problem isn't solved. The MixinType is set to the Nodes (as you can see in the exported xml file) but the error still appear. The strange thing is, that it only appears at Nodes of the type "dataItemNode".
The affected Nodes are not activated.
I added a exported Node to this issue on which the activation problem happen.

Maybe it's a sub of http://jira.magnolia-cms.com/browse/MAGNOLIA-4872.

Thanks in advance.

Best regards


Generated at Sun Feb 11 22:58:52 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.