Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, a division of Red Hat
   * Copyright 2009, Red Hat Middleware, LLC, and individual
   * contributors as indicated by the @authors tag. See the
   * copyright.txt in the distribution for a full listing of
   * individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 
 package org.gatein.wsrp.producer.config.impl.xml;
 
 
 import java.io.File;
 import java.io.Reader;
 import java.io.Writer;
 import java.net.URL;

A simple configuration service that only supports manually edits to an external XML configuration file. Reloading and saving modifications are therefore not supported.

Author(s):
Chris Laprun
Version:
$Revision: 12276 $
Since:
2.6
 
 {
    protected static final String PRODUCER_NAMESPACE = "http://www.gatein.org/xml/ns/gatein_wsrp_producer_1_0";
    protected static final String PRODUCER_XSD = "gatein_wsrp_producer_1_0.xsd";
    protected static DefaultSchemaResolver RESOLVER;
    protected InputStream inputStream;
    private static File tmp;
 
    static
    {
        = new DefaultSchemaResolver();
       .setCacheResolvedSchemas(true);
       .addSchemaLocation("http://www.w3.org/XML/1998/namespace""xsd/xml.xsd");
 
       try
       {
           = File.createTempFile("producer-configuration""xml");
          .deleteOnExit();
       }
       catch (IOException e)
       {
          throw new RuntimeException(e);
       }
    }
 
    {
    }
 
    {
       this. = inputStream;
    }
 
    public void setInputStream(InputStream inputStream)
    {
       this. = inputStream;
    }
 
    public void loadConfiguration() throws Exception
    {
      if ( != null)
      {
         Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
         ObjectModelFactory factory = new ProducerConfigurationFactory();
         .set((ProducerConfiguration)unmarshaller.unmarshal(factorynull));
      }
   }
   public void saveConfiguration() throws Exception
   {
   }
   public URL getConfigurationURL()
   {
      try
      {
         return .toURI().toURL();
      }
      catch (MalformedURLException e)
      {
         throw new RuntimeException(e);
      }
   }
   {
      // get the output writer to write the XML content
      StringWriter xmlOutput = new StringWriter();
      // get the XML Schema source
      Reader xsReader = new InputStreamReader(is);
      // create an instance of XML Schema marshaller
      //      MarshallerImpl marshaller = new MarshallerImpl(); // todo: replace XercesXsMarshaller by this
      XercesXsMarshaller marshaller = new XercesXsMarshaller();
      marshaller.setSchemaResolver();
      // we need to specify what elements are top most (roots) providing namespace URI, prefix and local name
      marshaller.addRootElement("""producer-configuration");
      // declare default namespace
      marshaller.declareNamespace("wpc");
      // add schema location by declaring xsi namespace and adding xsi:schemaLocation attribute
      marshaller.declareNamespace("xsi""http://www.w3.org/2001/XMLSchema-instance");
      marshaller.addAttribute("xsi""schemaLocation""string",
          + " http://www.jboss.org/portal/xsd/" + );
      // create an instance of Object Model Provider
      ObjectModelProvider provider = new ProducerConfigurationProvider();
      marshaller.setProperty("org.jboss.xml.binding.marshalling.indent""true");
      marshaller.marshal(xsReaderproviderxmlOutput);
      // close XML Schema reader
      xsReader.close();
      config.createNewFile();
      Writer configFile = new BufferedWriter(new FileWriter(config));
      configFile.write(xmlOutput.toString());
      configFile.flush();
      configFile.close();
   }
New to GrepCode? Check out our FAQ X