Package org.hoteia.qalingo.binding.jaxb.helper

Source Code of org.hoteia.qalingo.binding.jaxb.helper.StoreUnmarshalXmlHelper

/**
* Most of the code in the Qalingo project is copyrighted Hoteia and licensed
* under the Apache License Version 2.0 (release version 0.8.0)
*         http://www.apache.org/licenses/LICENSE-2.0
*
*                   Copyright (c) Hoteia, 2012-2014
* http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com
*
*/
package org.hoteia.qalingo.binding.jaxb.helper;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.Unmarshaller;

import org.hoteia.qalingo.core.domain.Store;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class StoreUnmarshalXmlHelper {
 
    private final Logger logger = LoggerFactory.getLogger(getClass());
   
  private Unmarshaller unmarshaller;

  public Store getStore(String xml) throws UnsupportedEncodingException {
    InputStream inputStream = new ByteArrayInputStream(xml.getBytes(("UTF-8")));
    return getStore(inputStream);
  }

  public Store getStore(InputStream inputStream) {
    Store store = null;
    store = getStoreByXml(inputStream);
    return store;
  }

  /**
   * Parse the XML document using the unmarshaller created earlier. Note that the unmarshaller is NOT thread-safe.
   *
   * @param xsdInputStream the input stream.
   * @return the parsed object model
   */
  protected Store getStoreByXml(InputStream xsdInputStream) {
    Store store = null;
    if (xsdInputStream != null) {
      try {
        store = ((JAXBElement<Store>)unmarshaller.unmarshal(xsdInputStream)).getValue();
      } catch (javax.xml.bind.JAXBException e) {
        logger.error("something is wrong with jaxb", e);
      }
    }
    return store;
  }

  public void setUnmarshaller(Unmarshaller unmarshaller) {
    this.unmarshaller = unmarshaller;
  }

}
TOP

Related Classes of org.hoteia.qalingo.binding.jaxb.helper.StoreUnmarshalXmlHelper

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.