You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by aj...@apache.org on 2008/09/18 05:17:43 UTC
svn commit: r696555 [2/2] - in
/incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH:
src/com/ecyrd/jspwiki/ src/com/ecyrd/jspwiki/action/
src/com/ecyrd/jspwiki/tags/ src/com/ecyrd/jspwiki/url/
tests/com/ecyrd/jspwiki/ui/stripes/
Modified: incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/tags/WikiTagBase.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/tags/WikiTagBase.java?rev=696555&r1=696554&r2=696555&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/tags/WikiTagBase.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/tags/WikiTagBase.java Wed Sep 17 20:17:43 2008
@@ -86,7 +86,7 @@
* {@link com.ecyrd.jspwiki.action.WikiActionBeanFactory#findActionBean(javax.servlet.ServletRequest)}.
* (That method retrieves the WikiActionBean from page scope.).
* If the WikiActionBean is a WikiContext, a specific reference to the WikiContext
- * will be set also. Both of these available as protected fields {@link #m_actionBean} and
+ * will be set also. Both of these available as protected fields {@link #m_wikiActionBean} and
* {@link #m_wikiContext}, respectively. It is considered an error condition if the
* WikiActionBean cannot be retrieved from the PageContext.
* It's also an error condition if the WikiActionBean is actually a WikiContext, and it
Modified: incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/url/StripesURLConstructor.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/url/StripesURLConstructor.java?rev=696555&r1=696554&r2=696555&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/url/StripesURLConstructor.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/src/com/ecyrd/jspwiki/url/StripesURLConstructor.java Wed Sep 17 20:17:43 2008
@@ -75,13 +75,12 @@
* ActionBean class is not a WikiContext subclass, the value of the
* <code>page</code> parameter is ignored.
*
- * @param beanClass the WikiActionBean subclass to use
- * @param page the wiki page; if <code>null</code>, the front page will
- * be used
- * @param params the query parameters to append to the end of the URL; may
- * be <code>null</code> if no parameters
+ * @param context the wiki request context to use
+ * @param name the target of the action, typically the wiki page
* @param absolute If <code>true</code>, will generate an absolute URL
* regardless of properties setting.
+ * @param parameters the query parameters to append to the end of the URL; may
+ * be <code>null</code> if no parameters
* @return the URL
*/
@Override
Modified: incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/AbstractNode.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/AbstractNode.java?rev=696555&r1=696554&r2=696555&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/AbstractNode.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/AbstractNode.java Wed Sep 17 20:17:43 2008
@@ -39,54 +39,31 @@
m_type = type;
}
- /*
- * (non-Javadoc)
- *
+ /**
* @see com.ecyrd.jspwiki.ui.stripes.Node#addChild(com.ecyrd.jspwiki.ui.stripes.Node)
*/
public void addChild( Node node )
{
// Set parent/child relationships
node.setParent( this );
+
+ // Add the node
m_children.add( node );
+ }
- // If this node is a "combined node," split it into two
- if( m_type == NodeType.HTML_COMBINED_TAG )
- {
- // Check that this node has a parent
- if( m_parent == null )
- {
- throw new IllegalStateException( "Node has no parent!" );
- }
-
- // Change node type to start tag
- m_type = NodeType.HTML_START_TAG;
-
- // Build new end tag & set its parent
- Tag endNode = new Tag( m_doc, NodeType.HTML_END_TAG );
- endNode.setName( m_name );
- // FIXME
- // endNode.setText( NodeType.HTML_END_TAG.getTagEnd() + m_name +
- // NodeType.HTML_END_TAG.getTagEnd() );
- endNode.setParent( m_parent );
-
- // Insert as sibling of this node
- List<Node> siblings = m_parent.getChildren();
- int index = siblings.indexOf( this );
- if( index == siblings.size() - 1 )
- {
- siblings.add( endNode );
- }
- else
- {
- siblings.add( index, endNode );
- }
- }
+ /**
+ * @see com.ecyrd.jspwiki.ui.stripes.Node#addChild(Node, int)
+ */
+ public void addChild( Node node, int index )
+ {
+ // Set parent/child relationships
+ node.setParent( this );
+
+ // Add the node
+ m_children.add( index, node );
}
- /*
- * (non-Javadoc)
- *
+ /**
* @see com.ecyrd.jspwiki.ui.stripes.Node#getChildren()
*/
public List<Node> getChildren()
Modified: incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/Node.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/Node.java?rev=696555&r1=696554&r2=696555&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/Node.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/Node.java Wed Sep 17 20:17:43 2008
@@ -14,20 +14,21 @@
public abstract JspDocument getJspDocument();
/**
- * Adds a child to the current AbstractNode. If the AbstractNode is of type
- * {@link NodeType#HTML_COMBINED_TAG}, the tag will be split into two nodes
- * (start tag and end tag), with the child AbstractNode inserted between the two.
+ * Adds a child to the current Node.
*
* @param node the node to insert
- * @param value the node to insert in between the split nodes
- * @throws IllegalArgumentException if the supplied node to split is not of
- * type {@link NodeType#HTML_START_TAG},
- * {@link NodeType#HTML_START_TAG} or
- * {@link NodeType#HTML_COMBINED_TAG}
- * @throws IllegalStateException if the current AbstractNode must be split, and does
- * not have a parent.
*/
public abstract void addChild( Node node );
+
+ /**
+ * Adds a child to the current Node before a specified position
+ * in the list of children. If the position is 0, the Node will be
+ * inserted before the first child.
+ *
+ * @param node the node to insert
+ * @param index the position to insert the Node into
+ */
+ public abstract void addChild( Node node, int index );
/**
* Returns the child nodes of this node, as a defensive copy of the
Modified: incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/Tag.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/Tag.java?rev=696555&r1=696554&r2=696555&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/Tag.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_STRIPES_BRANCH/tests/com/ecyrd/jspwiki/ui/stripes/Tag.java Wed Sep 17 20:17:43 2008
@@ -15,11 +15,10 @@
private List<Attribute> m_attributes = new ArrayList<Attribute>();
/**
- *
* @param doc the parent JspDocument
* @param type
*/
- public Tag ( JspDocument doc, NodeType type )
+ public Tag( JspDocument doc, NodeType type )
{
super( doc, type );
}
@@ -104,33 +103,109 @@
sb.append( getValue() );
sb.append( "\"]" );
- return sb.toString(); }
-
- public String getValue()
+ return sb.toString();
+ }
+
+ /**
+ * Adds a child to the current Node. If the Node is of type
+ * {@link NodeType#HTML_COMBINED_TAG}, the tag will be split into two nodes
+ * (start tag and end tag), with the child Node inserted between the two.
+ *
+ * @param node the node to insert
+ * @param value the node to insert in between the split nodes
+ * @throws IllegalStateException if the current Node must be split, and does
+ * not have a parent.
+ */
+ public void addChild( Node node )
{
- if ( m_type != NodeType.HTML_START_TAG )
+ if( m_children.size() == 0 )
+ {
+ addChild( node, 0 );
+ }
+ else
+ {
+ super.addChild( node );
+ }
+ }
+
+ /**
+ * Adds a child to the current Node before a specified position in the list
+ * of children. If the position is 0, the Node will be inserted before the
+ * first child. If the Node is of type {@link NodeType#HTML_COMBINED_TAG},
+ * the tag will be split into two nodes (start tag and end tag), with the
+ * child Node inserted between the two.
+ *
+ * @param node the node to insert
+ * @param index the position to insert the Node into
+ * @throws IllegalStateException if the current Node must be split, and does
+ * not have a parent.
+ */
+ public void addChild( Node node, int index )
+ {
+ if( m_parent == null )
+ {
+ throw new IllegalStateException( "Node does not have a parent!" );
+ }
+
+ // If this node is a "combined node," split it into two
+ if( m_type == NodeType.HTML_COMBINED_TAG )
+ {
+ // Change node type to start tag
+ m_type = NodeType.HTML_START_TAG;
+
+ // Build new end tag & set its parent
+ Tag endNode = new Tag( m_doc, NodeType.HTML_END_TAG );
+ endNode.setName( m_name );
+
+ // FIXME
+ // endNode.setText( NodeType.HTML_END_TAG.getTagEnd() + m_name +
+ // NodeType.HTML_END_TAG.getTagEnd() );
+ endNode.setParent( m_parent );
+
+ // Insert as sibling of this node
+ List<Node> siblings = m_parent.getChildren();
+ int startTagPos = siblings.indexOf( this );
+ if( startTagPos == siblings.size() - 1 )
+ {
+ m_parent.addChild( endNode );
+ }
+ else
+ {
+ m_parent.addChild( endNode, startTagPos + 1 );
+ }
+ }
+ else
+ {
+ super.addChild( node, index );
+ }
+ }
+
+ public String getValue()
+ {
+ if( m_type != NodeType.HTML_START_TAG )
{
return null;
}
return super.getValue();
}
-
+
/**
- * Returns the string that represents the Tag, including the name and attributes, but not any child nodes.
+ * Returns the string that represents the Tag, including the name and
+ * attributes, but not any child nodes.
*/
public String toString()
{
StringBuilder sb = new StringBuilder();
sb.append( m_type.getTagStart() );
-
+
// HTML nodes and JSP directives are formatted in mostly the same way.
- if ( isHtmlNode() || m_type == NodeType.JSP_DIRECTIVE )
+ if( isHtmlNode() || m_type == NodeType.JSP_DIRECTIVE )
{
- if ( m_type == NodeType.JSP_DIRECTIVE )
+ if( m_type == NodeType.JSP_DIRECTIVE )
{
sb.append( ' ' );
}
- sb.append( m_name );
+ sb.append( m_name );
if( m_attributes.size() > 0 )
{
for( Attribute attr : m_attributes )
@@ -140,15 +215,16 @@
}
}
}
-
+
// Everything else is just the start/end tags plus the children nodes
- else {
- for ( Node child : m_children )
+ else
+ {
+ for( Node child : m_children )
{
sb.append( child.toString() );
}
}
-
+
sb.append( m_type.getTagEnd() );
return sb.toString();
}