⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setpropertyconstraintviolationexceptiontest.java

📁 jsr170接口的java实现。是个apache的开源项目。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            fail("setProperty(String name, Value value) must throw a " +                    "ConstraintViolationException if the change would violate a " +                    "node type constraint either immediately or on save");        } catch (ConstraintViolationException e) {            // success        }    }    /**     * Tests if setProperty(String name, InputStream value) and     * setProperty(String name, Value value) where value is a BinaryValue throw     * a ConstraintViolationException either immediately (by setProperty()), or     * on save, if the change would violate a node type constraint     */    public void testBinaryProperty()            throws NotExecutableException, RepositoryException {        // locate a PropertyDefinition with ValueConstraints        PropertyDefinition propDef =                NodeTypeUtil.locatePropertyDef(superuser, PropertyType.BINARY, false, false, true, false);        if (propDef == null) {            throw new NotExecutableException("No binary property def with " +                    "testable value constraints has been found");        }        // find a Value that does not satisfy the ValueConstraints of propDef        Value valueNotSatisfied1 = NodeTypeUtil.getValueAccordingToValueConstraints(superuser, propDef, false);        Value valueNotSatisfied2 = NodeTypeUtil.getValueAccordingToValueConstraints(superuser, propDef, false);        if (valueNotSatisfied1 == null || valueNotSatisfied2 == null) {            throw new NotExecutableException("No binary property def with " +                    "testable value constraints has been found");        }        // create a sub node of testRootNode of type propDef.getDeclaringNodeType()        Node node;        try {            String nodeType = propDef.getDeclaringNodeType().getName();            node = testRootNode.addNode(nodeName2, nodeType);            testRootNode.save();        } catch (ConstraintViolationException e) {            // implementation specific constraints do not allow to set up test environment            throw new NotExecutableException("Not able to create required test items.");        }        // test of signature setProperty(String name, InputStream value)        InputStream in = valueNotSatisfied1.getStream();        try {            node.setProperty(propDef.getName(), in);            node.save();            fail("setProperty(String name, InputStream value) must throw a " +                    "ConstraintViolationException if the change would violate a " +                    "node type constraint either immediately or on save");        } catch (ConstraintViolationException e) {            // success        } finally {            try {                in.close();            } catch (IOException ignore) {}        }        // test of signature setProperty(String name, Value value)        try {            node.setProperty(propDef.getName(), valueNotSatisfied2);            node.save();            fail("setProperty(String name, Value value) must throw a " +                    "ConstraintViolationException if the change would violate a " +                    "node type constraint either immediately or on save");        } catch (ConstraintViolationException e) {            // success        }    }    /**     * Tests if setProperty(String name, long value) and setProperty(String     * name, Value value) where value is a LongValue throw a     * ConstraintViolationException either immediately (by setProperty()), or on     * save, if the change would violate a node type constraint     */    public void testLongProperty()            throws NotExecutableException, RepositoryException {        // locate a PropertyDefinition with ValueConstraints        PropertyDefinition propDef =                NodeTypeUtil.locatePropertyDef(superuser, PropertyType.LONG, false, false, true, false);        if (propDef == null) {            throw new NotExecutableException("No long property def with " +                    "testable value constraints has been found");        }        // find a Value that does not satisfy the ValueConstraints of propDef        Value valueNotSatisfied = NodeTypeUtil.getValueAccordingToValueConstraints(superuser, propDef, false);        if (valueNotSatisfied == null) {            throw new NotExecutableException("No long property def with " +                    "testable value constraints has been found");        }        // create a sub node of testRootNode of type propDef.getDeclaringNodeType()        Node node;        try {            String nodeType = propDef.getDeclaringNodeType().getName();            node = testRootNode.addNode(nodeName2, nodeType);            testRootNode.save();        } catch (ConstraintViolationException e) {            // implementation specific constraints do not allow to set up test environment            throw new NotExecutableException("Not able to create required test items.");        }        // test of signature setProperty(String name, long value)        try {            node.setProperty(propDef.getName(), valueNotSatisfied.getLong());            node.save();            fail("setProperty(String name, long value) must throw a " +                    "ConstraintViolationException if the change would violate a " +                    "node type constraint either immediately or on save");        } catch (ConstraintViolationException e) {            // success        }        // test of signature setProperty(String name, Value value)        try {            node.setProperty(propDef.getName(), valueNotSatisfied);            node.save();            fail("setProperty(String name, Value value) must throw a " +                    "ConstraintViolationException if the change would violate a " +                    "node type constraint either immediately or on save");        } catch (ConstraintViolationException e) {            // success        }    }    /**     * Tests if setProperty(String name, Node value) and setProperty(String     * name, Value value) where value is a ReferenceValue throw a     * ConstraintViolationException either immediately (by setProperty()), or on     * save, if the change would violate a node type constraint     */    public void testReferenceProperty()            throws NotExecutableException, RepositoryException {        // locate a PropertyDefinition with ValueConstraints        PropertyDefinition propDef =                NodeTypeUtil.locatePropertyDef(superuser, PropertyType.REFERENCE, false, false, true, false);        if (propDef == null) {            throw new NotExecutableException("No reference property def with " +                    "testable value constraints has been found");        }        String constraints[] = propDef.getValueConstraints();        String nodeTypeNotSatisfied = null;        NodeTypeManager manager = superuser.getWorkspace().getNodeTypeManager();        NodeTypeIterator types = manager.getAllNodeTypes();        // find a NodeType which is not satisfying the constraints        findNodeTypeNotSatisfied:            while (types.hasNext()) {                NodeType type = types.nextNodeType();                String name = type.getName();                for (int i = 0; i < constraints.length; i++) {                    if (name.equals(constraints[i])) {                        continue findNodeTypeNotSatisfied;                    }                    nodeTypeNotSatisfied = name;                    break findNodeTypeNotSatisfied;                }            }        if (nodeTypeNotSatisfied == null) {            throw new NotExecutableException("No reference property def with " +                    "testable value constraints has been found");        }        // create a sub node of testRootNode of type propDef.getDeclaringNodeType()        Node node;        Node nodeNotSatisfied;        try {            String nodeType = propDef.getDeclaringNodeType().getName();            node = testRootNode.addNode(nodeName2, nodeType);            // create a referenceable node not satisfying the constraint            nodeNotSatisfied = testRootNode.addNode(nodeName4, nodeTypeNotSatisfied);            nodeNotSatisfied.addMixin(mixReferenceable);            testRootNode.save();        } catch (ConstraintViolationException e) {            // implementation specific constraints do not allow to set up test environment            throw new NotExecutableException("Not able to create required test items.");        }        // test of signature setProperty(String name, Node value)        try {            node.setProperty(propDef.getName(), nodeNotSatisfied);            node.save();            fail("setProperty(String name, Node value) must throw a " +                    "ConstraintViolationException if the change would violate a " +                    "node type constraint either immediately or on save");        } catch (ConstraintViolationException e) {            // success        }        // test of signature setProperty(String name, Value value)        try {            node.setProperty(propDef.getName(), superuser.getValueFactory().createValue(nodeNotSatisfied));            node.save();            fail("setProperty(String name, Value value) must throw a " +                    "ConstraintViolationException if the change would violate a " +                    "node type constraint either immediately or on save");        } catch (ConstraintViolationException e) {            // success        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -