Package org.exist.xquery.value

Examples of org.exist.xquery.value.ValueSequence


        }
        return result;
    }
   
    private Sequence getAllGroupMetadataKeys() throws XPathException {
        final ValueSequence result = new ValueSequence();  
        for(final SchemaType GROUP_METADATA_KEY : GROUP_METADATA_KEYS) {
            result.add(new AnyURIValue(GROUP_METADATA_KEY.getNamespace()));
        }
        return result;
    }
View Full Code Here


    }

    private Sequence getPrincipalMetadataKeys(final Principal principal) throws XPathException {
       
        final Set<SchemaType> metadataKeys = principal.getMetadataKeys();
        final Sequence seq = new ValueSequence(metadataKeys.size());
        for(final SchemaType schemaType : metadataKeys) {
            seq.add(new AnyURIValue(schemaType.getNamespace()));
        }
        return seq;
    }
View Full Code Here

            // already other items, we create a new one, add the elem, then
            // add the original items after
            if(result.isEmpty()) {
                doc.selectChildren(kind, result);
            } else {
                final ValueSequence newResult = new ValueSequence();               
                doc.selectChildren(kind, newResult);
                newResult.addAll(result);
                result = newResult;
            }
        } catch (final XPathException xpe) {
            throw new HttpClientException("Unable to add HttpResponse to result:" + xpe.getMessage(), xpe);
        }
View Full Code Here

        final SecurityManager securityManager = broker.getBrokerPool().getSecurityManager();
       
        final Sequence result;
       
        if(isCalledAs(qnListUsers.getLocalName())) {
            result = new ValueSequence();
            if(currentUser.getName().equals(SecurityManager.GUEST_USER)) {
                result.add(new StringValue(SecurityManager.GUEST_USER));
            } else {
                addUserNamesToSequence(securityManager.findAllUserNames(), result);
            }
        } else {
       
            if(currentUser.getName().equals(SecurityManager.GUEST_USER)) {
                throw new XPathException("You must be an authenticated user");
            }
           
            if(isCalledAs(qnUserExists.getLocalName())) {
                 final String username = args[0].getStringValue();
                 result = BooleanValue.valueOf(securityManager.hasAccount(username));
            } else {
                result = new ValueSequence();
                final String startsWith = args[0].getStringValue();

                final List<String> usernames;
                if(isCalledAs(qnFindUsersByUsername.getLocalName())) {
                    usernames = securityManager.findUsernamesWhereUsernameStarts(startsWith);
View Full Code Here

        return attrValue;
    }

    @Override
    public Sequence getContent() throws HttpClientException {
        org.exist.xquery.value.Sequence valueSequence = new ValueSequence();
       
        NodeList children = element.getNode().getChildNodes();
       
        try {
            for(int i = 0; i < children.getLength(); i++) {
                Node child = children.item(i);
                valueSequence.add((NodeValue)child);
            }
            return new EXistSequence(valueSequence, context);
        } catch(XPathException xpe) {
            throw new HttpClientException(xpe.getMessage(), xpe);
        }
View Full Code Here

            } else {
                compiled.getContext().updateContext(innerContext);
            }

            Sequence sequence = xqueryService.execute(compiled, exprContext, false);
            ValueSequence newSeq = new ValueSequence();
            newSeq.keepUnOrdered(unordered);
            boolean hasSupplements = false;
            for (int i = 0;  i < sequence.getItemCount(); i++) {
                //if (sequence.itemAt(i) instanceof StringValue) {
                if (Type.subTypeOf(sequence.itemAt(i).getType(),Type.STRING)) {
                    newSeq.add(new StringValue(((StringValue) sequence.itemAt(i)).getStringValue(true)));
                    hasSupplements = true;
                } else {
                    newSeq.add(sequence.itemAt(i));
                }
            }

            if(hasSupplements) {
                sequence = newSeq;
View Full Code Here

                        logger.warn(ioe.getMessage(), ioe);
                    }
                }
            } */

            final ValueSequence result = new ValueSequence();
            for (final File file : files) {
              result.add(BinaryValueFromFile.getInstance(context, new Base64BinaryValueType(), file));
            }

            return result;
        } else {
            throw new XPathException(this, "Variable $request is not bound to a Request object.");
View Full Code Here

      final RequestWrapper request = (RequestWrapper)value.getObject();
      final List<File> files = request.getFileUploadParam(uploadParamName);
      if(files == null) {
        return Sequence.EMPTY_SEQUENCE;
      }
      final ValueSequence result = new ValueSequence();
      for (final File file : files) {
        result.add(new DoubleValue(file.length()));
      }
      return result;
    } else
      {throw new XPathException(this, "Variable $request is not bound to a Request object.");}
  }
View Full Code Here

    } else if ("is-module-registered".equals(getSignature().getName().getLocalName())) {
      final String uri = args[0].getStringValue();
      final Module module = context.getModule(uri);
      return new BooleanValue(module != null);
        } else if ("mapped-modules".equals(getSignature().getName().getLocalName())) {
            final ValueSequence resultSeq = new ValueSequence();
            for (final Iterator<String> i = context.getMappedModuleURIs(); i.hasNext();) {
                resultSeq.add(new StringValue(i.next().toString()));
            }
            return resultSeq;
    } else if ("is-module-mapped".equals(getSignature().getName().getLocalName())) {
      final String uri = args[0].getStringValue();
      return new BooleanValue(((Map<String, String>)context.getBroker().getConfiguration().getProperty(XQueryContext.PROPERTY_STATIC_MODULE_MAP)).get(uri) != null);
    } else if ("map-module".equals(getSignature().getName().getLocalName())) {
      if (!context.getSubject().hasDbaRole()) {
        final XPathException xPathException = new XPathException(this, "Permission denied, calling user '" + context.getSubject().getName() + "' must be a DBA to call this function.");
        logger.error("Invalid user", xPathException);
        throw xPathException;
      }     
      final String namespace = args[0].getStringValue();
      final String location = args[1].getStringValue();
      final Map <String, String> moduleMap = (Map<String, String>)context.getBroker().getConfiguration().getProperty(XQueryContext.PROPERTY_STATIC_MODULE_MAP);
      moduleMap.put(namespace, location);
      return Sequence.EMPTY_SEQUENCE;
    } else if ("unmap-module".equals(getSignature().getName().getLocalName())) {
      if (!context.getSubject().hasDbaRole()) {
        final XPathException xPathException = new XPathException(this, "Permission denied, calling user '" + context.getSubject().getName() + "' must be a DBA to call this function.");
        logger.error("Invalid user", xPathException);
        throw xPathException;
      }     
      final String namespace = args[0].getStringValue();
      final Map <String, String> moduleMap = (Map<String, String>)context.getBroker().getConfiguration().getProperty(XQueryContext.PROPERTY_STATIC_MODULE_MAP);
      moduleMap.remove(namespace);
      return Sequence.EMPTY_SEQUENCE;
    } else if ("get-module-info".equals(getSignature().getName().getLocalName())) {
      context.pushDocumentContext();
     
      try {
        final MemTreeBuilder builder = context.getDocumentBuilder();
        builder.startElement(MODULES_QNAME, null);
       
        if (getArgumentCount() == 1) {
          final Module module = context.getModule(args[0].getStringValue());
          if (module != null)
            {outputModule(builder, module);}
        } else {
          for(final Iterator<Module> i = context.getRootModules(); i.hasNext(); ) {
            final Module module = i.next();
            outputModule(builder, module);
          }
        }
        return builder.getDocument().getNode(1);
      } finally {
        context.popDocumentContext();
      }
    } else {
      final ValueSequence resultSeq = new ValueSequence();
            final XQueryContext tempContext = new XQueryContext(context.getBroker().getBrokerPool(), AccessContext.XMLDB);
      for(final Iterator<Module> i = tempContext.getRootModules(); i.hasNext(); ) {
        final Module module = i.next();
        resultSeq.add(new StringValue(module.getNamespaceURI()));
      }
            for (final URI uri : tempContext.getRepository().getJavaModules()) {
                resultSeq.add(new StringValue(uri.toString()));
            }
      return resultSeq;
    }
  }
View Full Code Here

            }
            if(isCalledAs("get-user-primary-group")) {
                return new StringValue(user.getPrimaryGroup());
            }
            else if(isCalledAs("get-user-groups")) {
                final ValueSequence groups = new ValueSequence();
                final String[] gl = user.getGroups();
                for(int i = 0; i < gl.length; i++) {
                    groups.add(new StringValue(gl[i]));
                }
                return groups;
                // get-user-home
            } else {
                final XmldbURI home = XmldbURI.DB;
View Full Code Here

TOP

Related Classes of org.exist.xquery.value.ValueSequence

Copyright © 2018 www.massapicom. 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.