Package org.exist.dom

Examples of org.exist.dom.QName


            for (int i = 0; i < nodes.length; i++) {
                switch (nodes[i].nodeType) {
                    case XMLStreamReader.ATTRIBUTE:
                        attribs = new AttrList();
                        AttrImpl attr = (AttrImpl) broker.objectWith(otherDoc, nodes[i].nodeId);
                        attribs.addAttribute(new QName(attr.getLocalName(), attr.getNamespaceURI(), attr.getPrefix()),
                                attr.getValue(), attr.getType());
                        handler.startElement(ELEMENT_ATTRIBUTE, attribs);
                        handler.endElement(ELEMENT_ATTRIBUTE);
                        break;
                    case XMLStreamReader.START_ELEMENT:
View Full Code Here


//                }
//            }
            context.proceed(this, builder);

            // evaluate element tag name
          QName qn = null;
          String tagName = name;
          Sequence qnameSeq = null;
            if (qnameExpr != null)
              qnameSeq = qnameExpr.eval(contextSequence, contextItem);
//            else
View Full Code Here

                doc.getMetadata().setIndexListener(listener);
                parent = (NodeImpl) node.getParentNode();
                switch (node.getNodeType()) {
                    case Node.ELEMENT_NODE:
                        final ElementImpl newElem = new ElementImpl((ElementImpl) node);
                        newElem.setNodeName(new QName(newName, "", null));
                        parent.updateChild(transaction, node, newElem);
                        modificationCount++;
                        break;
                    case Node.ATTRIBUTE_NODE:
                        final AttrImpl newAttr = new AttrImpl((AttrImpl) node);
                        newAttr.setNodeName(new QName(newName, "", null));
                        parent.updateChild(transaction, node, newAttr);
                        modificationCount++;
                        break;
                    default:
                        throw new EXistException("unsupported node-type");
View Full Code Here

        }

        MemTreeBuilder builder = context.getDocumentBuilder();

        builder.startDocument();
        builder.startElement(new QName("messages", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);

        try {
            int counter = args[1].getItemCount();
            for (int i = 0; i < counter; i++) {
                Message message = null;
                int msgNum = ((IntegerValue)args[1].itemAt(i)).getInt();
                try {
                    message = folder.getMessage(msgNum); // get the requested message number
                } catch (IndexOutOfBoundsException iex) {
                    logger.info("There is no message number " + msgNum);
                    continue;
                }


                builder.startElement(new QName("message", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
                builder.addAttribute(new QName("number", null, null), String.valueOf(message.getMessageNumber()));

                String contentType = message.getContentType();
                mimeParamsToAttributes(builder, contentType);


                // Subject
                builder.startElement( new QName( "subject", MailModule.NAMESPACE_URI, MailModule.PREFIX ), null );
                builder.characters( message.getSubject() );
                builder.endElement();

                // Sent Date
                if (message.getSentDate() != null) {
                    builder.startElement(new QName("sent", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
                    builder.characters(formatDate(message.getSentDate()));
                    builder.endElement();
                }

                // Received Date
                if (message.getReceivedDate() != null) {
                    builder.startElement(new QName("received", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
                    builder.characters(formatDate(message.getReceivedDate()));
                    builder.endElement();
                }

                // From
                if (message.getFrom() != null) {
                    addAddress(builder,"from", null, message.getFrom()[0]);
                }

                // Recipients
                builder.startElement(new QName("recipients", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
                // To Recipients
                Address[] toAddresses = message.getRecipients(Message.RecipientType.TO);
                if (toAddresses != null) {
                    for (Address to : toAddresses) {
                        addAddress(builder, "recipient","to",to);
                    }
                }

                // cc Recipients
                Address[] ccAddresses = message.getRecipients(Message.RecipientType.CC);
                if (ccAddresses != null) {
                    for (Address ccAddress : ccAddresses) {
                        addAddress(builder,"recipient", "cc", ccAddress);
                    }
                }

                // bcc Recipients
                Address[] bccAddresses = message.getRecipients(Message.RecipientType.BCC);
                if (bccAddresses != null) {
                    for (Address bccAddress : bccAddresses) {
                        addAddress(builder,"recipient", "bcc", bccAddress);
                    }
                }
                builder.endElement(); // recipients

                // Handle the content
                Object content = message.getContent();
                if (content instanceof Multipart) {
                    handleMultipart((Multipart)content, builder);
                } else {
                    handlePart(message, builder);
                }

                // Flags
                Flags flags = message.getFlags();
                Flags.Flag[] systemFlags = flags.getSystemFlags();
                String[] userFlags = flags.getUserFlags();

                if (systemFlags.length > 0 || userFlags.length > 0) {
                    builder.startElement(new QName("flags", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);

                    for (Flags.Flag systemFlag : systemFlags) {
                        if (systemFlag == Flags.Flag.ANSWERED) {
                            addFlag(builder,"answered");
                        } else if (systemFlag == Flags.Flag.DELETED) {
                            addFlag(builder,"deleted");
                        } else if (systemFlag == Flags.Flag.DRAFT) {
                            addFlag(builder, "draft");
                        } else if (systemFlag == Flags.Flag.FLAGGED) {
                            addFlag(builder,"flagged");
                        } else if (systemFlag == Flags.Flag.RECENT) {
                            addFlag(builder,"recent");
                        } else if (systemFlag == Flags.Flag.SEEN) {
                            addFlag(builder,"seen");
                        }
                    }

                    for (String userFlag : userFlags) {
                        builder.startElement(new QName("flag", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
                        builder.addAttribute(new QName("type", null, null), "user");
                        builder.addAttribute(new QName("value", null, null), userFlag);
                        builder.endElement();
                    }

                    builder.endElement();
                }
View Full Code Here

        ret = (NodeValue) builder.getDocument().getDocumentElement();
        return (ret);
    }

    private void addFlag(MemTreeBuilder builder, String flag) {
        builder.startElement(new QName("flag", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
        builder.addAttribute(new QName("type", null, null), flag);
        builder.endElement();
    }
View Full Code Here

        builder.endElement();
    }

    private void addAddress(MemTreeBuilder builder, String element, String attrVal, Address addr ) {

        builder.startElement(new QName(element, MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
        if (attrVal != null) builder.addAttribute(new QName("type", null, null), attrVal);
        InternetAddress ia = (InternetAddress)addr;
        if (ia.getPersonal() != null) {
            builder.addAttribute(new QName("personal", null, null),ia.getPersonal());
            builder.characters(ia.getAddress());
        } else {
            builder.characters(ia.getAddress());
        }
        builder.endElement();
View Full Code Here

    }

    private void mimeParamsToAttributes(MemTreeBuilder builder, String contentType) {
        try {
            MimeType m = new MimeType(contentType);
            builder.addAttribute(new QName("mime-type",null,null), m.getBaseType());

            MimeTypeParameterList mtpl =  m.getParameters();
            Enumeration e = mtpl.getNames();
            while (e.hasMoreElements()) {
                String key = (String) e.nextElement();
                builder.addAttribute(new QName(key, null,null), mtpl.get(key));
            }
        } catch (MimeTypeParseException e) {
            e.printStackTrace();
        }
    }
View Full Code Here

    Sequence    xmlResult     = Sequence.EMPTY_SEQUENCE;
   
    MemTreeBuilder builder = context.getDocumentBuilder();
         
    builder.startDocument();
      builder.startElement( new QName( "dsml", DSML_NAMESPACE, DSML_PREFIX ), null );
    builder.addAttribute( new QName( "dn", null, null ), dn );
    builder.startElement( new QName( "directory-entries", DSML_NAMESPACE, DSML_PREFIX ), null );
   
    while( results.hasMore() ) {
      SearchResult result = (SearchResult)results.next();
     
      builder.startElement( new QName( "entry", DSML_NAMESPACE, DSML_PREFIX ), null );
      builder.addAttribute( new QName( "dn", null, null ), result.getName() );

      // Handle objectClass attributes
      Attribute ocattr = result.getAttributes().get( "objectClass" );
     
      if( ocattr != null ) {
        builder.startElement( new QName( "objectclass", DSML_NAMESPACE, DSML_PREFIX ), null );
       
        for( int i = 0; i < ocattr.size(); i++ ) {
            Object value = ocattr.get( i );
           
            builder.startElement( new QName( "oc-value", DSML_NAMESPACE, DSML_PREFIX ), null );
            builder.characters( value.toString() );
            builder.endElement();
          }
       
        builder.endElement();
      }
     
      NamingEnumeration attrs = result.getAttributes().getAll();
     
      // Handle all other attributes
      while( attrs.hasMore() ) {
        Attribute attr = (Attribute)attrs.next();
       
        String name = attr.getID();
       
        if( !name.equals( "objectClass" ) ) {
       
          builder.startElement( new QName( "attr", DSML_NAMESPACE, DSML_PREFIX ), null );
          builder.addAttribute( new QName( "name", null, null ), name );
         
          for( int i = 0; i < attr.size(); i++ ) {
            Object value = attr.get( i );
           
            builder.startElement( new QName( "value", DSML_NAMESPACE, DSML_PREFIX ), null );
            if( name.equals( "userPassword" ) ) {
              builder.characters( new String( (byte[])value ) );
            } else {
              builder.characters( value.toString() );
            }
View Full Code Here

        String disposition = part.getDisposition();
        String contentType = part.getContentType();

            // Check if plain
        if (contentType.contains("text/plain")) {
            builder.startElement(new QName("text", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
            mimeParamsToAttributes(builder, part.getContentType());
            builder.characters(part.getContent().toString());
            builder.endElement();

        } else if (contentType.contains("text/html")) {
            builder.startElement(new QName("xhtml", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
            mimeParamsToAttributes(builder, part.getContentType());
            // extract and clean up the html
            DocumentBuilderReceiver receiver = new DocumentBuilderReceiver(builder);
            /* There's a bug here caused (possibly) by Apple Mail forwarding Outlook Mail
               In the hideous Outlook html, o:p tags are included as paragraph markers. They either contain nothing,
               or else an NBSP entity. The namespace prefix is correctly declared.
               Apple mail appears to strip or reduce these elements to <o:p/>
               Additionally, the namespace binding is dropped - so this throws an error when the content is parsed.
             */

            DocumentImpl html = ModuleUtils.htmlToXHtml(context, "alternative", new StreamSource(part.getInputStream()), null, null);
            ElementImpl rootElem = (ElementImpl)html.getDocumentElement();
            html.copyTo(rootElem,receiver);
            builder.endElement();

        } else if (disposition.equalsIgnoreCase(Part.ATTACHMENT)) {
            builder.startElement(new QName("attachment", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
            builder.addAttribute(new QName("filename", null, null), part.getFileName());
            mimeParamsToAttributes(builder, part.getContentType());
            handleBinaryContent(part, builder);
            builder.endElement();

        } else if (disposition.equalsIgnoreCase(Part.INLINE)) {
            builder.startElement(new QName("inline", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
            MimeBodyPart mbp = (MimeBodyPart)part;
            builder.addAttribute(new QName("filename", null, null), mbp.getFileName());
            // fix content id so that it matches the cid: format within the html
            if (mbp.getContentID()!= null) {
                builder.addAttribute(new QName("content-id", null, null), "cid:" + mbp.getContentID().replaceAll("^<|>$", ""));
            }
            mimeParamsToAttributes(builder, part.getContentType());
            handleBinaryContent(part, builder);
            builder.endElement();

        } else // Should never happen
            builder.startElement(new QName("other", MailModule.NAMESPACE_URI, MailModule.PREFIX), null);
            mimeParamsToAttributes(builder, part.getContentType());
            builder.addAttribute(new QName("disposition",null,null), part.getDisposition());
            builder.characters(part.getContent().toString());
            builder.endElement();
        }
    }
View Full Code Here

        }
    }

    private void handleBinaryContent(Part part, MemTreeBuilder builder) throws IOException, MessagingException, XPathException {

        builder.addAttribute(new QName("type", null, null), "binary");
        builder.addAttribute( new QName( "encoding", null, null ), "Base64Encoded" );

        BinaryValue binary = null;
        try {
            binary = BinaryValueFromInputStream.getInstance(context, new Base64BinaryValueType(), part.getInputStream());
            builder.characters(binary.getStringValue());
View Full Code Here

TOP

Related Classes of org.exist.dom.QName

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.