Author: dam...@jb... Date: 2005-10-21 15:20:15 -0400 (Fri, 21 Oct 2005) New Revision: 1429 Added: qa/forge/portal-extensions/binaries/maven-repo-addons/rome/ qa/forge/portal-extensions/binaries/maven-repo-addons/rome/jars/ qa/forge/portal-extensions/binaries/maven-repo-addons/rome/jars/rome-0.7.jar qa/forge/portal-extensions/forge-feeds/src/java/org/ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Feed.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedFactory.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsDescriptor.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsPortlet.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FileBasedFeed.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/RomeBasedFeed.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Rss2Feed.java Removed: qa/forge/portal-extensions/binaries/maven-repo-addons/rome/jars/ qa/forge/portal-extensions/binaries/maven-repo-addons/rome/jars/rome-0.7.jar qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Feed.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedFactory.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsDescriptor.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsPortlet.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FileBasedFeed.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/RomeBasedFeed.java qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Rss2Feed.java Modified: qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/XmlTools.java qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Projects.java qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java qa/forge/portal-extensions/forge-feeds/project.xml qa/forge/portal-extensions/forge-prj-downloads/project.xml qa/forge/portal-extensions/forge-prj-info/project.xml qa/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java qa/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java qa/forge/portal-extensions/jbosswiki/wiki-common/src/etc/WikiTypes.xml qa/forge/portal-extensions/jbosswiki/wiki-common/src/etc/org/jboss/wiki/filedatasource.properties.sample qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/EditSessionWatcher.java qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiContext.java qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/DictionaryTest.java qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/GetSavePageTest.java qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/WikiTest.java Log: MERGED: -r 1416:1427 https://svn.labs.jboss.com/trunk/forge/portal-extensions into qa. For 1.0.5 Release. Fixes: JBWIKI-60, JBWIKI-61, JBWIKI-62, JBWIKI-63. Copied: qa/forge/portal-extensions/binaries/maven-repo-addons/rome (from rev 1427, trunk/forge/portal-extensions/binaries/maven-repo-addons/rome) Copied: qa/forge/portal-extensions/binaries/maven-repo-addons/rome/jars (from rev 1427, trunk/forge/portal-extensions/binaries/maven-repo-addons/rome/jars) Deleted: qa/forge/portal-extensions/binaries/maven-repo-addons/rome/jars/rome-0.7.jar =================================================================== (Binary files differ) Copied: qa/forge/portal-extensions/binaries/maven-repo-addons/rome/jars/rome-0.7.jar (from rev 1427, trunk/forge/portal-extensions/binaries/maven-repo-addons/rome/jars/rome-0.7.jar) Modified: qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/XmlTools.java =================================================================== --- qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/XmlTools.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/XmlTools.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -84,8 +84,54 @@ return buf.toString(); } + + /** + * Reads and returns a HTML block contained in the children of the specified + * node with a default xml -> html transformer. + * @param root Node from which's children to get the HTML block. + * @return A string representation of the html contained in the given + * node. + */ + public static String unmarshallHtml(Node root) { + return unmarshallHtml(root, new DomToXmlTransformer()); + } /** + * Reads and returns a xml block contained in the entire specified + * node. + * @param root Node from which's to get the xml block. + * @return A string representation of the xml contained in the given + * node, including this node's representation. + */ + public static String unmarshallXml(Node root) { + try { + return new DomToXmlTransformer().transformNode(root); + } catch (TransformerException e) { + return ""; + } + } + + /** + * Gets a node that is a child node of the given one and has the given + * name. + * @param root Node which children are to be searched. + * @param name Name of the searched node. + * @return A child node with the given name or null, if no such node + * exists. + */ + public static Node getFirstNodeWithName(Node root, String name) { + NodeList children = root.getChildNodes(); + + for (int i = 0; i < children.getLength(); i++) { + Node n = children.item(i); + if (name.equalsIgnoreCase(n.getNodeName())) + return n; + } + + return null; + } + + /** * Reads text contained in a tag of the form <tag>text</tag>. * @param textNode Node to read text from. * @return Text contained in the given node. Modified: qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Projects.java =================================================================== --- qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Projects.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Projects.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -8,6 +8,8 @@ *****************************************/ package org.jboss.forge.common.projects; +import java.util.Set; + import org.jboss.forge.common.ForgeHelper; import org.jboss.forge.common.projects.permissions.PermissionsChecker; import org.jboss.portal.common.context.DelegateContext; @@ -76,7 +78,8 @@ */ public DelegateContext getLevelContext(PermissionsChecker pc, String id) { return getProjectsDescriptor() - .getOutsidePropertyContext(pc, "level", id); + .getOutsidePropertyContext(pc, + ProjectsDescriptor.LEVEL_ATTRIBUTE, id); } /** @@ -138,7 +141,7 @@ if (pd == null) return null; - return pd.getProperty("level"); + return pd.getProperty(ProjectsDescriptor.LEVEL_ATTRIBUTE); } /** @@ -162,6 +165,19 @@ } /** + * Gets ids of all projects on the given level, accessible with the given + * permissions checker. + * @param pc Permissions checker to use. + * @param projectLevel Level of the projects to return. Null, if all + * projects are to be returned. + * @return A set of project ids on the given level accessible with the + * given permissions checker. + */ + public Set<String> getProjectIds(PermissionsChecker pc, String projectLevel) { + return getProjectsDescriptor().getProjectIds(pc, projectLevel); + } + + /** * Searches for the given string in project's names and descriptions. * * @param pc Permissions checker to use. Modified: qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java =================================================================== --- qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -55,6 +55,8 @@ static final String LINK_ELEMENT = "link"; static final String TYPE_ATTRIBUTE = "type"; + + static final String LEVEL_ATTRIBUTE = "level"; private static final Logger log = Logger .getLogger(ProjectsDescriptor.class); @@ -483,4 +485,29 @@ return toFill; } + + /** + * Gets ids of all projects on the given level, accessible with the given + * permissions checker. + * @param pc Permissions checker to use. + * @param projectLevel Level of the projects to return. Null, if all + * projects are to be returned. + * @return A set of project ids on the given level accessible with the + * given permissions checker. + */ + public Set<String> getProjectIds(PermissionsChecker pc, String projectLevel) { + Set<String> ret = new HashSet<String>(); + + for (String projectId : projects.keySet()) { + ProjectDescriptor project = projects.get(projectId); + if ((project.permissionAllowed(pc)) && + ((projectLevel == null) || + (projectLevel.equals(project.getProperty( + LEVEL_ATTRIBUTE))))) { + ret.add(projectId); + } + } + + return ret; + } } Modified: qa/forge/portal-extensions/forge-feeds/project.xml =================================================================== --- qa/forge/portal-extensions/forge-feeds/project.xml 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/forge-feeds/project.xml 2005-10-21 19:20:15 UTC (rev 1429) @@ -29,5 +29,39 @@ <version>1.0</version> <jar>javax.servlet.jar</jar> </dependency> + + <dependency> + <id>jdom</id> + <version>1.0</version> + <properties> + <war.bundle>true</war.bundle> + </properties> + </dependency> + + <dependency> + <id>rome</id> + <version>0.7</version> + <properties> + <war.bundle>true</war.bundle> + </properties> + </dependency> + + <dependency> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + <version>2.6.2</version> + </dependency> + + <dependency> + <groupId>xerces</groupId> + <artifactId>xmlParserAPIs</artifactId> + <version>2.6.2</version> + </dependency> + + <dependency> + <groupId>xalan</groupId> + <artifactId>xalan</artifactId> + <version>2.6.0</version> + </dependency> </dependencies> </project> Copied: qa/forge/portal-extensions/forge-feeds/src/java/org (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org) Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss) Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge) Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds) Deleted: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Feed.java =================================================================== --- trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Feed.java 2005-10-21 19:05:44 UTC (rev 1427) +++ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Feed.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -1,38 +0,0 @@ -package org.jboss.forge.feeds; - -import java.io.IOException; -import java.io.OutputStream; -import java.net.URL; - -import com.sun.syndication.io.FeedException; -import com.sun.syndication.io.XmlReader; - -/** - * An interface that should be implemented by classes representing data feeds. - * @author adamw - */ -public interface Feed { - /** - * Writes the feed to the given output stream. - * @param os Output stream to write to. - * @throws IOException - */ - public void write(OutputStream os) throws IOException; - /** - * Generates a feed getting content from the given url. - * @param url Url from which to get the content. - */ - public void generateFromUrl(URL url) throws IOException; - /** - * Generates a feed using the given feeds. - * @param feeds Feeds which should be aggregated into a single - * feed. - */ - public void generateFromFeeds(Feed[] feeds) - throws IllegalArgumentException, FeedException, IOException; - /** - * Gets a xml reader for the given feed. - * @return A xml read for the given feed. - */ - public XmlReader getXmlReader() throws IOException; -} Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Feed.java (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Feed.java) Deleted: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedFactory.java =================================================================== --- trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedFactory.java 2005-10-21 19:05:44 UTC (rev 1427) +++ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedFactory.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -1,28 +0,0 @@ -package org.jboss.forge.feeds; - -import java.util.HashMap; -import java.util.Map; - -public class FeedFactory { - private static Map<String, Class> feedClasses; - - static { - feedClasses = new HashMap<String, Class>(); - feedClasses.put("rss2", Rss2Feed.class); - } - - public static Feed getNewFeed(String type) { - Class feedClass = feedClasses.get(type); - if (feedClass == null) return null; - - try { - return (Feed) feedClass.newInstance(); - } catch (Exception e) { - return null; - } - } - - public static String[] getAllFeedTypes() { - return feedClasses.keySet().toArray(new String[0]); - } -} Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedFactory.java (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedFactory.java) Deleted: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsDescriptor.java =================================================================== --- trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsDescriptor.java 2005-10-21 19:05:44 UTC (rev 1427) +++ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsDescriptor.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -1,170 +0,0 @@ -package org.jboss.forge.feeds; - -import java.io.IOException; -import java.net.URL; -import java.util.HashMap; -import java.util.Map; - -import org.apache.xerces.parsers.DOMParser; -import org.jboss.forge.common.ForgeHelper; -import org.jboss.forge.common.XmlTools; -import org.jboss.forge.common.projects.ProjectsHelper; -import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; -import org.jboss.logging.Logger; -import org.jboss.shotoku.ContentManager; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -public class FeedsDescriptor { - private static final Logger log = Logger.getLogger(FeedsDescriptor.class); - - private final static String FEEDS_DIRECTORY = "feeds"; - private final static String FEEDS_NODE_ENDING = "-feeds.xml"; - private final static String REM_FEED_TAG = "remote-feed"; - private final static String AGG_FEED_TAG = "aggregated-feed"; - private final static String SHO_FEED_TAG = "shotoku-feed"; - - private final static String ALL_TOKENS = "*"; - private final static String TOKENS_DELIMITER = ","; - - private final static String TYPE_PARAM = "${type}"; - private final static String PROJECT_PARAM = "${project}"; - - static synchronized FeedsDescriptor getInstance(final String portalName) { - FeedsDescriptor desc = (FeedsDescriptor) ForgeHelper - .getForgeManagement().getFromCache(portalName, - FeedsDescriptor.class.getName()); - - if (desc == null) - desc = (FeedsDescriptor) ForgeHelper.getForgeManagement() - .addNodeWatcher(portalName, - FeedsDescriptor.class.getName(), - new FeedsNodeWatcher()); - - return desc; - } - - /** - * <code>feeds</code> - a map of ready feeds: - * feed name -> (feed type -> feed)). - */ - private Map<String, Map<String, Feed>> feeds; - - public FeedsDescriptor(String portalName) { - ContentManager cm = ContentManager.getContentManager(portalName - + "/" + FEEDS_DIRECTORY); - - // Preparing maps which will hold feed definitions. - Map<String, Node> remoteFeedDefs = new HashMap<String, Node>(); - Map<String, Node> aggregatedFeedDefs = new HashMap<String, Node>(); - Map<String, Node> shotokuFeedDefs = new HashMap<String, Node>(); - - Map<String, Map<String, Node>> allFeedDefs = - new HashMap<String, Map<String, Node>>(); - - allFeedDefs.put(REM_FEED_TAG, remoteFeedDefs); - allFeedDefs.put(AGG_FEED_TAG, aggregatedFeedDefs); - allFeedDefs.put(SHO_FEED_TAG, shotokuFeedDefs); - - // Looking for file containing feed definitons and filling the maps. - for (org.jboss.shotoku.Node feedNode : cm.getRootDirectory().getNodes().toList()) { - if (feedNode.getName().endsWith(FEEDS_NODE_ENDING)) { - try { - addFeedDefinitions(allFeedDefs, feedNode); - } catch (Exception e) { - // We just don't add the feeds ... but log a warning. - log.warn("Can't add feed definitions.", e); - } - } - } - - // Creating the feeds. - feeds = new HashMap<String, Map<String, Feed>>(); - - // Firstly - the remote feeds. - generateRemoteFeeds(portalName, remoteFeedDefs); - - // TODO add shotoku feeds - - // After that, we can create the aggregated feeds. - - } - - private void addFeed(String name, String type, Feed feed) { - Map<String, Feed> typesMap = feeds.get(name); - if (typesMap == null) { - typesMap = new HashMap<String, Feed>(); - feeds.put(name, typesMap); - } - - typesMap.put(type, feed); - } - - private void generateRemoteFeeds(String portalName, Map<String, Node> feedDefs) { - for (String feedName : feedDefs.keySet()) { - Node feedNode = feedDefs.get(feedName); - String addressAttr = XmlTools.getAttributeValue(feedNode, "address"); - String typesAttr = XmlTools.getAttributeValue(feedNode, "type"); - String projectLevelAttr = XmlTools.getAttributeValue(feedNode, "project-level"); - - // Generating the type of feeds that have been requested. - String[] types; - if (ALL_TOKENS.equals(typesAttr)) { - types = FeedFactory.getAllFeedTypes(); - } else { - types = typesAttr.split("[" + TOKENS_DELIMITER + "]"); - } - - // Generating the projects for which the feeds have been requested, - // if any. - String[] projects; - if (projectLevelAttr != null) { - projects = ProjectsHelper.getProjects( - portalName).getProjectIds(new NullPermissionsChecker(), - projectLevelAttr).toArray(new String[0]); - } else { - projects = new String[] { "" }; - } - - // For each type, project pair, generating a feed and storing it in - // the feeds map. - for (String type : types) { - for (String project : projects) { - String address = addressAttr.replace(TYPE_PARAM, type). - replace(PROJECT_PARAM, project); - - try { - Feed newFeed = FeedFactory.getNewFeed(type); - newFeed.generateFromUrl(new URL(address)); - addFeed(feedName.replace(PROJECT_PARAM, project), type, - newFeed); - } catch (Exception e) { - log.warn("Can't add feeed " + address + " : " + type - + ".", e); - e.printStackTrace(); - } - } - } - } - } - - private void addFeedDefinitions( - Map<String, Map<String, Node>> feedDefinitions, - org.jboss.shotoku.Node node) throws SAXException, IOException { - DOMParser parser = new DOMParser(); - parser.parse(new InputSource(node.getContentInputStream())); - Node root = parser.getDocument().getDocumentElement(); - - Node n; - NodeList nodes = root.getChildNodes(); - - for (int i = 0; i < nodes.getLength(); i++) { - n = nodes.item(i); - if (feedDefinitions.get(n.getNodeName()) != null) - feedDefinitions.get(n.getNodeName()).put( - XmlTools.getAttributeValue(n, "name"), n); - } - } -} Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsDescriptor.java (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsDescriptor.java) Deleted: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsPortlet.java =================================================================== --- trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsPortlet.java 2005-10-21 19:05:44 UTC (rev 1427) +++ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsPortlet.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -1,20 +0,0 @@ -package org.jboss.forge.feeds; - -import java.io.IOException; - -import javax.portlet.PortletException; -import javax.portlet.PortletSecurityException; - -import org.jboss.portlet.JBossPortlet; -import org.jboss.portlet.JBossRenderRequest; -import org.jboss.portlet.JBossRenderResponse; - -public class FeedsPortlet extends JBossPortlet { - - @Override - protected void doView(JBossRenderRequest request, JBossRenderResponse response) - throws PortletException, PortletSecurityException, IOException { - - } - -} Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsPortlet.java (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FeedsPortlet.java) Deleted: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FileBasedFeed.java =================================================================== --- trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FileBasedFeed.java 2005-10-21 19:05:44 UTC (rev 1427) +++ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FileBasedFeed.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -1,57 +0,0 @@ -package org.jboss.forge.feeds; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URL; - -import com.sun.syndication.io.XmlReader; - -public abstract class FileBasedFeed implements Feed { - private final static int BUF_SIZE = 32768; - - private File file; - - public FileBasedFeed(File file) { - this.file = file; - } - - private void transfer(InputStream is, OutputStream os) throws IOException { - byte[] buffer = new byte[BUF_SIZE]; - int read; - while ((read = is.read(buffer)) != -1) - os.write(buffer, 0, read); - } - - public void generateFromUrl(URL url) throws IOException { - file.createNewFile(); - - InputStream is = url.openStream(); - OutputStream os = new BufferedOutputStream(new FileOutputStream(file)); - - transfer(is, os); - - is.close(); - os.close(); - } - - public void write(OutputStream os) throws IOException { - InputStream is = new BufferedInputStream(new FileInputStream(file)); - - transfer(is, os); - is.close(); - } - - public XmlReader getXmlReader() throws IOException { - return new XmlReader(file); - } - - protected File getFile() { - return file; - } -} Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FileBasedFeed.java (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/FileBasedFeed.java) Deleted: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/RomeBasedFeed.java =================================================================== --- trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/RomeBasedFeed.java 2005-10-21 19:05:44 UTC (rev 1427) +++ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/RomeBasedFeed.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -1,45 +0,0 @@ -package org.jboss.forge.feeds; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import com.sun.syndication.feed.synd.SyndFeed; -import com.sun.syndication.feed.synd.SyndFeedImpl; -import com.sun.syndication.io.FeedException; -import com.sun.syndication.io.SyndFeedInput; -import com.sun.syndication.io.SyndFeedOutput; - -public abstract class RomeBasedFeed extends FileBasedFeed { - public RomeBasedFeed(File file) { - super(file); - } - - protected abstract void setFeedType(SyndFeed feed); - - @SuppressWarnings("unchecked") - public void generateFromFeeds(Feed[] feeds) throws IllegalArgumentException, FeedException, IOException { - SyndFeed syndFeed = new SyndFeedImpl(); - - setFeedType(syndFeed); - - syndFeed.setTitle("Aggregated Feed"); - syndFeed.setDescription("Anonymous Aggregated Feed"); - syndFeed.setAuthor("anonymous"); - syndFeed.setLink("http://www.anonymous.com"); - - List entries = new ArrayList(); - syndFeed.setEntries(entries); - - for (Feed feed : feeds) { - SyndFeedInput input = new SyndFeedInput(); - SyndFeed inFeed = input.build(feed.getXmlReader()); - - entries.addAll(inFeed.getEntries()); - } - - SyndFeedOutput output = new SyndFeedOutput(); - output.output(syndFeed, getFile()); - } -} Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/RomeBasedFeed.java (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/RomeBasedFeed.java) Deleted: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Rss2Feed.java =================================================================== --- trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Rss2Feed.java 2005-10-21 19:05:44 UTC (rev 1427) +++ qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Rss2Feed.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -1,17 +0,0 @@ -package org.jboss.forge.feeds; - -import java.io.File; -import java.io.IOException; - -import com.sun.syndication.feed.synd.SyndFeed; - -public class Rss2Feed extends RomeBasedFeed { - public Rss2Feed(File file) throws IOException { - super(file); - } - - @Override - protected void setFeedType(SyndFeed feed) { - feed.setFeedType("rss_2.0"); - } -} Copied: qa/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Rss2Feed.java (from rev 1427, trunk/forge/portal-extensions/forge-feeds/src/java/org/jboss/forge/feeds/Rss2Feed.java) Modified: qa/forge/portal-extensions/forge-prj-downloads/project.xml =================================================================== --- qa/forge/portal-extensions/forge-prj-downloads/project.xml 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/forge-prj-downloads/project.xml 2005-10-21 19:20:15 UTC (rev 1429) @@ -17,21 +17,7 @@ <description></description> <dependencies> - <dependency> - <groupId>tmate</groupId> - <artifactId>javasvn</artifactId> - <version>1.0</version> - <jar>javasvn.jar</jar> - </dependency> - <dependency> - <groupId>tmate</groupId> - <artifactId>jsch</artifactId> - <version>1.0</version> - <jar>jsch.jar</jar> - </dependency> - - <dependency> <groupId>jboss-forge</groupId> <artifactId>forge-common</artifactId> <version>1.0</version> Modified: qa/forge/portal-extensions/forge-prj-info/project.xml =================================================================== --- qa/forge/portal-extensions/forge-prj-info/project.xml 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/forge-prj-info/project.xml 2005-10-21 19:20:15 UTC (rev 1429) @@ -17,21 +17,7 @@ <description></description> <dependencies> - <dependency> - <groupId>tmate</groupId> - <artifactId>javasvn</artifactId> - <version>1.0</version> - <jar>javasvn.jar</jar> - </dependency> - <dependency> - <groupId>tmate</groupId> - <artifactId>jsch</artifactId> - <version>1.0</version> - <jar>jsch.jar</jar> - </dependency> - - <dependency> <groupId>jboss-forge</groupId> <artifactId>forge-common</artifactId> <version>1.0</version> Modified: qa/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -122,7 +122,7 @@ } } - if (rReq.getParameter("page") != null) { + if (rReq.getParameter("page") != null && (rReq.getParameter("page").length() > 0)) { StringBuffer sBuf = new StringBuffer(rReq.getParameter("page")); if (Character.isLowerCase(sBuf.charAt(0))) { @@ -293,7 +293,7 @@ showPage = false; WikiContext editWikiContext = new WikiContext( - credentials.getName(), wikiEngine.getWikiType("edit"), + credentials, wikiEngine.getWikiType("edit"), wikiSession); pageToShow = wikiEngine.getByName(wikiPage, editWikiContext); @@ -381,7 +381,7 @@ // System.out.println("Getting type: " + type); } - wikiContext = new WikiContext(credentials.getName(), wikiEngine + wikiContext = new WikiContext(credentials, wikiEngine .getWikiType(type), new PortletWikiSession(rReq .getPortletSession())); Modified: qa/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -8,6 +8,7 @@ *****************************************/ package org.jboss.wiki.fileaccess; +import java.awt.image.SampleModel; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; @@ -27,6 +28,7 @@ import org.jboss.wiki.FileDataSource; import org.jboss.wiki.ServletWikiSession; +import org.jboss.wiki.SimpleCredentials; import org.jboss.wiki.WikiAttachment; import org.jboss.wiki.WikiCommon; import org.jboss.wiki.WikiContext; @@ -226,7 +228,7 @@ pageName = pageName.substring(1); WikiPage page = wikiEngine.getByName(pageName, - new WikiContext("", wikiEngine + new WikiContext(new SimpleCredentials(""), wikiEngine .getWikiType(wikiTypeName), wikiSession)); httpResponse.setContentType(wikiEngine Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/etc/WikiTypes.xml =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/etc/WikiTypes.xml 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/etc/WikiTypes.xml 2005-10-21 19:20:15 UTC (rev 1429) @@ -17,14 +17,14 @@ <class>org.jboss.wiki.plugins.SubpagesListPlugin</class> </plugin> <plugin> + <name>adminConsole</name> + <class>org.jboss.wiki.plugins.AdminConsolePlugin</class> + </plugin> + <plugin> <name>attachmentList</name> <class>org.jboss.wiki.plugins.AttachmentListPlugin</class> </plugin> <plugin> - <name>adminConsole</name> - <class>org.jboss.wiki.plugins.AdminConsolePlugin</class> - </plugin> - <plugin> <name>wikiToHtmlTranslator</name> <class>org.jboss.wiki.plugins.HTMLTranslatorParts</class> </plugin> Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/etc/org/jboss/wiki/filedatasource.properties.sample =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/etc/org/jboss/wiki/filedatasource.properties.sample 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/etc/org/jboss/wiki/filedatasource.properties.sample 2005-10-21 19:20:15 UTC (rev 1429) @@ -1,7 +1,9 @@ # FileDataSource configuration file # pathToMedia - points, where JSPWiki file structure is situated -pathToMedia = +#pathToMedia=/usr/local/forge/wiki +pathToMedia= # pathToAttachements - points, where JSPWiki attachemets are situated -pathToAttachements = +#pathToAttachements=/usr/local/forge/wiki +pathToAttachements= Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/EditSessionWatcher.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/EditSessionWatcher.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/EditSessionWatcher.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -30,7 +30,7 @@ @Override public void run() { while (runs) { - System.out.println("Checking watcher for page "+watchedPage.getName()+" with sessionid: "+editSessionId); + //System.out.println("Checking watcher for page "+watchedPage.getName()+" with sessionid: "+editSessionId); Date now = new Date(); if (now.after(endTime)) { Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -665,7 +665,7 @@ File attDir = new File(pathToAttachments + "/" + page.getName() + "-att"); - if (attDir.exists()) { + if (attDir.exists() && (attDir.listFiles().length > 0)) { File[] attachements = attDir.listFiles(); for (int i = 0; i < attachements.length; i++) { Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiContext.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiContext.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiContext.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -28,7 +28,7 @@ * <p>Represents ...</p> * */ - private String user; + private Credentials user; /** * <p>Represents ...</p> @@ -41,7 +41,7 @@ */ private WikiSession wikiSession; - public WikiContext(String user, WikiType requestedType, WikiSession wikiSession) { + public WikiContext(Credentials user, WikiType requestedType, WikiSession wikiSession) { this.user = user; this.requestedType = requestedType; this.wikiSession = wikiSession; @@ -52,7 +52,7 @@ } - public String getUser() { + public Credentials getUser() { return user; } Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -35,6 +35,8 @@ import org.jboss.wiki.exceptions.PageRenamingException; import org.jboss.wiki.exceptions.WikiException; +import sun.security.krb5.internal.p; + import java.io.File; /** @@ -72,8 +74,6 @@ private WikiPageDictionary wikiPageDictionary; - private String adminUserName = "admin"; - WikiPage noSuchPage; private Integer sessionIdExpireTime = 120; @@ -180,7 +180,7 @@ } if ((wikiContext != null) && (ret != null) && (!ret.isViewable()) - && (!wikiContext.getUser().equals(adminUserName))) { + && (!wikiContext.getUser().isAdmin())) { s.release(); return new WikiPage(realPageName, null, "I am sorry, but you are not allowed to see this page", 0, Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -145,7 +145,7 @@ adminConsole.append("This page ").append( (editable) ? "is" : "isn't").append(" editable "); adminConsole.append("<a href=\"").append(actionURL) - .append("&page=").append("&var1=chmod").append("&var2=") + .append("&page=").append(wikiPage.getName()).append("&var1=chmod").append("&var2=") .append(!editable).append("&var3=").append(viewable) .append("\" >SWITCH IT ").append((editable) ? "NOT" : "") .append(" EDITABLE</a><br />\n"); Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/DictionaryTest.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/DictionaryTest.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/DictionaryTest.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -10,7 +10,7 @@ public void testDictionary() throws WikiException{ - WikiContext wikiContext = new WikiContext(plainUser.getName(), wikiEngine.getWikiType("html"), testWikiSession); + WikiContext wikiContext = new WikiContext(plainUser, wikiEngine.getWikiType("html"), testWikiSession); String page1 = createTestPage(plainUser, "1 page number 1"); String page2 = createTestPage(plainUser, "2 page number 2"); @@ -66,7 +66,7 @@ } public void testTranslating () { - WikiContext wikiContext = new WikiContext(plainUser.getName(), wikiEngine.getWikiType("edit"), testWikiSession); + WikiContext wikiContext = new WikiContext(plainUser, wikiEngine.getWikiType("edit"), testWikiSession); WikiPage sourceMain = wikiEngine.getByName("Main", null); Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/GetSavePageTest.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/GetSavePageTest.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/GetSavePageTest.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -9,7 +9,7 @@ public class GetSavePageTest extends WikiTest { public void testSaveGetPage() throws WikiException { - WikiContext wikiContext = new WikiContext(plainUser.getName(), wikiEngine.getWikiType("html"), testWikiSession); + WikiContext wikiContext = new WikiContext(plainUser, wikiEngine.getWikiType("html"), testWikiSession); String testPageName = createTestPage(plainUser, "This is simple conten [link] \\ Hello !"); @@ -42,7 +42,7 @@ }*/ public void testLocking() throws WikiException{ - WikiContext wikiContext = new WikiContext("test-user", wikiEngine.getWikiType("html"), testWikiSession); + WikiContext wikiContext = new WikiContext(plainUser, wikiEngine.getWikiType("html"), testWikiSession); WikiPage wikiPage = wikiEngine.getByName(createTestPage(plainUser, "some page content"), null); WikiPage wikiPage2 = wikiEngine.getByName(createTestPage(plainUser, "some page content"), null); Modified: qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/WikiTest.java =================================================================== --- qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/WikiTest.java 2005-10-21 19:17:03 UTC (rev 1428) +++ qa/forge/portal-extensions/jbosswiki/wiki-common/src/test/java/org/jboss/wiki/test/WikiTest.java 2005-10-21 19:20:15 UTC (rev 1429) @@ -41,7 +41,7 @@ } protected String createTestPage(Credentials user, String pageContent) throws WikiException{ - WikiContext wikiContext = new WikiContext(user.getName(), wikiEngine.getWikiType("html"), testWikiSession); + WikiContext wikiContext = new WikiContext(user, wikiEngine.getWikiType("html"), testWikiSession); if (wikiContext == null) { fail("There is no html wikitype"); |