Author: adamw Date: 2005-08-24 11:45:57 -0400 (Wed, 24 Aug 2005) New Revision: 943 Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/content/SvnContentManager.java trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DomToXmlTransformer.java trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadsDescriptor.java trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimer.java Log: Buttons in downloads, spaces in transformed project html deleted Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/content/SvnContentManager.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/content/SvnContentManager.java 2005-08-24 15:44:50 UTC (rev 942) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/content/SvnContentManager.java 2005-08-24 15:45:57 UTC (rev 943) @@ -106,7 +106,7 @@ try { ourClientManager.getCommitClient().doCommit(files, false, - "New content", true, true); + "Forge service commit.", true, true); } catch (SVNException e) { try { cleanup(); } catch (SVNException e1) { e1.printStackTrace(); } Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DomToXmlTransformer.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DomToXmlTransformer.java 2005-08-24 15:44:50 UTC (rev 942) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DomToXmlTransformer.java 2005-08-24 15:45:57 UTC (rev 943) @@ -9,22 +9,15 @@ package org.jboss.forge.common.projects; import java.io.ByteArrayOutputStream; -import java.io.IOException; import javax.xml.transform.OutputKeys; -import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; -import org.apache.xerces.parsers.DOMParser; -import org.jboss.forge.common.projects.XmlInputFactory.XmlNotFoundException; -import org.w3c.dom.Document; import org.w3c.dom.Node; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; /** * @author adamw @@ -32,37 +25,7 @@ * in XML. */ public class DomToXmlTransformer { - private Node xsl; - /** - * Creates a new transformer which will use the given stylesheet - * for transformations. - * @param source - * @throws SAXException - * @throws IOException - * @throws XmlNotFoundException - */ - public DomToXmlTransformer(InputSource source) throws SAXException, - IOException, XmlNotFoundException { - // Creating a node representing the style's xsl. - DOMParser parser = new DOMParser(); - parser.parse(source); - Document doc = parser.getDocument(); - - xsl = doc.getDocumentElement(); - } - - /** - * Creates a new transformer with an "id" stylesheet (identity). - * @throws SAXException - * @throws IOException - * @throws XmlNotFoundException - */ - public DomToXmlTransformer() { - xsl = null; - } - - /** * Creates a string-xml representation of the given node. * @param root Node to transform * @return A string contating data from the given node in a XML format. @@ -70,16 +33,10 @@ */ public String transformNode(Node root) throws TransformerException { TransformerFactory tFactory = TransformerFactory.newInstance(); - Transformer transformer; - - if (xsl != null) { - Source xslSource = new DOMSource(xsl); - transformer = tFactory.newTransformer(xslSource); - } else { - transformer = tFactory.newTransformer(); - transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); - } + Transformer transformer = tFactory.newTransformer();; + transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); transformer.transform(new DOMSource(root), new StreamResult(bos)); Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadsDescriptor.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadsDescriptor.java 2005-08-24 15:44:50 UTC (rev 942) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadsDescriptor.java 2005-08-24 15:45:57 UTC (rev 943) @@ -186,7 +186,9 @@ getFilesPropertiesHandler(isf, projectId, downloadPrefix, pathCategoryContext, separator,componentDir), - getFilesExtendedPropertiesMap(), + getFilesExtendedPropertiesMap(downloadPrefix, + pathCategoryContext, separator, portalName, + projectId), new OutsidePropertiesMap()); } } @@ -259,18 +261,44 @@ return stack; } - private ExtendedPropertiesMap getFilesExtendedPropertiesMap() { + private boolean isOutsideLink(String link) { + return link.startsWith("http://") || + link.startsWith("ftp://") || + link.startsWith("https://"); + } + + private ExtendedPropertiesMap getFilesExtendedPropertiesMap( + final String downloadPrefix, final String pathCategoryContext, + final String separator, final String portalName, + final String projectId) { ExtendedPropertiesMap epm = new ExtendedPropertiesMap(); epm.addPropertySupport("button", - getButtonPropertiesHandler(), + getButtonPropertiesHandler(downloadPrefix, pathCategoryContext, + separator, portalName, projectId), new BindingsHandlerIterSingleKey("button", "buttons")); return epm; } - private PropertiesHandler getButtonPropertiesHandler() { + private PropertiesHandler getButtonPropertiesHandler( + final String downloadPrefix, final String pathCategoryContext, + final String separator, final String portalName, + final String projectId) { return new PropertiesHandler() { public void fillContextShallow(PropertiesMap properties, DelegateContext context) { - context.put("link", properties.get("id").getFirstValue()); + String id = properties.get("id").getFirstValue(); + + if (isOutsideLink(id)) + context.put("link", id); + else { + if ("true".equals(properties.get("freezone").getFirstValue())) + context.put("link", + new ProjectsHelper().createFreezonePageLink( + portalName, projectId, id)); + else + context.put("link", downloadPrefix + pathCategoryContext + + separator + id); + } + context.put("name", properties.get("name").getFirstValue()); } @@ -307,7 +335,7 @@ * compute the file size ourselves. If it is aboslute, we read * it from the provided tag. */ - if ((id.startsWith("http://")) || (id.startsWith("ftp://"))) { + if (isOutsideLink(id)) { context.put("link", id); context.put("size", properties.get("size").getFirstValue()); outsideFile = true; Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2005-08-24 15:44:50 UTC (rev 942) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2005-08-24 15:45:57 UTC (rev 943) @@ -71,8 +71,7 @@ projectsContexts = new TreeMap<String, DelegateContext>(); try { - DomToXmlTransformer xht = new DomToXmlTransformer( - isf.getInputSource(ProjectsHelper.STYLE_XSL)); + DomToXmlTransformer xht = new DomToXmlTransformer(); opm = getProjectOutsidePropertiesMap(isf, xht); Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java 2005-08-24 15:44:50 UTC (rev 942) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java 2005-08-24 15:45:57 UTC (rev 943) @@ -46,8 +46,7 @@ */ private Map<String, Projects> projectsObjects; private ForgeHelper forgeHelper; - - protected final static String STYLE_XSL = "style.xsl"; + protected final static String PAGES_DESC = "pages.xml"; protected final static String JEMS_DESC = "jems.xml"; protected final static String CATEGORIES_DESC = "categories.xml"; @@ -130,6 +129,7 @@ + ".freezone&project=" + projectId + "&page=" + forgeHelper.replace(page, "/", FREEZONE_SEPARATOR); } + public String createDocsPageLink(String portalName, String projectId, String page) { return "/portal/index.html?ctrl:id=page." + portalName Modified: trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimer.java =================================================================== --- trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimer.java 2005-08-24 15:44:50 UTC (rev 942) +++ trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimer.java 2005-08-24 15:45:57 UTC (rev 943) @@ -41,6 +41,9 @@ fm.update(); + // Avoiding WARN. + timer.cancel(); + // Scheduling next timer to timeout after the amount of time that // is set in forgeManagement. scheduleTimer(fm.getTimerInterval()); |