Examples of DerefQueryNode


Examples of org.apache.jackrabbit.spi.commons.query.DerefQueryNode

                        PathQueryNode pathNode = (PathQueryNode) queryNode;

                        pathNode.addPathStep(createDerefQueryNode(node, descendant, pathNode));
                    } else if (queryNode.getType() == QueryNode.TYPE_RELATION) {
                        RelationQueryNode relNode = (RelationQueryNode) queryNode;
                        DerefQueryNode deref = createDerefQueryNode(node, descendant, relNode.getRelativePath());
                        relNode.getRelativePath().addPathStep(deref);
                    } else {
                        exceptions.add(new InvalidQueryException("Unsupported location for jcr:deref()"));
                    }
                }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.query.DerefQueryNode

        return queryNode;
    }

    private DerefQueryNode createDerefQueryNode(SimpleNode node, boolean descendant, QueryNode pathNode)
        throws NamespaceException {
        DerefQueryNode derefNode = factory.createDerefQueryNode(pathNode, null, false);

        // assign property name
        node.jjtGetChild(1).jjtAccept(this, derefNode);
        // check property name
        if (derefNode.getRefProperty() == null) {
            exceptions.add(new InvalidQueryException("Wrong first argument type for jcr:deref"));
        }

        SimpleNode literal = (SimpleNode) node.jjtGetChild(2).jjtGetChild(0);
        if (literal.getId() == JJTSTRINGLITERAL) {
            String value = literal.getValue();
            // strip quotes
            value = value.substring(1, value.length() - 1);
            if (!value.equals("*")) {
                Name name = null;
                try {
                    name = decode(resolver.getQName(value));
                } catch (NameException e) {
                    exceptions.add(new InvalidQueryException("Illegal name: " + value));
                }
                derefNode.setNameTest(name);
            }
        } else {
            exceptions.add(new InvalidQueryException("Second argument for jcr:deref must be a String"));
        }

        // check if descendant
        if (!descendant) {
            Node p = node.jjtGetParent();
            for (int i = 0; i < p.jjtGetNumChildren(); i++) {
                SimpleNode c = (SimpleNode) p.jjtGetChild(i);
                if (c == node) {
                    break;
                }
                descendant = (c.getId() == JJTSLASHSLASH
                        || c.getId() == JJTROOTDESCENDANTS);
            }
        }
        derefNode.setIncludeDescendants(descendant);
        return derefNode;
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.query.DerefQueryNode

                        PathQueryNode pathNode = (PathQueryNode) queryNode;
                       
                        pathNode.addPathStep(createDerefQueryNode(node, descendant, pathNode));
                    } else if (queryNode.getType() == QueryNode.TYPE_RELATION) {
                        RelationQueryNode relNode = (RelationQueryNode) queryNode;
                        DerefQueryNode deref = createDerefQueryNode(node, descendant, relNode.getRelativePath());
                        relNode.getRelativePath().addPathStep(deref);
                    } else {
                        exceptions.add(new InvalidQueryException("Unsupported location for jcr:deref()"));
                    }
                }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.query.DerefQueryNode

        return queryNode;
    }

    private DerefQueryNode createDerefQueryNode(SimpleNode node, boolean descendant, QueryNode pathNode)
        throws NamespaceException {
        DerefQueryNode derefNode = factory.createDerefQueryNode(pathNode, null, false);

        // assign property name
        node.jjtGetChild(1).jjtAccept(this, derefNode);
        // check property name
        if (derefNode.getRefProperty() == null) {
            exceptions.add(new InvalidQueryException("Wrong first argument type for jcr:deref"));
        }

        SimpleNode literal = (SimpleNode) node.jjtGetChild(2).jjtGetChild(0);
        if (literal.getId() == JJTSTRINGLITERAL) {
            String value = literal.getValue();
            // strip quotes
            value = value.substring(1, value.length() - 1);
            if (!value.equals("*")) {
                Name name = null;
                try {
                    name = decode(resolver.getQName(value));
                } catch (NameException e) {
                    exceptions.add(new InvalidQueryException("Illegal name: " + value));
                }
                derefNode.setNameTest(name);
            }
        } else {
            exceptions.add(new InvalidQueryException("Second argument for jcr:deref must be a String"));
        }

        // check if descendant
        if (!descendant) {
            Node p = node.jjtGetParent();
            for (int i = 0; i < p.jjtGetNumChildren(); i++) {
                SimpleNode c = (SimpleNode) p.jjtGetChild(i);
                if (c == node) {
                    break;
                }
                descendant = (c.getId() == JJTSLASHSLASH
                        || c.getId() == JJTROOTDESCENDANTS);
            }
        }
        derefNode.setIncludeDescendants(descendant);
        return derefNode;
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.query.DerefQueryNode

                        PathQueryNode pathNode = (PathQueryNode) queryNode;
                       
                        pathNode.addPathStep(createDerefQueryNode(node, descendant, pathNode));
                    } else if (queryNode.getType() == QueryNode.TYPE_RELATION) {
                        RelationQueryNode relNode = (RelationQueryNode) queryNode;
                        DerefQueryNode deref = createDerefQueryNode(node, descendant, relNode.getRelativePath());
                        relNode.getRelativePath().addPathStep(deref);
                    } else {
                        exceptions.add(new InvalidQueryException("Unsupported location for jcr:deref()"));
                    }
                }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.query.DerefQueryNode

        return queryNode;
    }

    private DerefQueryNode createDerefQueryNode(SimpleNode node, boolean descendant, QueryNode pathNode)
        throws NamespaceException {
        DerefQueryNode derefNode = factory.createDerefQueryNode(pathNode, null, false);

        // assign property name
        node.jjtGetChild(1).jjtAccept(this, derefNode);
        // check property name
        if (derefNode.getRefProperty() == null) {
            exceptions.add(new InvalidQueryException("Wrong first argument type for jcr:deref"));
        }

        SimpleNode literal = (SimpleNode) node.jjtGetChild(2).jjtGetChild(0);
        if (literal.getId() == JJTSTRINGLITERAL) {
            String value = literal.getValue();
            // strip quotes
            value = value.substring(1, value.length() - 1);
            if (!value.equals("*")) {
                Name name = null;
                try {
                    name = decode(resolver.getQName(value));
                } catch (NameException e) {
                    exceptions.add(new InvalidQueryException("Illegal name: " + value));
                }
                derefNode.setNameTest(name);
            }
        } else {
            exceptions.add(new InvalidQueryException("Second argument for jcr:deref must be a String"));
        }

        // check if descendant
        if (!descendant) {
            Node p = node.jjtGetParent();
            for (int i = 0; i < p.jjtGetNumChildren(); i++) {
                SimpleNode c = (SimpleNode) p.jjtGetChild(i);
                if (c == node) {
                    break;
                }
                descendant = (c.getId() == JJTSLASHSLASH
                        || c.getId() == JJTROOTDESCENDANTS);
            }
        }
        derefNode.setIncludeDescendants(descendant);
        return derefNode;
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.query.DerefQueryNode

                        queryNode = loc.getParent();
                        ((NAryQueryNode) queryNode).removeOperand(loc);
                    }
                    if (queryNode.getType() == QueryNode.TYPE_PATH) {
                        PathQueryNode pathNode = (PathQueryNode) queryNode;
                        DerefQueryNode derefNode = factory.createDerefQueryNode(pathNode, null, false);

                        // assign property name
                        node.jjtGetChild(1).jjtAccept(this, derefNode);
                        // check property name
                        if (derefNode.getRefProperty() == null) {
                            exceptions.add(new InvalidQueryException("Wrong first argument type for jcr:deref"));
                        }

                        SimpleNode literal = (SimpleNode) node.jjtGetChild(2).jjtGetChild(0);
                        if (literal.getId() == JJTSTRINGLITERAL) {
                            String value = literal.getValue();
                            // strip quotes
                            value = value.substring(1, value.length() - 1);
                            if (!value.equals("*")) {
                                Name name = null;
                                try {
                                    name = decode(resolver.getQName(value));
                                } catch (NameException e) {
                                    exceptions.add(new InvalidQueryException("Illegal name: " + value));
                                }
                                derefNode.setNameTest(name);
                            }
                        } else {
                            exceptions.add(new InvalidQueryException("Second argument for jcr:deref must be a String"));
                        }

                        // check if descendant
                        if (!descendant) {
                            Node p = node.jjtGetParent();
                            for (int i = 0; i < p.jjtGetNumChildren(); i++) {
                                SimpleNode c = (SimpleNode) p.jjtGetChild(i);
                                if (c == node) {
                                    break;
                                }
                                descendant = (c.getId() == JJTSLASHSLASH
                                        || c.getId() == JJTROOTDESCENDANTS);
                            }
                        }
                        derefNode.setIncludeDescendants(descendant);
                        pathNode.addPathStep(derefNode);
                    } else {
                        exceptions.add(new InvalidQueryException("Unsupported location for jcr:deref()"));
                    }
                }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.query.DerefQueryNode

                        queryNode = loc.getParent();
                        ((NAryQueryNode) queryNode).removeOperand(loc);
                    }
                    if (queryNode.getType() == QueryNode.TYPE_PATH) {
                        PathQueryNode pathNode = (PathQueryNode) queryNode;
                        DerefQueryNode derefNode = factory.createDerefQueryNode(pathNode, null, false);

                        // assign property name
                        node.jjtGetChild(1).jjtAccept(this, derefNode);
                        // check property name
                        if (derefNode.getRefProperty() == null) {
                            exceptions.add(new InvalidQueryException("Wrong first argument type for jcr:deref"));
                        }

                        SimpleNode literal = (SimpleNode) node.jjtGetChild(2).jjtGetChild(0);
                        if (literal.getId() == JJTSTRINGLITERAL) {
                            String value = literal.getValue();
                            // strip quotes
                            value = value.substring(1, value.length() - 1);
                            if (!value.equals("*")) {
                                Name name = null;
                                try {
                                    name = decode(resolver.getQName(value));
                                } catch (NameException e) {
                                    exceptions.add(new InvalidQueryException("Illegal name: " + value));
                                }
                                derefNode.setNameTest(name);
                            }
                        } else {
                            exceptions.add(new InvalidQueryException("Second argument for jcr:deref must be a String"));
                        }

                        // check if descendant
                        if (!descendant) {
                            Node p = node.jjtGetParent();
                            for (int i = 0; i < p.jjtGetNumChildren(); i++) {
                                SimpleNode c = (SimpleNode) p.jjtGetChild(i);
                                if (c == node) {
                                    break;
                                }
                                descendant = (c.getId() == JJTSLASHSLASH
                                        || c.getId() == JJTROOTDESCENDANTS);
                            }
                        }
                        derefNode.setIncludeDescendants(descendant);
                        pathNode.addPathStep(derefNode);
                    } else {
                        exceptions.add(new InvalidQueryException("Unsupported location for jcr:deref()"));
                    }
                }
View Full Code Here

Examples of org.exoplatform.services.jcr.impl.core.query.DerefQueryNode

                        queryNode = loc.getParent();
                        ((NAryQueryNode) queryNode).removeOperand(loc);
                    }
                    if (queryNode.getType() == QueryNode.TYPE_PATH) {
                        PathQueryNode pathNode = (PathQueryNode) queryNode;
                        DerefQueryNode derefNode = factory.createDerefQueryNode(pathNode, null, false);

                        // assign property name
                        node.jjtGetChild(1).jjtAccept(this, derefNode);
                        // check property name
                        if (derefNode.getRefProperty() == null) {
                            exceptions.add(new InvalidQueryException("Wrong first argument type for jcr:deref"));
                        }

                        SimpleNode literal = (SimpleNode) node.jjtGetChild(2).jjtGetChild(0);
                        if (literal.getId() == JJTSTRINGLITERAL) {
                            String value = literal.getValue();
                            // strip quotes
                            value = value.substring(1, value.length() - 1);
                            if (!value.equals("*")) {
                                InternalQName name = null;
                                try {
                                   name = decode(resolver.parseJCRName(value).getInternalName());
                                } catch (RepositoryException e) {
                                    exceptions.add(new InvalidQueryException("Illegal name: " + value));
                                }
                                derefNode.setNameTest(name);
                            }
                        } else {
                            exceptions.add(new InvalidQueryException("Second argument for jcr:deref must be a String"));
                        }

                        // check if descendant
                        if (!descendant) {
                            Node p = node.jjtGetParent();
                            for (int i = 0; i < p.jjtGetNumChildren(); i++) {
                                SimpleNode c = (SimpleNode) p.jjtGetChild(i);
                                if (c == node) { // NOSONAR
                                    break;
                                }
                                descendant = (c.getId() == JJTSLASHSLASH
                                        || c.getId() == JJTROOTDESCENDANTS);
                            }
                        }
                        derefNode.setIncludeDescendants(descendant);
                        pathNode.addPathStep(derefNode);
                    } else {
                        exceptions.add(new InvalidQueryException("Unsupported location for jcr:deref()"));
                    }
                }
View Full Code Here

Examples of org.exoplatform.services.jcr.impl.core.query.DerefQueryNode

                  ((NAryQueryNode) queryNode).removeOperand(loc);
               }
               if (queryNode.getType() == QueryNode.TYPE_PATH)
               {
                  PathQueryNode pathNode = (PathQueryNode) queryNode;
                  DerefQueryNode derefNode = factory.createDerefQueryNode(pathNode, null, false);

                  // assign property name
                  node.jjtGetChild(1).jjtAccept(this, derefNode);
                  // check property name
                  if (derefNode.getRefProperty() == null)
                  {
                     exceptions.add(new InvalidQueryException("Wrong first argument type for jcr:deref"));
                  }

                  SimpleNode literal = (SimpleNode) node.jjtGetChild(2).jjtGetChild(0);
                  if (literal.getId() == JJTSTRINGLITERAL)
                  {
                     String value = literal.getValue();
                     // strip quotes
                     value = value.substring(1, value.length() - 1);
                     if (!value.equals("*"))
                     {
                        InternalQName name = null;
                        try
                        {
                           name = decode(resolver.parseJCRName(value).getInternalName());
                        }
                        catch (RepositoryException e)
                        {
                           exceptions.add(new InvalidQueryException("Illegal name: " + value));
                        }
                        derefNode.setNameTest(name);
                     }
                  }
                  else
                  {
                     exceptions.add(new InvalidQueryException("Second argument for jcr:deref must be a String"));
                  }

                  // check if descendant
                  if (!descendant)
                  {
                     Node p = node.jjtGetParent();
                     for (int i = 0; i < p.jjtGetNumChildren(); i++)
                     {
                        SimpleNode c = (SimpleNode) p.jjtGetChild(i);
                        if (c == node)
                        {
                           break;
                        }
                        descendant = (c.getId() == JJTSLASHSLASH || c.getId() == JJTROOTDESCENDANTS);
                     }
                  }
                  derefNode.setIncludeDescendants(descendant);
                  pathNode.addPathStep(derefNode);
               }
               else
               {
                  exceptions.add(new InvalidQueryException("Unsupported location for jcr:deref()"));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.