<%@ taglib uri='/WEB-INF/templates/jsp/tld/template.tld' prefix='jetspeed' %> <%@ page import = "org.apache.turbine.util.*" %> <%@ page import = "org.apache.turbine.modules.*" %> <%@ page import = "org.apache.turbine.services.servlet.TurbineServlet" %> <%@ page import = "org.apache.turbine.services.*" %> <%@ page import = "org.apache.jetspeed.services.*" %> <%@ page import = "org.apache.jetspeed.services.registry.*" %> <%@ page import = "org.apache.jetspeed.portal.*" %> <%@ page import = "org.apache.jetspeed.xml.api.portletmarkup.*" %> <%@ page import = "org.apache.jetspeed.om.registry.PortletEntry" %> <%@ page import = "org.apache.jetspeed.om.registry.RegistryEntry" %> <%@ page import = "org.apache.jetspeed.om.registry.SkinEntry" %> <%@ page import = "org.apache.jetspeed.om.registry.Parameter" %> <%@ page import = "org.apache.jetspeed.om.registry.base.*" %> <%@ page import = "java.util.*" %> <%@ page import = "java.io.*" %> <%@ page import = "org.exolab.castor.mapping.Mapping" %> <%@ page import = "org.exolab.castor.mapping.MappingException" %> <%@ page import = "org.exolab.castor.xml.Unmarshaller" %> <%@ page import = "org.exolab.castor.xml.Marshaller" %> <%@ page import = "org.xml.sax.InputSource" %> <%@ page import = "org.apache.xml.serialize.Serializer" %> <%@ page import = "org.apache.xml.serialize.XMLSerializer" %> <%@ page import = "org.apache.xml.serialize.OutputFormat" %> <% RunData data = (RunData)request.getAttribute("rundata"); try { FileRegistry fr = (FileRegistry)TurbineServices.getInstance().getService(RegistryService.SERVICE_NAME); // Create mapping object Mapping mapping = null; String mapFile = "c:/jakarta-tomcat/webapps/mme2/WEB-INF/conf/registry.xml"; File map = new File(mapFile); Log.debug("Loading mapping file "+mapFile); if (map.exists() && map.isFile() && map.canRead()) { try { mapping = new Mapping(); InputSource is = new InputSource( new FileReader(map) ); is.setSystemId( mapFile ); mapping.loadMapping( is ); } catch (Exception e) { Log.error("Error in mapping creation",e); throw new Exception("Error in mapping"); } } else { throw new Exception("Mapping not found or not a file or unreadable: "+mapFile); } // Load registry fragment String file = "c:/jakarta-tomcat/webapps/mme2/WEB-INF/conf/user-portlets.xreg"; FileReader reader = null; RegistryFragment fragment = null; try { Unmarshaller unmarshaller = new Unmarshaller(mapping); reader = new FileReader(file); fragment = (RegistryFragment)unmarshaller.unmarshal(reader); } catch ( Throwable t ) { Log.error( "Could not unmarshal: " + file, t ); } finally { try { reader.close(); } catch (Exception e) {}; } // Add new portlet if (fragment != null) { NormalizedPortletEntry ne = new NormalizedPortletEntry(); ne.setName("orciuch"); ne.setType("ref"); ne.setParent("WebPagePortlet"); ne.setURL("http://ngsmobile/isc"); fragment.addEntry(Registry.PORTLET, ne); } // Create output format object OutputFormat format = new OutputFormat(); format.setIndenting(true); format.setIndent(4); // Save registry fragment FileWriter writer = null; if (fragment != null) { try { writer = new FileWriter(file); Serializer serializer = new XMLSerializer(writer, format); Marshaller marshaller = new Marshaller(serializer.asDocumentHandler()); marshaller.setMapping(mapping); marshaller.marshal(fragment); } catch ( Throwable t ) { Log.error( "Could not marshal: " + file, t ); } finally { try { writer.close(); } catch (Exception e) {}; } } // Refresh registry fr.refresh(); } catch (Exception e) { Log.error(e); data.setMessage(e.getMessage()); %> <%@ include file="Home.jsp" %> <% return; } %>