[ https://issues.apache.org/jira/browse/OAK-7479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16465618#comment-16465618 ]
Marcel Reutegger commented on OAK-7479: --------------------------------------- I'd say that's a violation of the spec and should be fixed. Can you please report a new issue about the wrong OPV behaviour? Thanks. > custom property does not respect type > -------------------------------------- > > Key: OAK-7479 > URL: https://issues.apache.org/jira/browse/OAK-7479 > Project: Jackrabbit Oak > Issue Type: Bug > Components: core > Affects Versions: 1.6.1, 1.8.1 > Environment: The repository is file system based: > {code:java} > File driveFile = new File(directory, "oakrepo"); > File repositoryFile = new File(driveFile, "repository"); > File dataStoreFile = new File(driveFile, "datastore"); > BlobStore blobStore = new FileBlobStore(dataStoreFile.getAbsolutePath()); > fileStore = > FileStoreBuilder.fileStoreBuilder(repositoryFile).withBlobStore(blobStore).build(); > nodeStore = SegmentNodeStoreBuilders.builder(fileStore).build(); > Jcr jcr = new Jcr(nodeStore); > repository = jcr.createRepository(); > {code} > Reporter: Marco Piovesana > Priority: Major > Attachments: oakRunImage.png > > > I've defined a custom mixin with s single *long* property. When I add that > mixin to a node I can set a value of a different type (e.g. *string*) without > any error. Same behaviour if I define the mixin using the {{customCND}} or > using the {{NodeTypeTemplate.}} > Here the code example: > {code:java} > NodeTypeManager nodeTypeManager = session.getWorkspace().getNodeTypeManager(); > NodeTypeTemplate nt = nodeTypeManager.createNodeTypeTemplate(); > nt.setName("custom:runtime"); > nt.setMixin(true); > PropertyDefinitionTemplate opt = > nodeTypeManager.createPropertyDefinitionTemplate(); > opt.setMandatory(false); > opt.setName("custom:runtimeTest"); > opt.setRequiredType(PropertyType.LONG); > opt.setOnParentVersion(OnParentVersionAction.COPY); > List pdt = nt.getPropertyDefinitionTemplates(); > pdt.add(opt); > nodeTypeManager.registerNodeType(nt, true); > session.save(); > Node mynode = JcrUtils.getOrAddNode(session.getRootNode(), "mynode"); > mynode.addMixin("custom:runtime"); > session.save(); > mynode.setProperty("custom:runtimeTest", "my test value"); > session.save();{code} > If I open the repository using oak-run the property {{custom:runtimeTest}} > has type STRING and not LONG (attached image) -- This message was sent by Atlassian JIRA (v7.6.3#76005)