📄 portletappdescriptorserviceimpl.java.svn-base
字号:
package org.apache.pluto.descriptors.services.jaxb;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBElement;import javax.xml.bind.JAXBException;import javax.xml.bind.Marshaller;import javax.xml.bind.Unmarshaller;import org.apache.pluto.descriptors.portlet.PortletAppType;import org.apache.pluto.om.portlet.PortletApplicationDefinition;import org.apache.pluto.services.PortletAppDescriptorService;/** * JAXB implementation of the xml2java binding * @author <a href="mailto:chrisra@cs.uni-jena.de">Christian Raschka</a> */public class PortletAppDescriptorServiceImpl implements PortletAppDescriptorService{ public PortletApplicationDefinition createPortletApplicationDefinition() { return new PortletAppType(); } /** * Read the Web Application Deployment Descriptor. * * @return WebAppDD instance representing the descriptor. * @throws java.io.IOException */ @SuppressWarnings("unchecked") public PortletApplicationDefinition read(InputStream in) throws IOException { JAXBElement app = null; try { JAXBContext jc = JAXBContext.newInstance( "org.apache.pluto.descriptors.portlet10" + ":" + "org.apache.pluto.descriptors.portlet", PortletAppDescriptorServiceImpl.class.getClassLoader()); Unmarshaller u = jc.createUnmarshaller(); u.setEventHandler(new javax.xml.bind.helpers.DefaultValidationEventHandler()); app = (JAXBElement) u.unmarshal(in); }catch (JAXBException jaxbEx){ jaxbEx.printStackTrace(); throw new IOException(jaxbEx.getMessage()); } catch(Exception me) { throw new IOException(me.getLocalizedMessage()); } if (app.getValue() instanceof org.apache.pluto.descriptors.portlet10.PortletAppType) { return ((org.apache.pluto.descriptors.portlet10.PortletAppType)app.getValue()).upgrade(); } return (PortletApplicationDefinition)app.getValue(); } /** * Write the deployment descriptor. * @param app * @throws java.io.IOException */ public void write(PortletApplicationDefinition app, OutputStream out) throws IOException { try { JAXBContext jc = null; Object src = null; if (PortletApplicationDefinition.JSR_168_VERSION.equals(app.getVersion())) { jc = JAXBContext.newInstance("org.apache.pluto.descriptors.portlet10"); src = new org.apache.pluto.descriptors.portlet10.PortletAppType(app); } else { jc = JAXBContext.newInstance("org.apache.pluto.descriptors.portlet"); src = app; } Marshaller m = jc.createMarshaller(); m.setEventHandler(new javax.xml.bind.helpers.DefaultValidationEventHandler()); m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,Boolean.TRUE); m.marshal(src,out); }catch (JAXBException jaxbEx){ jaxbEx.printStackTrace(); throw new IOException(jaxbEx.getMessage()); } catch(Exception me) { throw new IOException(me.getLocalizedMessage()); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -