Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MODE-1965 Added explicit validation around mixin types not being able to inherit non-mixin types. #857

Merged
merged 1 commit into from Jun 19, 2013

Conversation

hchiorean
Copy link
Member

This exposed a number of problematic areas in some of our extensions, that had to be fixed:

  • teiid & ddl sequencer - both were using CNDs which defined mixins that inherited non-mixin types
  • CMIS connector - was registering (via NodeTypeTemplate) mixins that inherited from non-mixin types, but was really using them as primary types.


[ddl:operand] mixin abstract
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these 'abstract' keywords removed. It's important because we don't want these mixins to be used directly; instead, specific subtypes must be used.

@rhauch
Copy link
Contributor

rhauch commented Jun 18, 2013

The changes to the DDL sequencer are incorrect IMO. We need to keep the notion of some of the node types being 'abstract' so that they cannot directly be used as a node's primary type or mixin type.

@hchiorean
Copy link
Member Author

added back the abstract modifier on mixins, as it does apply and was removed incorrectly.

@@ -37,6 +37,9 @@
[xmi:referenceable] mixin
- xmi:uuid (string) mandatory

[xmi:model] > nt:unstructured, xmi:referenceable, mix:referenceable orderable
[xmi:model] > xmi:referenceable, mix:referenceable orderable mixin
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also not sure about this change. This wasn't a mixin, so it was okay for it to extend 'nt:unstructured' and other mixins at the same time. Remember, non-mixin node types can extend other non-mixins and mixins, but a mixin cannot extend a non-mixin.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rhauch rhauch merged commit c5c7254 into ModeShape:master Jun 19, 2013
@rhauch
Copy link
Contributor

rhauch commented Jun 19, 2013

Merged into the 'master' branch, and cherry-picked into the '3.3.x' branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants