[CVS jcontainer] Renamed org.jcontainer.loom -> org.codehaus.loom

mauro-yCVjj/[email protected] Mon, 19 Apr 2004 16:39:21 -0500
Newsgroups gmane.comp.java.jcontainer.cvs
Message-ID <[email protected]>
<html>
<head>
<style><!--
  body {background-color:#ffffff;}
  .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
  .pathname {font-family:monospace; float:right;}
  .fileheader {margin-bottom:.5em;}
  .diff {margin:0;}
  .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
  .tasklist ul {margin-top:0;margin-bottom:0;}
  tr.alt {background-color:#eeeeee}
  #added {background-color:#ddffdd;}
  #addedchars {background-color:#99ff99;font-weight:bolder;}
  tr.alt #added {background-color:#ccf7cc;}
  #removed {background-color:#ffdddd;}
  #removedchars {background-color:#ff9999;font-weight:bolder;}
  tr.alt #removed {background-color:#f7cccc;}
  #info {color:#888888;}
  #context {background-color:#eeeeee;}
  td {padding-left:.3em;padding-right:.3em;}
  tr.head {border-bottom-width:1px;border-bottom-style:solid;}
  tr.head td {padding:0;padding-top:.2em;}
  .task {background-color:#ffff00;}
  .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd}
  .error {color:red;}
  hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="4">Commit in <b><tt>jcontainer/loom/plugins</tt></b><span id="info"> on MAIN</span></td></tr>
<tr><td><tt>maven-loom/src/test/org/jcontainer/loom/info/<a href="#file1"><span id="removed">PhoenixAttributeInterceptorTestCase.java</span></a></tt></td><td></td><td align="right" id="removed">-572</td><td nowrap="nowrap"><a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org/jcontainer/loom/info/PhoenixAttributeInterceptorTestCase.java?rev=1.2&amp;content-type=text/vnd.viewcvs-markup">1.2</a> removed</td></tr>
<tr class="alt"><td><tt>maven-loom/src/java/org/jcontainer/loom/info/<a href="#file2"><span id="removed">PhoenixAttributeInterceptor.java</span></a></tt></td><td></td><td align="right" id="removed">-243</td><td nowrap="nowrap"><a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org/jcontainer/loom/info/PhoenixAttributeInterceptor.java?rev=1.2&amp;content-type=text/vnd.viewcvs-markup">1.2</a> removed</td></tr>
<tr><td><tt>maven-loom/src/java/org/codehaus/loom/info/<a href="#file3"><span id="added">PhoenixAttributeInterceptor.java</span></a></tt></td><td align="right" id="added">+243</td><td></td><td nowrap="nowrap" align="right">added <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org/codehaus/loom/info/PhoenixAttributeInterceptor.java?rev=1.1&amp;content-type=text/vnd.viewcvs-markup">1.1</a></td></tr>
<tr class="alt"><td><tt>xdocs/<a href="#file4">index.xml</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/xdocs/index.xml?rev=1.3&amp;content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/xdocs/index.xml.diff?r1=1.3&amp;r2=1.4">-&gt;</a> <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/xdocs/index.xml?rev=1.4&amp;content-type=text/vnd.viewcvs-markup">1.4</a></td></tr>
<tr><td><tt>maven-loom/<a href="#file5">plugin.jelly</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/plugin.jelly?rev=1.1&amp;content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/plugin.jelly.diff?r1=1.1&amp;r2=1.2">-&gt;</a> <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/plugin.jelly?rev=1.2&amp;content-type=text/vnd.viewcvs-markup">1.2</a></td></tr>
<tr class="alt"><td><tt>maven-loom/src/test/org/codehaus/loom/info/<a href="#file6"><span id="added">PhoenixAttributeInterceptorTestCase.java</span></a></tt></td><td align="right" id="added">+574</td><td></td><td nowrap="nowrap" align="right">added <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org/codehaus/loom/info/PhoenixAttributeInterceptorTestCase.java?rev=1.1&amp;content-type=text/vnd.viewcvs-markup">1.1</a></td></tr>
<tr><td></td><td align="right" id="added">+819</td><td align="right" id="removed">-817</td><td></td></tr>
</table>
<small id="info">2 added + 2 removed + 2 modified, total 6 files</small><br />
<pre class="comment">
Renamed org.jcontainer.loom -&gt; org.codehaus.loom
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname" id="removed"><a href="http://xstream.cvs.codehaus.org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins">plugins</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom">maven-loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src">src</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test">test</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org">org</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcont
 ainer/loom/plugins/maven-loom/src/test/org/jcontainer/loom/info">info</a><br /></span>
<div class="fileheader" id="removed"><big><b>PhoenixAttributeInterceptorTestCase.java</b></big> <small id="info">removed after <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org/jcontainer/loom/info/PhoenixAttributeInterceptorTestCase.java?rev=1.2&amp;content-type=text/vnd.viewcvs-markup">1.2</a></small></div>
<pre class="diff"><small id="info">diff -N PhoenixAttributeInterceptorTestCase.java
--- PhoenixAttributeInterceptorTestCase.java	18 Apr 2004 18:53:01 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,572 +0,0 @@
</small></pre><pre class="diff" id="removed">-/*
- * Copyright (C) The JContainer Group. All rights reserved.
- *
- * This software is published under the terms of the JContainer
- * Software License version 1.1, a copy of which has been included
- * with this distribution in the LICENSE.txt file.
- */
-package org.jcontainer.loom.info;
-
-import com.thoughtworks.qdox.model.DefaultDocletTag;
-import com.thoughtworks.qdox.model.DefaultDocletTagFactory;
-import com.thoughtworks.qdox.model.DocletTagFactory;
-import com.thoughtworks.qdox.model.JavaClass;
-import com.thoughtworks.qdox.model.JavaMethod;
-import com.thoughtworks.qdox.model.JavaSource;
-import java.util.ArrayList;
-import java.util.Properties;
-import junit.framework.TestCase;
-import org.codehaus.metaclass.model.Attribute;
-
-/**
- * @author Peter Donald
- * @version $Revision: 1.2 $ $Date: 2004/04/18 18:53:01 $
- */
-public class PhoenixAttributeInterceptorTestCase
-    extends TestCase
-{
-    public void testProcessClassAttributeWithoutTransformations()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "ignored" );
-        final Attribute result =
-            interceptor.processClassAttribute(
-                new JavaClass( new JavaSource() ),
-                attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "ignored", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      0,
-                      result.getParameterCount() );
-    }
-
-    public void testProcessClassAttributeWithPhoenixBlock()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "phoenix:block" );
-        final Attribute result =
-            interceptor.processClassAttribute(
-                new JavaClass( new JavaSource() ),
-                attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "dna.component", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      0,
-                      result.getParameterCount() );
-    }
-
-    public void testProcessClassAttributeWithPhoenixMxTopic()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Properties parameters = new Properties();
-        parameters.setProperty( "name", "MyTopic" );
-        final Attribute attribute = new Attribute( "phoenix:mx-topic",
-                                                   parameters );
-        final Attribute result =
-            interceptor.processClassAttribute(
-                new JavaClass( new JavaSource() ),
-                attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "mx.component", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(description)",
-                      "MyTopic",
-                      result.getParameter( "description" ) );
-    }
-
-    public void testProcessClassAttributeWithPhoenixService()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Properties parameters = new Properties();
-        parameters.setProperty( "name", "X" );
-        final Attribute attribute = new Attribute( "phoenix:service",
-                                                   parameters );
-        final Attribute result =
-            interceptor.processClassAttribute(
-                new JavaClass( new JavaSource() ),
-                attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "dna.service", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(type)",
-                      "X",
-                      result.getParameter( "type" ) );
-    }
-
-    public void testProcessClassAttributeWithPhoenixMXProxy()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Properties parameters = new Properties();
-        parameters.setProperty( "class", "X" );
-        final Attribute attribute = new Attribute( "phoenix:mx-proxy",
-                                                   parameters );
-        final Attribute result =
-            interceptor.processClassAttribute(
-                new JavaClass( new JavaSource() ),
-                attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "mx.proxy", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(type)",
-                      "X",
-                      result.getParameter( "type" ) );
-    }
-
-    public void testProcessMethodAttributeWithoutTransformation()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "ignore-me" );
-        final Attribute result =
-            interceptor.processMethodAttribute( new JavaMethod(), attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "ignore-me", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      0,
-                      result.getParameterCount() );
-    }
-
-    public void testProcessMethodAttributeWithMXDescription()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "phoenix:mx-description" );
-        final Attribute result =
-            interceptor.processMethodAttribute( new JavaMethod(), attribute );
-        assertNull( "attribute", result );
-    }
-
-    public void testProcessMethodAttributeWithMXAttributeAndNoDescriptionOrComment()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "phoenix:mx-attribute" );
-        final Attribute result =
-            interceptor.processMethodAttribute( new JavaMethod(), attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "mx.attribute", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      0,
-                      result.getParameterCount() );
-    }
-
-    public void testProcessMethodAttributeWithMXAttributeAndDescription()
-        throws Exception
-    {
-        final String description = "A Random Thought";
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "phoenix:mx-attribute" );
-        final JavaMethod method = new JavaMethod();
-        final ArrayList tags = new ArrayList();
-        final DocletTagFactory factory = new DefaultDocletTagFactory();
-        tags.add(
-            factory.createDocletTag( "phoenix:mx-description", description ) );
-        method.setTags( tags );
-        final Attribute result =
-            interceptor.processMethodAttribute( method, attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "mx.attribute", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(description)",
-                      description, result.getParameter( "description" ) );
-    }
-
-    public void testProcessMethodAttributeWithMXAttributeAndComment()
-        throws Exception
-    {
-        final String description = "A Random Thought";
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "phoenix:mx-attribute" );
-        final JavaMethod method = new JavaMethod();
-        method.setComment( description );
-        final Attribute result =
-            interceptor.processMethodAttribute( method, attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "mx.attribute", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(description)",
-                      description, result.getParameter( "description" ) );
-    }
-
-    public void testProcessMethodAttributeWithMXOperationAndNoDescriptionOrComment()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "phoenix:mx-operation" );
-        final Attribute result =
-            interceptor.processMethodAttribute( new JavaMethod(), attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "mx.operation", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      0,
-                      result.getParameterCount() );
-    }
-
-    public void testProcessMethodAttributeWithMXOperationAndDescription()
-        throws Exception
-    {
-        final String description = "A Random Thought";
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "phoenix:mx-operation" );
-        final JavaMethod field = new JavaMethod();
-        final ArrayList tags = new ArrayList();
-        tags.add(
-            new DefaultDocletTag( "phoenix:mx-description", description ) );
-        field.setTags( tags );
-        final Attribute result =
-            interceptor.processMethodAttribute( field, attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "mx.operation", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(description)",
-                      description, result.getParameter( "description" ) );
-    }
-
-    public void testProcessMethodAttributeWithMXOperationAndComment()
-        throws Exception
-    {
-        final String description = "A Random Thought";
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute( "phoenix:mx-operation" );
-        final JavaMethod field = new JavaMethod();
-        field.setComment( description );
-        final Attribute result =
-            interceptor.processMethodAttribute( field, attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "mx.operation", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(description)",
-                      description, result.getParameter( "description" ) );
-    }
-
-    public void testProcessMethodAttributeWithPhoenixConfigurationSchema()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute attribute = new Attribute(
-            "phoenix:configuration-schema" );
-        final JavaClass javaClass = new JavaClass( new JavaSource() );
-        javaClass.setName( "com.biz.MyClass" );
-        final JavaMethod method = new JavaMethod();
-        method.setParentClass( javaClass );
-        final Attribute result =
-            interceptor.processMethodAttribute( method, attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name",
-                      "dna.configuration",
-                      result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      0,
-                      result.getParameterCount() );
-    }
-
-    public void testProcessMethodAttributeWithPhoenixConfigurationSchemaSpecifyingType()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Properties parameters = new Properties();
-        final String type = "BobbaFett";
-        parameters.setProperty( "type", type );
-        final Attribute attribute = new Attribute(
-            "phoenix:configuration-schema", parameters );
-        final JavaClass javaClass = new JavaClass( new JavaSource() );
-        javaClass.setName( "com.biz.MyClass" );
-        final JavaMethod method = new JavaMethod();
-        method.setParentClass( javaClass );
-        final Attribute result =
-            interceptor.processMethodAttribute( method, attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name",
-                      "dna.configuration",
-                      result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(type)",
-                      type, result.getParameter( "type" ) );
-    }
-
-    public void testProcessMethodAttributeWithPhoenixConfigurationSchemaSpecifyingRelaxType()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Properties parameters = new Properties();
-        parameters.setProperty( "type", "relax-ng" );
-        final Attribute attribute = new Attribute(
-            "phoenix:configuration-schema", parameters );
-        final JavaClass javaClass = new JavaClass( new JavaSource() );
-        javaClass.setName( "com.biz.MyClass" );
-        final JavaMethod method = new JavaMethod();
-        method.setParentClass( javaClass );
-        final Attribute result =
-            interceptor.processMethodAttribute( method, attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name",
-                      "dna.configuration",
-                      result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(type)",
-                      "http://relaxng.org/ns/structure/1.0",
-                      result.getParameter( "type" ) );
-    }
-
-    public void testProcessMethodAttributeWithPhoenixDependency()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Properties parameters = new Properties();
-        final String type = "BobbaFett";
-        parameters.setProperty( "name", type );
-        final Attribute attribute = new Attribute( "phoenix:dependency",
-                                                   parameters );
-        final Attribute result =
-            interceptor.processMethodAttribute( new JavaMethod(), attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "dna.dependency", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      1,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(type)",
-                      type, result.getParameter( "type" ) );
-    }
-
-    public void testProcessMethodAttributeWithPhoenixDependencyWithRoleSpecified()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Properties parameters = new Properties();
-        final String type = "BobbaFett";
-        final String key = "myKey";
-        parameters.setProperty( "name", type );
-        parameters.setProperty( "role", key );
-        final Attribute attribute = new Attribute( "phoenix:dependency",
-                                                   parameters );
-        final Attribute result =
-            interceptor.processMethodAttribute( new JavaMethod(), attribute );
-        assertNotNull( "attribute", result );
-        assertEquals( "attribute.name", "dna.dependency", result.getName() );
-        assertEquals( "attribute.value", null, result.getValue() );
-        assertEquals( "attribute.parameterCount",
-                      2,
-                      result.getParameterCount() );
-        assertEquals( "attribute.parameter(type)",
-                      type, result.getParameter( "type" ) );
-        assertEquals( "attribute.parameter(key)",
-                      key, result.getParameter( "key" ) );
-    }
-
-    public void testProcessClassAttributesWithoutMXService()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute[] input = new Attribute[]{
-            new Attribute( "RandomJAttribute" )};
-        final Attribute[] attributes =
-            interceptor.processClassAttributes(
-                new JavaClass( new JavaSource() ), input );
-        assertEquals( "attributes.length", 1, attributes.length );
-        assertEquals( "attributes[0].name",
-                      "RandomJAttribute",
-                      attributes[ 0 ].getName() );
-        assertEquals( "attributes[0].value",
-                      null,
-                      attributes[ 0 ].getValue() );
-        assertEquals( "attributes[0].parameterCount",
-                      0,
-                      attributes[ 0 ].getParameterCount() );
-    }
-
-    public void testProcessClassAttributesWithMXService()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Properties parameters = new Properties();
-        final String type = "PerformMagicService";
-        parameters.setProperty( "name", type );
-        final Attribute attribute = new Attribute( "phoenix:mx", parameters );
-        final Attribute[] input = new Attribute[]{attribute};
-        final Attribute[] attributes =
-            interceptor.processClassAttributes(
-                new JavaClass( new JavaSource() ), input );
-        assertEquals( "attributes.length", 2, attributes.length );
-        assertEquals( "attributes[0].name",
-                      "dna.service",
-                      attributes[ 0 ].getName() );
-        assertEquals( "attributes[0].value",
-                      null,
-                      attributes[ 0 ].getValue() );
-        assertEquals( "attributes[0].parameterCount",
-                      1,
-                      attributes[ 0 ].getParameterCount() );
-        assertEquals( "attributes[0].parameter(type)",
-                      type, attributes[ 0 ].getParameter( "type" ) );
-        assertEquals( "attributes[1].name",
-                      "mx.interface",
-                      attributes[ 1 ].getName() );
-        assertEquals( "attributes[1].value",
-                      null,
-                      attributes[ 1 ].getValue() );
-        assertEquals( "attributes[1].parameterCount",
-                      2,
-                      attributes[ 1 ].getParameterCount() );
-        assertEquals( "attributes[1].parameter(type)",
-                      type, attributes[ 1 ].getParameter( "type" ) );
-        assertEquals( "attributes[1].parameter(topic)",
-                      "PerformMagicService",
-                      attributes[ 1 ].getParameter( "type" ) );
-    }
-
-    public void testProcessMethodAttributesWithoutMXOperation()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute[] input = new Attribute[]{
-            new Attribute( "RandomJAttribute" )};
-        final Attribute[] attributes =
-            interceptor.processMethodAttributes( new JavaMethod(), input );
-        assertEquals( "attributes.length", 1, attributes.length );
-        assertEquals( "attributes[0].name",
-                      "RandomJAttribute",
-                      attributes[ 0 ].getName() );
-        assertEquals( "attributes[0].value",
-                      null,
-                      attributes[ 0 ].getValue() );
-        assertEquals( "attributes[0].parameterCount",
-                      0,
-                      attributes[ 0 ].getParameterCount() );
-
-    }
-
-    public void testProcessMethodAttributesWithMXOperationWithoutParameters()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute[] input = new Attribute[]{
-            new Attribute( "mx.operation" )};
-        final Attribute[] attributes =
-            interceptor.processMethodAttributes( new JavaMethod(), input );
-        assertEquals( "attributes.length", 1, attributes.length );
-        assertEquals( "attributes[0].name",
-                      "mx.operation",
-                      attributes[ 0 ].getName() );
-        assertEquals( "attributes[0].value",
-                      null,
-                      attributes[ 0 ].getValue() );
-        assertEquals( "attributes[0].parameterCount",
-                      0,
-                      attributes[ 0 ].getParameterCount() );
-    }
-
-    public void testProcessMethodAttributesWithMXOperationWithMalformedParameter()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute[] input =
-            new Attribute[]{new Attribute( "mx.operation" ),
-                            new Attribute( "param", "var" )};
-        final Attribute[] attributes =
-            interceptor.processMethodAttributes( new JavaMethod(), input );
-        assertEquals( "attributes.length", 2, attributes.length );
-        assertEquals( "attributes[0].name",
-                      "mx.operation",
-                      attributes[ 0 ].getName() );
-        assertEquals( "attributes[0].value",
-                      null,
-                      attributes[ 0 ].getValue() );
-        assertEquals( "attributes[0].parameterCount",
-                      0,
-                      attributes[ 0 ].getParameterCount() );
-        assertEquals( "attributes[1].name",
-                      "param",
-                      attributes[ 1 ].getName() );
-        assertEquals( "attributes[1].value",
-                      "var",
-                      attributes[ 1 ].getValue() );
-        assertEquals( "attributes[1].parameterCount",
-                      0,
-                      attributes[ 1 ].getParameterCount() );
-    }
-
-    public void testProcessMethodAttributesWithMXOperationWithParameter()
-        throws Exception
-    {
-        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
-        final Attribute[] input =
-            new Attribute[]{new Attribute( "mx.operation" ),
-                            new Attribute( "param",
-                                           "var This is the description" )};
-        final Attribute[] attributes =
-            interceptor.processMethodAttributes( new JavaMethod(), input );
-        assertEquals( "attributes.length", 3, attributes.length );
-        assertEquals( "attributes[0].name",
-                      "mx.operation",
-                      attributes[ 0 ].getName() );
-        assertEquals( "attributes[0].value",
-                      null,
-                      attributes[ 0 ].getValue() );
-        assertEquals( "attributes[0].parameterCount",
-                      0,
-                      attributes[ 0 ].getParameterCount() );
-        assertEquals( "attributes[1].name",
-                      "param",
-                      attributes[ 1 ].getName() );
-        assertEquals( "attributes[1].value",
-                      "var This is the description",
-                      attributes[ 1 ].getValue() );
-        assertEquals( "attributes[1].parameterCount",
-                      0,
-                      attributes[ 1 ].getParameterCount() );
-        assertEquals( "attributes[2].name",
-                      "mx.parameter",
-                      attributes[ 2 ].getName() );
-        assertEquals( "attributes[2].value",
-                      null,
-                      attributes[ 2 ].getValue() );
-        assertEquals( "attributes[2].parameterCount",
-                      2,
-                      attributes[ 2 ].getParameterCount() );
-        assertEquals( "attributes[2].parameter(name)",
-                      "var",
-                      attributes[ 2 ].getParameter( "name" ) );
-        assertEquals( "attributes[2].parameter(description)",
-                      "This is the description",
-                      attributes[ 2 ].getParameter( "description" ) );
-    }
-}
</pre></div>
<hr /><a name="file2" /><div class="file">
<span class="pathname" id="removed"><a href="http://xstream.cvs.codehaus.org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins">plugins</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom">maven-loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src">src</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java">java</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org">org</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcont
 ainer/loom/plugins/maven-loom/src/java/org/jcontainer/loom/info">info</a><br /></span>
<div class="fileheader" id="removed"><big><b>PhoenixAttributeInterceptor.java</b></big> <small id="info">removed after <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org/jcontainer/loom/info/PhoenixAttributeInterceptor.java?rev=1.2&amp;content-type=text/vnd.viewcvs-markup">1.2</a></small></div>
<pre class="diff"><small id="info">diff -N PhoenixAttributeInterceptor.java
--- PhoenixAttributeInterceptor.java	18 Apr 2004 18:53:01 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,243 +0,0 @@
</small></pre><pre class="diff" id="removed">-/*
- * Copyright (C) The JContainer Group. All rights reserved.
- *
- * This software is published under the terms of the JContainer
- * Software License version 1.1, a copy of which has been included
- * with this distribution in the LICENSE.txt file.
- */
-package org.jcontainer.loom.info;
-
-import com.thoughtworks.qdox.model.DocletTag;
-import com.thoughtworks.qdox.model.JavaClass;
-import com.thoughtworks.qdox.model.JavaMethod;
-import java.util.ArrayList;
-import java.util.Properties;
-import org.codehaus.metaclass.model.Attribute;
-import org.codehaus.metaclass.tools.qdox.DefaultQDoxAttributeInterceptor;
-import org.codehaus.metaclass.tools.qdox.QDoxAttributeInterceptor;
-
-/**
- * This is an Attribute interceptor that invoked during construction of
- * ClassDescriptors that will translate legacy Loom attributes into modern DNA
- * and MX attributes.
- *
- * @author Peter Donald
- * @version $Revision: 1.2 $ $Date: 2004/04/18 18:53:01 $
- */
-public class PhoenixAttributeInterceptor
-    extends DefaultQDoxAttributeInterceptor
-    implements QDoxAttributeInterceptor
-{
-    /**
-     * @see QDoxAttributeInterceptor#processClassAttribute(JavaClass,
-        *      Attribute)
-     */
-    public Attribute processClassAttribute( final JavaClass clazz,
-                                            final Attribute attribute )
-    {
-        final String name = attribute.getName();
-        if( name.equals( "phoenix:block" ) )
-        {
-            return new Attribute( "dna.component" );
-        }
-        else if( name.equals( "phoenix:service" ) )
-        {
-            final Properties parameters = new Properties();
-            final String type = attribute.getParameter( "name", null );
-            setParameter( parameters, "type", type );
-            return new Attribute( "dna.service", parameters );
-        }
-        else if( name.equals( "phoenix:mx-topic" ) )
-        {
-            final String description = attribute.getParameter( "name", "" );
-            final Properties parameters = new Properties();
-            setParameter( parameters, "description", description );
-            return new Attribute( "mx.component", parameters );
-        }
-        else if( name.equals( "phoenix:mx-proxy" ) )
-        {
-            final Properties parameters = new Properties();
-            final String type = attribute.getParameter( "class", "" );
-            setParameter( parameters, "type", type );
-            return new Attribute( "mx.proxy", parameters );
-        }
-        else
-        {
-            return attribute;
-        }
-    }
-
-    /**
-     * @see QDoxAttributeInterceptor#processMethodAttribute(JavaMethod,
-        *      Attribute)
-     */
-    public Attribute processMethodAttribute( final JavaMethod method,
-                                             final Attribute attribute )
-    {
-        final String name = attribute.getName();
-        if( name.equals( "phoenix:configuration-schema" ) )
-        {
-            final String type =
-                attribute.getParameter( "type", null );
-            final Properties parameters = new Properties();
-            if( "relax-ng".equals( type ) )
-            {
-                setParameter( parameters,
-                              "type",
-                              "http://relaxng.org/ns/structure/1.0" );
-            }
-            else
-            {
-                setParameter( parameters, "type", type );
-            }
-            return new Attribute( "dna.configuration", parameters );
-        }
-        else if( name.equals( "phoenix:dependency" ) )
-        {
-            final Properties parameters = new Properties();
-            final String key = attribute.getParameter( "role", null );
-            final String type = attribute.getParameter( "name", null );
-            setParameter( parameters, "type", type );
-            setParameter( parameters, "key", key );
-            return new Attribute( "dna.dependency", parameters );
-        }
-        else if( name.equals( "phoenix:mx-operation" ) )
-        {
-            final DocletTag descriptionTag =
-                method.getTagByName( "phoenix:mx-description" );
-            final String description;
-            if( null != descriptionTag )
-            {
-                description = descriptionTag.getValue();
-            }
-            else
-            {
-                description = method.getComment();
-            }
-            final Properties parameters = new Properties();
-            setParameter( parameters, "description", description );
-            return new Attribute( "mx.operation", parameters );
-        }
-        if( name.equals( "phoenix:mx-attribute" ) )
-        {
-            final DocletTag descriptionTag =
-                method.getTagByName( "phoenix:mx-description" );
-            final String description;
-            if( null != descriptionTag )
-            {
-                description = descriptionTag.getValue();
-            }
-            else
-            {
-                description = method.getComment();
-            }
-            final Properties parameters = new Properties();
-            setParameter( parameters, "description", description );
-            return new Attribute( "mx.attribute", parameters );
-        }
-        else if( name.equals( "phoenix:mx-description" ) )
-        {
-            return null;
-        }
-        else
-        {
-            return attribute;
-        }
-    }
-
-    /**
-     * @see QDoxAttributeInterceptor#processClassAttributes(JavaClass,
-        *      Attribute[])
-     */
-    public Attribute[] processClassAttributes( final JavaClass clazz,
-                                               final Attribute[] attributes )
-    {
-        final ArrayList result = new ArrayList();
-        for( int i = 0; i &lt; attributes.length; i++ )
-        {
-            final Attribute attribute = attributes[ i ];
-            final String name = attribute.getName();
-            if( !name.equals( "phoenix:mx" ) )
-            {
-                result.add( attribute );
-            }
-            else
-            {
-                final Properties parameters = new Properties();
-                final String type = attribute.getParameter( "name", "" );
-                setParameter( parameters, "type", type );
-                result.add( new Attribute( "dna.service", parameters ) );
-
-                final Properties mxParameters = new Properties();
-                setParameter( mxParameters, "type", type );
-                final String topic = type.substring(
-                    type.lastIndexOf( '.' ) + 1 );
-                setParameter( mxParameters, "topic", topic );
-
-                result.add( new Attribute( "mx.interface", mxParameters ) );
-            }
-        }
-        return (Attribute[])result.toArray( new Attribute[ result.size() ] );
-    }
-
-    /**
-     * @see QDoxAttributeInterceptor#processMethodAttributes(JavaMethod,
-        *      Attribute[])
-     */
-    public Attribute[] processMethodAttributes( final JavaMethod method,
-                                                final Attribute[] attributes )
-    {
-        final ArrayList result = new ArrayList();
-
-        boolean isMxOperation = false;
-        for( int i = 0; i &lt; attributes.length; i++ )
-        {
-            final Attribute attribute = attributes[ i ];
-            if( attribute.getName().equals( "mx.operation" ) )
-            {
-                isMxOperation = true;
-            }
-            result.add( attribute );
-        }
-        if( isMxOperation )
-        {
-            for( int i = 0; i &lt; attributes.length; i++ )
-            {
-                final Attribute attribute = attributes[ i ];
-                if( attribute.getName().equals( "param" ) )
-                {
-                    final String value = attribute.getValue();
-                    final int index = value.indexOf( " " );
-                    if( -1 == index )
-                    {
-                        continue;
-                    }
-                    final String name = value.substring( 0, index ).trim();
-                    final String description = value.substring( index + 1 );
-                    final Properties parameters = new Properties();
-                    setParameter( parameters, "name", name );
-                    setParameter( parameters, "description", description );
-                    result.add( new Attribute( "mx.parameter", parameters ) );
-                }
-            }
-        }
-        return (Attribute[])result.toArray( new Attribute[ result.size() ] );
-    }
-
-    /**
-     * Set parameter if value not null.
-     *
-     * @param parameters the parameters object
-     * @param key the key
-     * @param value the value
-     */
-    private void setParameter( final Properties parameters,
-                               final String key,
-                               final String value )
-    {
-        if( null != value )
-        {
-            parameters.setProperty( key, value );
-        }
-    }
-}
</pre></div>
<hr /><a name="file3" /><div class="file">
<span class="pathname" id="added"><a href="http://xstream.cvs.codehaus.org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins">plugins</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom">maven-loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src">src</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java">java</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org">org</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org/codehaus">codehaus</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org/codehaus/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/lo
 om/plugins/maven-loom/src/java/org/codehaus/loom/info">info</a><br /></span>
<div class="fileheader" id="added"><big><b>PhoenixAttributeInterceptor.java</b></big> <small id="info">added at <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/java/org/codehaus/loom/info/PhoenixAttributeInterceptor.java?rev=1.1&amp;content-type=text/vnd.viewcvs-markup">1.1</a></small></div>
<pre class="diff"><small id="info">diff -N PhoenixAttributeInterceptor.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ PhoenixAttributeInterceptor.java	19 Apr 2004 21:39:20 -0000	1.1
@@ -0,0 +1,243 @@
</small></pre><pre class="diff" id="added">+/*
+ * Copyright (C) The JContainer Group. All rights reserved.
+ *
+ * This software is published under the terms of the JContainer
+ * Software License version 1.1, a copy of which has been included
+ * with this distribution in the LICENSE.txt file.
+ */
+package org.codehaus.loom.info;
+
+import com.thoughtworks.qdox.model.DocletTag;
+import com.thoughtworks.qdox.model.JavaClass;
+import com.thoughtworks.qdox.model.JavaMethod;
+import java.util.ArrayList;
+import java.util.Properties;
+import org.codehaus.metaclass.model.Attribute;
+import org.codehaus.metaclass.tools.qdox.DefaultQDoxAttributeInterceptor;
+import org.codehaus.metaclass.tools.qdox.QDoxAttributeInterceptor;
+
+/**
+ * This is an Attribute interceptor that invoked during construction of
+ * ClassDescriptors that will translate legacy Loom attributes into modern DNA
+ * and MX attributes.
+ *
+ * @author Peter Donald
+ * @version $Revision: 1.1 $ $Date: 2004/04/19 21:39:20 $
+ */
+public class PhoenixAttributeInterceptor
+    extends DefaultQDoxAttributeInterceptor
+    implements QDoxAttributeInterceptor
+{
+    /**
+     * @see QDoxAttributeInterceptor#processClassAttribute(JavaClass,
+        *      Attribute)
+     */
+    public Attribute processClassAttribute( final JavaClass clazz,
+                                            final Attribute attribute )
+    {
+        final String name = attribute.getName();
+        if( name.equals( "phoenix:block" ) )
+        {
+            return new Attribute( "dna.component" );
+        }
+        else if( name.equals( "phoenix:service" ) )
+        {
+            final Properties parameters = new Properties();
+            final String type = attribute.getParameter( "name", null );
+            setParameter( parameters, "type", type );
+            return new Attribute( "dna.service", parameters );
+        }
+        else if( name.equals( "phoenix:mx-topic" ) )
+        {
+            final String description = attribute.getParameter( "name", "" );
+            final Properties parameters = new Properties();
+            setParameter( parameters, "description", description );
+            return new Attribute( "mx.component", parameters );
+        }
+        else if( name.equals( "phoenix:mx-proxy" ) )
+        {
+            final Properties parameters = new Properties();
+            final String type = attribute.getParameter( "class", "" );
+            setParameter( parameters, "type", type );
+            return new Attribute( "mx.proxy", parameters );
+        }
+        else
+        {
+            return attribute;
+        }
+    }
+
+    /**
+     * @see QDoxAttributeInterceptor#processMethodAttribute(JavaMethod,
+        *      Attribute)
+     */
+    public Attribute processMethodAttribute( final JavaMethod method,
+                                             final Attribute attribute )
+    {
+        final String name = attribute.getName();
+        if( name.equals( "phoenix:configuration-schema" ) )
+        {
+            final String type =
+                attribute.getParameter( "type", null );
+            final Properties parameters = new Properties();
+            if( "relax-ng".equals( type ) )
+            {
+                setParameter( parameters,
+                              "type",
+                              "http://relaxng.org/ns/structure/1.0" );
+            }
+            else
+            {
+                setParameter( parameters, "type", type );
+            }
+            return new Attribute( "dna.configuration", parameters );
+        }
+        else if( name.equals( "phoenix:dependency" ) )
+        {
+            final Properties parameters = new Properties();
+            final String key = attribute.getParameter( "role", null );
+            final String type = attribute.getParameter( "name", null );
+            setParameter( parameters, "type", type );
+            setParameter( parameters, "key", key );
+            return new Attribute( "dna.dependency", parameters );
+        }
+        else if( name.equals( "phoenix:mx-operation" ) )
+        {
+            final DocletTag descriptionTag =
+                method.getTagByName( "phoenix:mx-description" );
+            final String description;
+            if( null != descriptionTag )
+            {
+                description = descriptionTag.getValue();
+            }
+            else
+            {
+                description = method.getComment();
+            }
+            final Properties parameters = new Properties();
+            setParameter( parameters, "description", description );
+            return new Attribute( "mx.operation", parameters );
+        }
+        if( name.equals( "phoenix:mx-attribute" ) )
+        {
+            final DocletTag descriptionTag =
+                method.getTagByName( "phoenix:mx-description" );
+            final String description;
+            if( null != descriptionTag )
+            {
+                description = descriptionTag.getValue();
+            }
+            else
+            {
+                description = method.getComment();
+            }
+            final Properties parameters = new Properties();
+            setParameter( parameters, "description", description );
+            return new Attribute( "mx.attribute", parameters );
+        }
+        else if( name.equals( "phoenix:mx-description" ) )
+        {
+            return null;
+        }
+        else
+        {
+            return attribute;
+        }
+    }
+
+    /**
+     * @see QDoxAttributeInterceptor#processClassAttributes(JavaClass,
+        *      Attribute[])
+     */
+    public Attribute[] processClassAttributes( final JavaClass clazz,
+                                               final Attribute[] attributes )
+    {
+        final ArrayList result = new ArrayList();
+        for( int i = 0; i &lt; attributes.length; i++ )
+        {
+            final Attribute attribute = attributes[ i ];
+            final String name = attribute.getName();
+            if( !name.equals( "phoenix:mx" ) )
+            {
+                result.add( attribute );
+            }
+            else
+            {
+                final Properties parameters = new Properties();
+                final String type = attribute.getParameter( "name", "" );
+                setParameter( parameters, "type", type );
+                result.add( new Attribute( "dna.service", parameters ) );
+
+                final Properties mxParameters = new Properties();
+                setParameter( mxParameters, "type", type );
+                final String topic = type.substring(
+                    type.lastIndexOf( '.' ) + 1 );
+                setParameter( mxParameters, "topic", topic );
+
+                result.add( new Attribute( "mx.interface", mxParameters ) );
+            }
+        }
+        return (Attribute[])result.toArray( new Attribute[ result.size() ] );
+    }
+
+    /**
+     * @see QDoxAttributeInterceptor#processMethodAttributes(JavaMethod,
+        *      Attribute[])
+     */
+    public Attribute[] processMethodAttributes( final JavaMethod method,
+                                                final Attribute[] attributes )
+    {
+        final ArrayList result = new ArrayList();
+
+        boolean isMxOperation = false;
+        for( int i = 0; i &lt; attributes.length; i++ )
+        {
+            final Attribute attribute = attributes[ i ];
+            if( attribute.getName().equals( "mx.operation" ) )
+            {
+                isMxOperation = true;
+            }
+            result.add( attribute );
+        }
+        if( isMxOperation )
+        {
+            for( int i = 0; i &lt; attributes.length; i++ )
+            {
+                final Attribute attribute = attributes[ i ];
+                if( attribute.getName().equals( "param" ) )
+                {
+                    final String value = attribute.getValue();
+                    final int index = value.indexOf( " " );
+                    if( -1 == index )
+                    {
+                        continue;
+                    }
+                    final String name = value.substring( 0, index ).trim();
+                    final String description = value.substring( index + 1 );
+                    final Properties parameters = new Properties();
+                    setParameter( parameters, "name", name );
+                    setParameter( parameters, "description", description );
+                    result.add( new Attribute( "mx.parameter", parameters ) );
+                }
+            }
+        }
+        return (Attribute[])result.toArray( new Attribute[ result.size() ] );
+    }
+
+    /**
+     * Set parameter if value not null.
+     *
+     * @param parameters the parameters object
+     * @param key the key
+     * @param value the value
+     */
+    private void setParameter( final Properties parameters,
+                               final String key,
+                               final String value )
+    {
+        if( null != value )
+        {
+            parameters.setProperty( key, value );
+        }
+    }
+}
</pre></div>
<hr /><a name="file4" /><div class="file">
<span class="pathname"><a href="http://xstream.cvs.codehaus.org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins">plugins</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/xdocs">xdocs</a><br /></span>
<div class="fileheader"><big><b>index.xml</b></big> <small id="info"><a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/xdocs/index.xml?rev=1.3&amp;content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/xdocs/index.xml.diff?r1=1.3&amp;r2=1.4">-&gt;</a> <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/xdocs/index.xml?rev=1.4&amp;content-type=text/vnd.viewcvs-markup">1.4</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.3 -r1.4
--- index.xml	3 Dec 2003 10:44:48 -0000	1.3
+++ index.xml	19 Apr 2004 21:39:20 -0000	1.4
@@ -21,7 +21,7 @@
</small></pre><pre class="diff" id="context"> 			Codehaus Distribution Server&lt;/a&gt;.
             &lt;/p&gt;
             &lt;p&gt;To install in your local Maven plugin repository, ensure that
</pre><pre class="diff" id="removed">-                &lt;code&gt;http://dist.<span id="removedchars">jcontainer.org/maven</span>&lt;/code&gt;
</pre><pre class="diff" id="added">+                &lt;code&gt;http://dist.<span id="addedchars">codehaus.org/</span>&lt;/code&gt;
</pre><pre class="diff" id="context"> 		   is part of the
                 &lt;code&gt;maven.repo.remote&lt;/code&gt; list and simply
 			specify the plugin name as a dependency with type
</pre></div>
<hr /><a name="file5" /><div class="file">
<span class="pathname"><a href="http://xstream.cvs.codehaus.org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins">plugins</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom">maven-loom</a><br /></span>
<div class="fileheader"><big><b>plugin.jelly</b></big> <small id="info"><a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/plugin.jelly?rev=1.1&amp;content-type=text/vnd.viewcvs-markup">1.1</a> <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/plugin.jelly.diff?r1=1.1&amp;r2=1.2">-&gt;</a> <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/plugin.jelly?rev=1.2&amp;content-type=text/vnd.viewcvs-markup">1.2</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.1 -r1.2
--- plugin.jelly	25 Mar 2004 00:46:56 -0000	1.1
+++ plugin.jelly	19 Apr 2004 21:39:20 -0000	1.2
@@ -16,7 +16,7 @@
</small></pre><pre class="diff" id="context">     &lt;goal name="loom:init" prereqs="dna:init" description="Setup Loom Descriptor Processing Tasks"&gt;
 
         &lt;ant:mc_interceptorSet id="maven.loom.interceptors"&gt;
</pre><pre class="diff" id="removed">-            &lt;ant:interceptor name="org.<span id="removedchars">jcontainer</span>.loom.info.PhoenixAttributeInterceptor"&gt;
</pre><pre class="diff" id="added">+            &lt;ant:interceptor name="org.<span id="addedchars">codehaus</span>.loom.info.PhoenixAttributeInterceptor"&gt;
</pre><pre class="diff" id="context">                 &lt;ant:classpath&gt;
                     &lt;ant:pathelement path="${plugin.dir}"/&gt;
                     &lt;!--
</pre></div>
<hr /><a name="file6" /><div class="file">
<span class="pathname" id="added"><a href="http://xstream.cvs.codehaus.org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins">plugins</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom">maven-loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src">src</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test">test</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org">org</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org/codehaus">codehaus</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org/codehaus/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/lo
 om/plugins/maven-loom/src/test/org/codehaus/loom/info">info</a><br /></span>
<div class="fileheader" id="added"><big><b>PhoenixAttributeInterceptorTestCase.java</b></big> <small id="info">added at <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/plugins/maven-loom/src/test/org/codehaus/loom/info/PhoenixAttributeInterceptorTestCase.java?rev=1.1&amp;content-type=text/vnd.viewcvs-markup">1.1</a></small></div>
<pre class="diff"><small id="info">diff -N PhoenixAttributeInterceptorTestCase.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ PhoenixAttributeInterceptorTestCase.java	19 Apr 2004 21:39:20 -0000	1.1
@@ -0,0 +1,574 @@
</small></pre><pre class="diff" id="added">+/*
+ * Copyright (C) The JContainer Group. All rights reserved.
+ *
+ * This software is published under the terms of the JContainer
+ * Software License version 1.1, a copy of which has been included
+ * with this distribution in the LICENSE.txt file.
+ */
+package org.codehaus.loom.info;
+
+import com.thoughtworks.qdox.model.DefaultDocletTag;
+import com.thoughtworks.qdox.model.DefaultDocletTagFactory;
+import com.thoughtworks.qdox.model.DocletTagFactory;
+import com.thoughtworks.qdox.model.JavaClass;
+import com.thoughtworks.qdox.model.JavaMethod;
+import com.thoughtworks.qdox.model.JavaSource;
+import java.util.ArrayList;
+import java.util.Properties;
+import junit.framework.TestCase;
+
+import org.codehaus.loom.info.PhoenixAttributeInterceptor;
+import org.codehaus.metaclass.model.Attribute;
+
+/**
+ * @author Peter Donald
+ * @version $Revision: 1.1 $ $Date: 2004/04/19 21:39:20 $
+ */
+public class PhoenixAttributeInterceptorTestCase
+    extends TestCase
+{
+    public void testProcessClassAttributeWithoutTransformations()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "ignored" );
+        final Attribute result =
+            interceptor.processClassAttribute(
+                new JavaClass( new JavaSource() ),
+                attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "ignored", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      0,
+                      result.getParameterCount() );
+    }
+
+    public void testProcessClassAttributeWithPhoenixBlock()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "phoenix:block" );
+        final Attribute result =
+            interceptor.processClassAttribute(
+                new JavaClass( new JavaSource() ),
+                attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "dna.component", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      0,
+                      result.getParameterCount() );
+    }
+
+    public void testProcessClassAttributeWithPhoenixMxTopic()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Properties parameters = new Properties();
+        parameters.setProperty( "name", "MyTopic" );
+        final Attribute attribute = new Attribute( "phoenix:mx-topic",
+                                                   parameters );
+        final Attribute result =
+            interceptor.processClassAttribute(
+                new JavaClass( new JavaSource() ),
+                attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "mx.component", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(description)",
+                      "MyTopic",
+                      result.getParameter( "description" ) );
+    }
+
+    public void testProcessClassAttributeWithPhoenixService()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Properties parameters = new Properties();
+        parameters.setProperty( "name", "X" );
+        final Attribute attribute = new Attribute( "phoenix:service",
+                                                   parameters );
+        final Attribute result =
+            interceptor.processClassAttribute(
+                new JavaClass( new JavaSource() ),
+                attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "dna.service", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(type)",
+                      "X",
+                      result.getParameter( "type" ) );
+    }
+
+    public void testProcessClassAttributeWithPhoenixMXProxy()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Properties parameters = new Properties();
+        parameters.setProperty( "class", "X" );
+        final Attribute attribute = new Attribute( "phoenix:mx-proxy",
+                                                   parameters );
+        final Attribute result =
+            interceptor.processClassAttribute(
+                new JavaClass( new JavaSource() ),
+                attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "mx.proxy", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(type)",
+                      "X",
+                      result.getParameter( "type" ) );
+    }
+
+    public void testProcessMethodAttributeWithoutTransformation()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "ignore-me" );
+        final Attribute result =
+            interceptor.processMethodAttribute( new JavaMethod(), attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "ignore-me", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      0,
+                      result.getParameterCount() );
+    }
+
+    public void testProcessMethodAttributeWithMXDescription()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "phoenix:mx-description" );
+        final Attribute result =
+            interceptor.processMethodAttribute( new JavaMethod(), attribute );
+        assertNull( "attribute", result );
+    }
+
+    public void testProcessMethodAttributeWithMXAttributeAndNoDescriptionOrComment()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "phoenix:mx-attribute" );
+        final Attribute result =
+            interceptor.processMethodAttribute( new JavaMethod(), attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "mx.attribute", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      0,
+                      result.getParameterCount() );
+    }
+
+    public void testProcessMethodAttributeWithMXAttributeAndDescription()
+        throws Exception
+    {
+        final String description = "A Random Thought";
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "phoenix:mx-attribute" );
+        final JavaMethod method = new JavaMethod();
+        final ArrayList tags = new ArrayList();
+        final DocletTagFactory factory = new DefaultDocletTagFactory();
+        tags.add(
+            factory.createDocletTag( "phoenix:mx-description", description ) );
+        method.setTags( tags );
+        final Attribute result =
+            interceptor.processMethodAttribute( method, attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "mx.attribute", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(description)",
+                      description, result.getParameter( "description" ) );
+    }
+
+    public void testProcessMethodAttributeWithMXAttributeAndComment()
+        throws Exception
+    {
+        final String description = "A Random Thought";
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "phoenix:mx-attribute" );
+        final JavaMethod method = new JavaMethod();
+        method.setComment( description );
+        final Attribute result =
+            interceptor.processMethodAttribute( method, attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "mx.attribute", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(description)",
+                      description, result.getParameter( "description" ) );
+    }
+
+    public void testProcessMethodAttributeWithMXOperationAndNoDescriptionOrComment()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "phoenix:mx-operation" );
+        final Attribute result =
+            interceptor.processMethodAttribute( new JavaMethod(), attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "mx.operation", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      0,
+                      result.getParameterCount() );
+    }
+
+    public void testProcessMethodAttributeWithMXOperationAndDescription()
+        throws Exception
+    {
+        final String description = "A Random Thought";
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "phoenix:mx-operation" );
+        final JavaMethod field = new JavaMethod();
+        final ArrayList tags = new ArrayList();
+        tags.add(
+            new DefaultDocletTag( "phoenix:mx-description", description ) );
+        field.setTags( tags );
+        final Attribute result =
+            interceptor.processMethodAttribute( field, attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "mx.operation", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(description)",
+                      description, result.getParameter( "description" ) );
+    }
+
+    public void testProcessMethodAttributeWithMXOperationAndComment()
+        throws Exception
+    {
+        final String description = "A Random Thought";
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute( "phoenix:mx-operation" );
+        final JavaMethod field = new JavaMethod();
+        field.setComment( description );
+        final Attribute result =
+            interceptor.processMethodAttribute( field, attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "mx.operation", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(description)",
+                      description, result.getParameter( "description" ) );
+    }
+
+    public void testProcessMethodAttributeWithPhoenixConfigurationSchema()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute attribute = new Attribute(
+            "phoenix:configuration-schema" );
+        final JavaClass javaClass = new JavaClass( new JavaSource() );
+        javaClass.setName( "com.biz.MyClass" );
+        final JavaMethod method = new JavaMethod();
+        method.setParentClass( javaClass );
+        final Attribute result =
+            interceptor.processMethodAttribute( method, attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name",
+                      "dna.configuration",
+                      result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      0,
+                      result.getParameterCount() );
+    }
+
+    public void testProcessMethodAttributeWithPhoenixConfigurationSchemaSpecifyingType()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Properties parameters = new Properties();
+        final String type = "BobbaFett";
+        parameters.setProperty( "type", type );
+        final Attribute attribute = new Attribute(
+            "phoenix:configuration-schema", parameters );
+        final JavaClass javaClass = new JavaClass( new JavaSource() );
+        javaClass.setName( "com.biz.MyClass" );
+        final JavaMethod method = new JavaMethod();
+        method.setParentClass( javaClass );
+        final Attribute result =
+            interceptor.processMethodAttribute( method, attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name",
+                      "dna.configuration",
+                      result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(type)",
+                      type, result.getParameter( "type" ) );
+    }
+
+    public void testProcessMethodAttributeWithPhoenixConfigurationSchemaSpecifyingRelaxType()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Properties parameters = new Properties();
+        parameters.setProperty( "type", "relax-ng" );
+        final Attribute attribute = new Attribute(
+            "phoenix:configuration-schema", parameters );
+        final JavaClass javaClass = new JavaClass( new JavaSource() );
+        javaClass.setName( "com.biz.MyClass" );
+        final JavaMethod method = new JavaMethod();
+        method.setParentClass( javaClass );
+        final Attribute result =
+            interceptor.processMethodAttribute( method, attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name",
+                      "dna.configuration",
+                      result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(type)",
+                      "http://relaxng.org/ns/structure/1.0",
+                      result.getParameter( "type" ) );
+    }
+
+    public void testProcessMethodAttributeWithPhoenixDependency()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Properties parameters = new Properties();
+        final String type = "BobbaFett";
+        parameters.setProperty( "name", type );
+        final Attribute attribute = new Attribute( "phoenix:dependency",
+                                                   parameters );
+        final Attribute result =
+            interceptor.processMethodAttribute( new JavaMethod(), attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "dna.dependency", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      1,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(type)",
+                      type, result.getParameter( "type" ) );
+    }
+
+    public void testProcessMethodAttributeWithPhoenixDependencyWithRoleSpecified()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Properties parameters = new Properties();
+        final String type = "BobbaFett";
+        final String key = "myKey";
+        parameters.setProperty( "name", type );
+        parameters.setProperty( "role", key );
+        final Attribute attribute = new Attribute( "phoenix:dependency",
+                                                   parameters );
+        final Attribute result =
+            interceptor.processMethodAttribute( new JavaMethod(), attribute );
+        assertNotNull( "attribute", result );
+        assertEquals( "attribute.name", "dna.dependency", result.getName() );
+        assertEquals( "attribute.value", null, result.getValue() );
+        assertEquals( "attribute.parameterCount",
+                      2,
+                      result.getParameterCount() );
+        assertEquals( "attribute.parameter(type)",
+                      type, result.getParameter( "type" ) );
+        assertEquals( "attribute.parameter(key)",
+                      key, result.getParameter( "key" ) );
+    }
+
+    public void testProcessClassAttributesWithoutMXService()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute[] input = new Attribute[]{
+            new Attribute( "RandomJAttribute" )};
+        final Attribute[] attributes =
+            interceptor.processClassAttributes(
+                new JavaClass( new JavaSource() ), input );
+        assertEquals( "attributes.length", 1, attributes.length );
+        assertEquals( "attributes[0].name",
+                      "RandomJAttribute",
+                      attributes[ 0 ].getName() );
+        assertEquals( "attributes[0].value",
+                      null,
+                      attributes[ 0 ].getValue() );
+        assertEquals( "attributes[0].parameterCount",
+                      0,
+                      attributes[ 0 ].getParameterCount() );
+    }
+
+    public void testProcessClassAttributesWithMXService()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Properties parameters = new Properties();
+        final String type = "PerformMagicService";
+        parameters.setProperty( "name", type );
+        final Attribute attribute = new Attribute( "phoenix:mx", parameters );
+        final Attribute[] input = new Attribute[]{attribute};
+        final Attribute[] attributes =
+            interceptor.processClassAttributes(
+                new JavaClass( new JavaSource() ), input );
+        assertEquals( "attributes.length", 2, attributes.length );
+        assertEquals( "attributes[0].name",
+                      "dna.service",
+                      attributes[ 0 ].getName() );
+        assertEquals( "attributes[0].value",
+                      null,
+                      attributes[ 0 ].getValue() );
+        assertEquals( "attributes[0].parameterCount",
+                      1,
+                      attributes[ 0 ].getParameterCount() );
+        assertEquals( "attributes[0].parameter(type)",
+                      type, attributes[ 0 ].getParameter( "type" ) );
+        assertEquals( "attributes[1].name",
+                      "mx.interface",
+                      attributes[ 1 ].getName() );
+        assertEquals( "attributes[1].value",
+                      null,
+                      attributes[ 1 ].getValue() );
+        assertEquals( "attributes[1].parameterCount",
+                      2,
+                      attributes[ 1 ].getParameterCount() );
+        assertEquals( "attributes[1].parameter(type)",
+                      type, attributes[ 1 ].getParameter( "type" ) );
+        assertEquals( "attributes[1].parameter(topic)",
+                      "PerformMagicService",
+                      attributes[ 1 ].getParameter( "type" ) );
+    }
+
+    public void testProcessMethodAttributesWithoutMXOperation()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute[] input = new Attribute[]{
+            new Attribute( "RandomJAttribute" )};
+        final Attribute[] attributes =
+            interceptor.processMethodAttributes( new JavaMethod(), input );
+        assertEquals( "attributes.length", 1, attributes.length );
+        assertEquals( "attributes[0].name",
+                      "RandomJAttribute",
+                      attributes[ 0 ].getName() );
+        assertEquals( "attributes[0].value",
+                      null,
+                      attributes[ 0 ].getValue() );
+        assertEquals( "attributes[0].parameterCount",
+                      0,
+                      attributes[ 0 ].getParameterCount() );
+
+    }
+
+    public void testProcessMethodAttributesWithMXOperationWithoutParameters()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute[] input = new Attribute[]{
+            new Attribute( "mx.operation" )};
+        final Attribute[] attributes =
+            interceptor.processMethodAttributes( new JavaMethod(), input );
+        assertEquals( "attributes.length", 1, attributes.length );
+        assertEquals( "attributes[0].name",
+                      "mx.operation",
+                      attributes[ 0 ].getName() );
+        assertEquals( "attributes[0].value",
+                      null,
+                      attributes[ 0 ].getValue() );
+        assertEquals( "attributes[0].parameterCount",
+                      0,
+                      attributes[ 0 ].getParameterCount() );
+    }
+
+    public void testProcessMethodAttributesWithMXOperationWithMalformedParameter()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute[] input =
+            new Attribute[]{new Attribute( "mx.operation" ),
+                            new Attribute( "param", "var" )};
+        final Attribute[] attributes =
+            interceptor.processMethodAttributes( new JavaMethod(), input );
+        assertEquals( "attributes.length", 2, attributes.length );
+        assertEquals( "attributes[0].name",
+                      "mx.operation",
+                      attributes[ 0 ].getName() );
+        assertEquals( "attributes[0].value",
+                      null,
+                      attributes[ 0 ].getValue() );
+        assertEquals( "attributes[0].parameterCount",
+                      0,
+                      attributes[ 0 ].getParameterCount() );
+        assertEquals( "attributes[1].name",
+                      "param",
+                      attributes[ 1 ].getName() );
+        assertEquals( "attributes[1].value",
+                      "var",
+                      attributes[ 1 ].getValue() );
+        assertEquals( "attributes[1].parameterCount",
+                      0,
+                      attributes[ 1 ].getParameterCount() );
+    }
+
+    public void testProcessMethodAttributesWithMXOperationWithParameter()
+        throws Exception
+    {
+        final PhoenixAttributeInterceptor interceptor = new PhoenixAttributeInterceptor();
+        final Attribute[] input =
+            new Attribute[]{new Attribute( "mx.operation" ),
+                            new Attribute( "param",
+                                           "var This is the description" )};
+        final Attribute[] attributes =
+            interceptor.processMethodAttributes( new JavaMethod(), input );
+        assertEquals( "attributes.length", 3, attributes.length );
+        assertEquals( "attributes[0].name",
+                      "mx.operation",
+                      attributes[ 0 ].getName() );
+        assertEquals( "attributes[0].value",
+                      null,
+                      attributes[ 0 ].getValue() );
+        assertEquals( "attributes[0].parameterCount",
+                      0,
+                      attributes[ 0 ].getParameterCount() );
+        assertEquals( "attributes[1].name",
+                      "param",
+                      attributes[ 1 ].getName() );
+        assertEquals( "attributes[1].value",
+                      "var This is the description",
+                      attributes[ 1 ].getValue() );
+        assertEquals( "attributes[1].parameterCount",
+                      0,
+                      attributes[ 1 ].getParameterCount() );
+        assertEquals( "attributes[2].name",
+                      "mx.parameter",
+                      attributes[ 2 ].getName() );
+        assertEquals( "attributes[2].value",
+                      null,
+                      attributes[ 2 ].getValue() );
+        assertEquals( "attributes[2].parameterCount",
+                      2,
+                      attributes[ 2 ].getParameterCount() );
+        assertEquals( "attributes[2].parameter(name)",
+                      "var",
+                      attributes[ 2 ].getParameter( "name" ) );
+        assertEquals( "attributes[2].parameter(description)",
+                      "This is the description",
+                      attributes[ 2 ].getParameter( "description" ) );
+    }
+}
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -&gt; email">CVSspam</a> 0.2.8</small></center>
</body></html>