Package org.infoset.xml

Examples of org.infoset.xml.ItemConstructor


         {
            try {
               Iterator<RemoteApp> apps = db.getRemoteApps();
               Writer out = new OutputStreamWriter(os,"UTF-8");
               ItemDestination dest = new WriterItemDestination(out,"UTF-8");
               ItemConstructor constructor = InfosetFactory.getDefaultInfoset().createItemConstructor();
               dest.send(constructor.createDocument());
               dest.send(constructor.createElement(AdminXML.NM_APPS));
               while (apps.hasNext()) {
                  RemoteApp app = apps.next();
                  app.marshall();;
                  DocumentSource.generate(app.getElement(),false,dest);
               }
               dest.send(constructor.createElementEnd(AdminXML.NM_APPS));
               dest.send(constructor.createDocumentEnd());
               out.flush();
               out.close();
            } catch (XMLException ex) {
               getContext().getLogger().log(Level.SEVERE,"Cannot get list of remotes from DB: "+ex.getMessage(),ex);
               getResponse().setStatus(Status.SERVER_ERROR_INTERNAL,"Cannot get list of remotes due to XML DB error.");
View Full Code Here


         {
            try {
               Iterator<SyncTarget> targets = db.getSyncTargets();
               Writer out = new OutputStreamWriter(os,"UTF-8");
               ItemDestination dest = new WriterItemDestination(out,"UTF-8");
               ItemConstructor constructor = InfosetFactory.getDefaultInfoset().createItemConstructor();
               dest.send(constructor.createDocument());
               dest.send(constructor.createElement(AdminXML.NM_TARGETS));
               while (targets.hasNext()) {
                  SyncTarget target = targets.next();
                  target.marshall();
                  DocumentSource.generate(target.getElement(),false,dest);
               }
               dest.send(constructor.createElementEnd(AdminXML.NM_TARGETS));
               dest.send(constructor.createDocumentEnd());
               out.flush();
               out.close();
            } catch (XMLException ex) {
               getContext().getLogger().log(Level.SEVERE,"Cannot get list of targets from DB: "+ex.getMessage(),ex);
               getResponse().setStatus(Status.SERVER_ERROR_INTERNAL,"Cannot get list of targets due to XML DB error.");
View Full Code Here

   public void store(URI baseURI,ItemDestination dest)
      throws XMLException
   {
      String baseURIValue = baseURI.toString();
      URI baseDir = URI.create(baseURIValue.substring(0,baseURIValue.lastIndexOf('/')+1));
      ItemConstructor constructor = InfosetFactory.getDefaultInfoset().createItemConstructor();
      dest.send(constructor.createDocument(baseURI));
      Element top = constructor.createElement(AdminXML.NM_SERVER);
      if (autoconfCheck!=((long)(180*1000))) {
         top.setAttributeValue("autoconf-check",Long.toString(autoconfCheck/1000));
      }
      dest.send(top);
      dest.send(constructor.createCharacters("\n"));
     
      Element keystoreE = constructor.createElement(AdminXML.NM_KEYSTORE);
      keystoreE.setAttributeValue("href",baseDir.relativize(keystoreFile.toURI()).toString());
      keystoreE.setAttributeValue("password",keystorePassword);
      if (!keystorePassword.equals(keyPassword)) {
         keystoreE.setAttributeValue("key-password",keyPassword);
      }
      dest.send(keystoreE);
      dest.send(constructor.createElementEnd(AdminXML.NM_KEYSTORE));
      dest.send(constructor.createCharacters("\n"));
     
      for (Auth auth : authServices.values()) {
         Element authE = constructor.createElement(AdminXML.NM_AUTH);
         for (Object nameO : auth.getProperties().keySet()) {
            String name = nameO.toString();
            authE.setAttributeValue(name,auth.getProperties().getProperty(name));
         }
         dest.send(authE);
         dest.send(constructor.createElementEnd(AdminXML.NM_AUTH));
         dest.send(constructor.createCharacters("\n"));
      }
     
      for (Link link : autoconfs) {
         Element autoconfE = constructor.createElement(AdminXML.NM_AUTOCONF);
         autoconfE.setAttributeValue("href",baseURI.relativize(link.getLink()).toString());
         if (link.getUsername()!=null) {
            autoconfE.setAttributeValue("username",link.getUsername());
            autoconfE.setAttributeValue("password",link.getPassword());
         }
         dest.send(autoconfE);
         dest.send(constructor.createElementEnd(AdminXML.NM_AUTOCONF));
         dest.send(constructor.createCharacters("\n"));
      }
     
      for (Database database : databases.values()) {
         Element databaseE = constructor.createElement(AdminXML.NM_DATABASE);
         databaseE.setAttributeValue("name",database.getName());
         databaseE.setAttributeValue("auth",database.getAuthName());
         dest.send(databaseE);
         dest.send(constructor.createElementEnd(AdminXML.NM_DATABASE));
         dest.send(constructor.createCharacters("\n"));
      }
      for (Interface iface : interfaces) {

         Element ifaceE = constructor.createElement(AdminXML.NM_INTERFACE);
         ifaceE.setAttributeValue("address",iface.getAddress());
         ifaceE.setAttributeValue("port",Integer.toString(iface.getPort()));
         ifaceE.setAttributeValue("secure",iface.isSecure() ? "true" : "false");
         dest.send(ifaceE);
         dest.send(constructor.createElementEnd(AdminXML.NM_INTERFACE));
         dest.send(constructor.createCharacters("\n"));
      }

      for (AdminHost host : admins.values()) {
        
         Element hostE = constructor.createElement(AdminXML.NM_ADMIN);
         hostE.setAttributeValue("name",host.getName());
         if (host.getAddress()!=null) {
            hostE.setAttributeValue("address",host.getAddress());
         }
         if (host.getPort()>0) {
            hostE.setAttributeValue("port",Integer.toString(host.getPort()));
         }
         if (host.getAuthName()!=null) {
            hostE.setAttributeValue("auth",host.getAuthName());
         }
         dest.send(hostE);
         dest.send(constructor.createElementEnd(AdminXML.NM_ADMIN));
         dest.send(constructor.createCharacters("\n"));
      }
     
      for (Host host : hosts.values()) {
        
         Element hostE = constructor.createElement(AdminXML.NM_HOST);
         hostE.setAttributeValue("database",host.getDatabaseName());
         hostE.setAttributeValue("name",host.getName());
         if (host.getAddress()!=null) {
            hostE.setAttributeValue("address",host.getAddress());
         }
         if (host.getPort()>0) {
            hostE.setAttributeValue("port",Integer.toString(host.getPort()));
         }
         dest.send(hostE);
         dest.send(constructor.createElementEnd(AdminXML.NM_HOST));
         dest.send(constructor.createCharacters("\n"));
      }
     
      dest.send(constructor.createElementEnd(AdminXML.NM_SERVER));
      dest.send(constructor.createDocumentEnd());
   }
View Full Code Here

   {
      if (obj instanceof XMLObject) {
         OutputStreamWriter w = new OutputStreamWriter(os,getCharacterSet().toString());
         try {
            WriterItemDestination dest = new WriterItemDestination(w,getCharacterSet().toString());
            ItemConstructor constructor =InfosetFactory.getDefaultInfoset().createItemConstructor();
            dest.send(constructor.createDocument());
            ((XMLObject)obj).generate(constructor, dest,contents);
            dest.send(constructor.createDocumentEnd());
         } catch (XMLException ex) {
            throw new IOException(ex.getMessage());
         }
         w.flush();
      }
View Full Code Here

            return new StringRepresentation("Cannot write to file "+outFile.getAbsolutePath());
         }
         getContext().getLogger().info("Backing up to file "+outFile.getAbsolutePath());
         OutputStreamWriter w = new OutputStreamWriter(new FileOutputStream(outFile),"UTF-8");
         ItemDestination dest = new WriterItemDestination(w,"UTF-8");
         ItemConstructor constructor = InfosetFactory.getDefaultInfoset().createItemConstructor(outFile.toURI());
         dest.send(constructor.createDocument(outFile.toURI()));
         dest.send(constructor.createElement(XML.DATABASE_NAME));
         dest.send(constructor.createCharacters("\n"));
         dest.send(constructor.createElement(XML.PERMISSIONS_NAME));
         dest.send(constructor.createCharacters("\n"));
         Iterator<Permission> permissions = db.getPermissions();
         while (permissions.hasNext()) {
            permissions.next().generate(constructor,dest);
            dest.send(constructor.createCharacters("\n"));
         }
         dest.send(constructor.createElementEnd(XML.PERMISSIONS_NAME));
         dest.send(constructor.createCharacters("\n"));
         dest.send(constructor.createElement(XML.ROLES_NAME));
         dest.send(constructor.createCharacters("\n"));
         Iterator<Role> roles = db.getRoles();
         while (roles.hasNext()) {
            roles.next().generate(constructor,dest);
            dest.send(constructor.createCharacters("\n"));
         }
         dest.send(constructor.createElementEnd(XML.ROLES_NAME));
         dest.send(constructor.createCharacters("\n"));
         dest.send(constructor.createElement(XML.USERS_NAME));
         dest.send(constructor.createCharacters("\n"));
         Iterator<User> users = db.getUsers();
         while (users.hasNext()) {
            users.next().generate(constructor,dest,true,true);
            dest.send(constructor.createCharacters("\n"));
         }
         dest.send(constructor.createElementEnd(XML.USERS_NAME));
         dest.send(constructor.createCharacters("\n"));
         dest.send(constructor.createElement(XML.REALMS_NAME));
         dest.send(constructor.createCharacters("\n"));
         Iterator<Realm> realms = db.getRealms();
         while (realms.hasNext()) {
            realms.next().generate(constructor,dest,true);
            dest.send(constructor.createCharacters("\n"));
         }
         dest.send(constructor.createElementEnd(XML.REALMS_NAME));
         dest.send(constructor.createCharacters("\n"));
         dest.send(constructor.createElementEnd(XML.DATABASE_NAME));
         dest.send(constructor.createCharacters("\n"));
         dest.send(constructor.createDocumentEnd());
         w.flush();
         w.close();
         getContext().getLogger().info("Backup finished.");
         getResponse().setStatus(Status.SUCCESS_NO_CONTENT);
      } catch (SQLException ex) {
View Full Code Here

   }
  
   public static Document createFeedDocument(String title,UUID id,Date created)
      throws XMLException
   {
      ItemConstructor constructor = InfosetFactory.getDefaultInfoset().createItemConstructor();
      Document doc = constructor.createDocument();
      Element top = doc.createDocumentElement(AtomResource.FEED_NAME);
      top.addNamespaceBinding("app",APP_NAMESPACE);
      top.addElement(TITLE_NAME).addCharacters(title);
      top.addElement(ID_NAME).addCharacters("urn:uuid:"+id.toString());
      String dateString = toXSDDate(created);
View Full Code Here

   }
  
   public static Document createEntryDocument(String title,UUID id,Date created,String authorName)
      throws XMLException
   {
      ItemConstructor constructor = InfosetFactory.getDefaultInfoset().createItemConstructor();
      Document doc = constructor.createDocument();
      Element top = doc.createDocumentElement(AtomResource.ENTRY_NAME);
      top.addElement(TITLE_NAME).addCharacters(title);
      top.addElement(ID_NAME).addCharacters("urn:uuid:"+id.toString());
      String dateString = toXSDDate(created);
      top.addElement(PUBLISHED_NAME).addCharacters(dateString);
View Full Code Here

  
   public void generate(ItemDestination dest,String value)
      throws XMLException
   {
      //getContext().getLogger().info("Generating feed for term "+term);
      ItemConstructor constructor = InfosetFactory.getDefaultInfoset().createItemConstructor();
      dest.send(constructor.createDocument());
      dest.send(constructor.createElement(AtomResource.FEED_NAME));
      dest.send(constructor.createCharacters("\n"));
      link(constructor,dest,"self",getRequest().getResourceRef().toString());
      dest.send(constructor.createCharacters("\n"));
      text(constructor,dest,AtomResource.TITLE_NAME,"Term "+term);
      dest.send(constructor.createCharacters("\n"));
      text(constructor,dest,AtomResource.ID_NAME,getRequest().getResourceRef().toString());
      dest.send(constructor.createCharacters("\n"));
      text(constructor,dest,AtomResource.UPDATED_NAME,AtomResource.toXSDDate(new Date()));
      term(constructor,dest,term,null);
      try {
         Term dbTerm = app.getDB().findTerm(term);
         if (dbTerm!=null) {
            Iterator<TermInstance<Feed>> feeds = app.getDB().getFeedsByTerm(dbTerm,value);
            while (feeds.hasNext()) {
               TermInstance<Feed> termValue = feeds.next();
               Feed feed = termValue.getTarget();
               dest.send(constructor.createCharacters("\n"));
               dest.send(constructor.createElement(AtomResource.ENTRY_NAME));
               text(constructor,dest,AtomResource.ID_NAME,feed.getUUID().toString());
               text(constructor,dest,AtomResource.PUBLISHED_NAME,AtomResource.toXSDDate(feed.getCreated()));
               text(constructor,dest,AtomResource.UPDATED_NAME,AtomResource.toXSDDate(feed.getEdited()));
               text(constructor,dest,AtomResource.TITLE_NAME,app.getStorage().getFeedTitle(feed.getPath(),feed.getUUID()));
               term(constructor,dest,Categorization.FEED_TYPE_TERM,null);
               Iterator<TermInstance<Feed>> terms = feed.getTerms();
               while (terms.hasNext()) {
                  TermInstance<Feed> fterm = terms.next();
                  term(constructor,dest,fterm.getTerm().getURI(),fterm.getValue());
               }
               link(constructor,dest,"related",resourceBase+feed.getPath());
               dest.send(constructor.createElementEnd(AtomResource.ENTRY_NAME));
            }
            DocumentLoader loader = new SAXDocumentLoader();
            Iterator<TermInstance<Entry>> entries = app.getDB().getEntriesByTerm(dbTerm,value);
            while (entries.hasNext()) {
               TermInstance<Entry> termValue = entries.next();
               Entry entry = termValue.getTarget();
               Feed feed = entry.getFeed();
               String feedPath = feed.getPath();
               String feedBaseURI = resourceBase.toString()+feedPath;
               dest.send(constructor.createCharacters("\n"));

               // get the entry representation
               Representation rep = app.getStorage().getEntry(feedBaseURI,feedPath,feed.getUUID(),entry.getUUID());
              
               // avoid thread creation because reading an output representation requires a thread
               StringWriter sw = new StringWriter();
               rep.write(sw);
               rep.release();
               loader.generate(new StringReader(sw.toString()), new RemoveDocumentFilter(dest));
              
            }
         }
      } catch (Exception ex) {
         throw new XMLException("Exception while getting ancestors.",ex);
      }
      dest.send(constructor.createCharacters("\n"));
      dest.send(constructor.createElementEnd(AtomResource.FEED_NAME));
      dest.send(constructor.createDocumentEnd());
   }
View Full Code Here

   }
  
   public static void toXML(User user,ItemDestination dest)
      throws XMLException
   {
      ItemConstructor constructor = InfosetFactory.getDefaultInfoset().createItemConstructor();
      dest.send(constructor.createDocument());
      Element userE = constructor.createElement(NM_USER);
      userE.setAttributeValue("alias",user.getAlias());
      userE.setAttributeValue("id",user.getId().toString());
      dest.send(userE);
      if (user.getName()!=null) {
         dest.send(constructor.createElement(NM_NAME));
         dest.send(constructor.createCharacters(user.getName()));
         dest.send(constructor.createElementEnd(NM_NAME));
      }
      if (user.getEmail()!=null) {
         dest.send(constructor.createElement(NM_EMAIL));
         dest.send(constructor.createCharacters(user.getEmail()));
         dest.send(constructor.createElementEnd(NM_EMAIL));
      }
      dest.send(constructor.createElementEnd(NM_USER));
      dest.send(constructor.createDocumentEnd());
   }
View Full Code Here

   }
   public void getIntrospection(Storage storage,String xmlBase,String basePath,CollectionLocator locator,ItemDestination dest)
      throws SQLException,IOException,XMLException
   {
      Iterator<Feed> feeds = getFeeds();
      ItemConstructor constructor = InfosetFactory.getDefaultInfoset().createItemConstructor();
      dest.send(constructor.createDocument());
      Element service = constructor.createElement(XML.SERVICE);
      service.addNamespaceBinding(Name.NO_PREFIX,AtomResource.APP_NAMESPACE);
      service.addNamespaceBinding("atom",AtomResource.ATOM_NAMESPACE);
      if (xmlBase!=null) {
         service.setBaseURI(URI.create(xmlBase));
         service.setAttributeValue(Attribute.XML_BASE, xmlBase);
      }
      dest.send(service);
      dest.send(constructor.createElement(XML.WORKSPACE));
      dest.send(constructor.createElement(AtomResource.TITLE_NAME));
      dest.send(constructor.createCharacters("Feeds"));
      dest.send(constructor.createElementEnd(AtomResource.TITLE_NAME));
      while (feeds.hasNext()) {
         Feed feed = feeds.next();
         String href = locator.makeHref(feed);
         String title = storage.getFeedTitle(feed.getPath(),feed.getUUID());
         Element collection = constructor.createElement(XML.COLLECTION);
         collection.setAttributeValue("href",basePath+href);
         dest.send(collection);
         dest.send(constructor.createElement(AtomResource.TITLE_NAME));
         if (title!=null) {
            dest.send(constructor.createCharacters(title));
         }
         dest.send(constructor.createElementEnd(AtomResource.TITLE_NAME));
         dest.send(constructor.createElement(XML.ACCEPT));
         dest.send(constructor.createCharacters("application/atom+xml;type=entry"));
         dest.send(constructor.createElementEnd(XML.ACCEPT));
         dest.send(constructor.createElement(XML.ACCEPT));
         dest.send(constructor.createCharacters("*/*"));
         dest.send(constructor.createElementEnd(XML.ACCEPT));
         dest.send(constructor.createElementEnd(XML.COLLECTION));
      }
      dest.send(constructor.createElementEnd(XML.WORKSPACE));
      dest.send(constructor.createElementEnd(XML.SERVICE));
      dest.send(constructor.createDocumentEnd());
   }
View Full Code Here

TOP

Related Classes of org.infoset.xml.ItemConstructor

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.