You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/02/06 17:25:22 UTC
cvs commit: avalon/merlin/facilities/http/test/src/java/test/http TestComponent.java
mcconnell 2004/02/06 08:25:22
Modified: merlin/facilities/http/test/conf test.block
merlin/facilities/http/test/src/java/test/http
TestComponent.java
Log:
Minor enhancements demonstrating componwent to component links.
Revision Changes Path
1.4 +15 -1 avalon/merlin/facilities/http/test/conf/test.block
Index: test.block
===================================================================
RCS file: /home/cvs/avalon/merlin/facilities/http/test/conf/test.block,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- test.block 6 Feb 2004 15:27:14 -0000 1.3
+++ test.block 6 Feb 2004 16:25:21 -0000 1.4
@@ -18,7 +18,21 @@
</classpath>
</classloader>
- <component name="hello" class="test.http.TestComponent"/>
+ <component name="primary" class="test.http.TestComponent">
+ <configuration>
+ <name>Primary</name>
+ <message>I'm an avalon component.</message>
+ <link>/test/secondary</link>
+ </configuration>
+ </component>
+
+ <component name="secondary" class="test.http.TestComponent">
+ <configuration>
+ <name>Secondary</name>
+ <message>I'm also an avalon component.</message>
+ <link>/test/primary</link>
+ </configuration>
+ </component>
<component name="http"
class="org.apache.avalon.http.impl.DefaultModelListener"
1.2 +28 -6 avalon/merlin/facilities/http/test/src/java/test/http/TestComponent.java
Index: TestComponent.java
===================================================================
RCS file: /home/cvs/avalon/merlin/facilities/http/test/src/java/test/http/TestComponent.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestComponent.java 6 Feb 2004 15:27:15 -0000 1.1
+++ TestComponent.java 6 Feb 2004 16:25:21 -0000 1.2
@@ -26,6 +26,9 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.configuration.Configurable;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -44,7 +47,7 @@
* @avalon.service type="org.apache.avalon.http.Handler"
*/
public class TestComponent extends HttpHandler
- implements LogEnabled, Serviceable
+ implements LogEnabled, Serviceable, Configurable
{
//----------------------------------------------------------
// state
@@ -56,6 +59,12 @@
private Counter m_counter;
+ private String m_link;
+
+ private String m_message;
+
+ private String m_name;
+
//----------------------------------------------------------
// lifecycle
//----------------------------------------------------------
@@ -81,6 +90,13 @@
m_counter = (Counter) manager.lookup( "counter" );
}
+ public void configure( Configuration config ) throws ConfigurationException
+ {
+ m_link = config.getChild( "link" ).getValue();
+ m_message = config.getChild( "message" ).getValue();
+ m_name = config.getChild( "name" ).getValue();
+ }
+
//----------------------------------------------------------
// Handler
//----------------------------------------------------------
@@ -108,16 +124,22 @@
String context = request.getContextPath();
writer.println("<html>");
writer.println("<head>");
- writer.println("<title>Test HTTP Handler</title>" );
+ writer.println("<title>" + m_name + "</title>" );
writer.println("</head>");
writer.println("<body>" );
writer.println("<hr/>");
- writer.println("<h3>Hello (" + m_count + "/" + count + ").</h3>");
+ writer.println("<h3>"
+ + m_name
+ + "</h3>");
writer.println("<hr/>");
+ writer.println("<P>"
+ + "local hits: " + m_count + "</br>"
+ + "total hits: " + count + "</p>" );
writer.println("<p>I'm an Avalon component.<br/>");
- writer.println("I'm also an HTTP Handler.<br/>");
- writer.println("I exist!!<br/>");
- writer.println("Therefore I am.</p>");
+ writer.println(
+ "Here is <a href=\""
+ + m_link
+ + "\">a link to my mate.</a></p>");
writer.println("<hr/>");
writer.println("</body>");
writer.println("</html>");
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org