You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by am...@apache.org on 2006/10/12 17:35:10 UTC

svn commit: r463283 - in /geronimo/plugins/spring/trunk: ./ example-web/ example-web/src/ example-web/src/webapp/ example-web/src/webapp/WEB-INF/ example/src/java/org/apache/geronimo/plugins/spring/example/ example/src/resources/ example/src/resources/...

Author: ammulder
Date: Thu Oct 12 08:35:09 2006
New Revision: 463283

URL: http://svn.apache.org/viewvc?view=rev&rev=463283
Log:
Working example Spring context with 2 beans
Working web application to view Spring context
  see http://localhost:8080/spring-example/

Added:
    geronimo/plugins/spring/trunk/example-web/
    geronimo/plugins/spring/trunk/example-web/pom.xml   (with props)
    geronimo/plugins/spring/trunk/example-web/src/
    geronimo/plugins/spring/trunk/example-web/src/webapp/
    geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/
    geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/geronimo-web.xml   (with props)
    geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/web.xml   (with props)
    geronimo/plugins/spring/trunk/example-web/src/webapp/index.jsp   (with props)
    geronimo/plugins/spring/trunk/example-web/src/webapp/test.jsp   (with props)
    geronimo/plugins/spring/trunk/example/src/resources/
    geronimo/plugins/spring/trunk/example/src/resources/META-INF/
    geronimo/plugins/spring/trunk/example/src/resources/META-INF/geronimo-spring.xml   (with props)
    geronimo/plugins/spring/trunk/example/src/resources/example-config.xml   (with props)
    geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringContextWrapper.java   (with props)
Modified:
    geronimo/plugins/spring/trunk/example/src/java/org/apache/geronimo/plugins/spring/example/Austin.java
    geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringGBean.java
    geronimo/plugins/spring/trunk/pom.xml

Added: geronimo/plugins/spring/trunk/example-web/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/example-web/pom.xml?view=auto&rev=463283
==============================================================================
--- geronimo/plugins/spring/trunk/example-web/pom.xml (added)
+++ geronimo/plugins/spring/trunk/example-web/pom.xml Thu Oct 12 08:35:09 2006
@@ -0,0 +1,72 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+                      http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.geronimo.plugins</groupId>
+    <artifactId>spring-parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+  <artifactId>example-web</artifactId>
+  <packaging>war</packaging>
+  <name>Sample Spring-Accessing Web Application</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-servlet_2.4_spec</artifactId>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jsp_2.0_spec</artifactId>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.geronimo.plugins</groupId>
+      <artifactId>spring-plugin-example</artifactId>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring</artifactId>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>geronimo</groupId>
+      <artifactId>geronimo-kernel</artifactId>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.geronimo.plugins</groupId>
+      <artifactId>spring-integration-service</artifactId>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <sourceDirectory>src/java</sourceDirectory>
+    <resources>
+      <resource>
+        <directory>src/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-war-plugin</artifactId>
+        <configuration>
+          <warSourceDirectory>src/webapp</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file

Propchange: geronimo/plugins/spring/trunk/example-web/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/geronimo-web.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/geronimo-web.xml?view=auto&rev=463283
==============================================================================
--- geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/geronimo-web.xml (added)
+++ geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/geronimo-web.xml Thu Oct 12 08:35:09 2006
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app
+        xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1">
+    <environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1">
+        <moduleId>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>SpringIntegrationExampleWeb</artifactId>
+        </moduleId>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.geronimo.plugins</groupId>
+                <artifactId>spring-plugin-example</artifactId>
+                <type>car</type>
+            </dependency>
+        </dependencies>
+    </environment>
+    <context-root>/spring-example</context-root>
+    <gbean-ref xmlns="http://geronimo.apache.org/xml/ns/naming-1.1">
+        <ref-name>spring/Example</ref-name>
+        <ref-type>org.apache.geronimo.plugins.spring.SpringContextWrapper</ref-type>
+        <pattern>
+            <name>SpringExampleContext</name>
+        </pattern>
+    </gbean-ref>
+</web-app>
\ No newline at end of file

Propchange: geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/geronimo-web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/web.xml?view=auto&rev=463283
==============================================================================
--- geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/web.xml (added)
+++ geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/web.xml Thu Oct 12 08:35:09 2006
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+         version="2.4">
+
+</web-app>

Propchange: geronimo/plugins/spring/trunk/example-web/src/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/plugins/spring/trunk/example-web/src/webapp/index.jsp
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/example-web/src/webapp/index.jsp?view=auto&rev=463283
==============================================================================
--- geronimo/plugins/spring/trunk/example-web/src/webapp/index.jsp (added)
+++ geronimo/plugins/spring/trunk/example-web/src/webapp/index.jsp Thu Oct 12 08:35:09 2006
@@ -0,0 +1,22 @@
+<%@ page import="javax.naming.InitialContext" %>
+<%@ page import="org.apache.geronimo.plugins.spring.SpringContextWrapper" %>
+<html>
+  <head>
+    <title>Spring Context Test</title>
+  </head>
+  <body bgcolor="white">
+    <h1>Spring Context Test</h1>
+    <p>Looking for beans in Spring context:</p>
+    <dl>
+<%
+    SpringContextWrapper context = (SpringContextWrapper) new InitialContext().lookup("java:comp/env/spring/Example");
+    String[] names = context.getBeanDefinitionNames();
+    for (int i = 0; i < names.length; i++) {
+        String name = names[i];
+        out.println("<dt>"+name+"</dt>");
+        out.println("<dd>"+context.getBean(name)+"</dd>");
+    }
+%>
+    </dl>
+  </body>
+</html>
\ No newline at end of file

Propchange: geronimo/plugins/spring/trunk/example-web/src/webapp/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/plugins/spring/trunk/example-web/src/webapp/test.jsp
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/example-web/src/webapp/test.jsp?view=auto&rev=463283
==============================================================================
--- geronimo/plugins/spring/trunk/example-web/src/webapp/test.jsp (added)
+++ geronimo/plugins/spring/trunk/example-web/src/webapp/test.jsp Thu Oct 12 08:35:09 2006
@@ -0,0 +1,37 @@
+<%@ page import="org.apache.geronimo.kernel.config.MultiParentClassLoader" %>
+<%@ page import="java.net.URL" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+  <head><title>Diagnostics</title></head>
+  <body>
+    <p>Class Loader Parents:</p>
+    <ul>
+<%
+    ClassLoader mine = getClass().getClassLoader().getParent();
+    if (mine instanceof MultiParentClassLoader) {
+        MultiParentClassLoader cl = (MultiParentClassLoader) mine;
+        ClassLoader[] parents = cl.getParents();
+        for (int i = 0; i < parents.length; i++) {
+            ClassLoader temp = parents[i];
+            if (temp instanceof MultiParentClassLoader) {
+                MultiParentClassLoader parent = (MultiParentClassLoader) temp;
+                out.println("<li>Parent " + parent.getId());
+                URL[] urls = parent.getURLs();
+                out.println("<ul>");
+                for (int j = 0; j < urls.length; j++) {
+                    URL url = urls[j];
+                    out.println("<li>"+url+"</li>");
+                }
+                out.println("</ul>");
+                out.println("</li>");
+            } else {
+                out.println("<li>Parent not MPCL: " + temp.getClass().getName() + "</li>");
+            }
+        }
+    } else {
+        out.println("<li>Unknown CL type: " + mine.getClass().getName() + "</li>");
+    }
+%>
+    </ul>
+  </body>
+</html>
\ No newline at end of file

Propchange: geronimo/plugins/spring/trunk/example-web/src/webapp/test.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/plugins/spring/trunk/example/src/java/org/apache/geronimo/plugins/spring/example/Austin.java
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/example/src/java/org/apache/geronimo/plugins/spring/example/Austin.java?view=diff&rev=463283&r1=463282&r2=463283
==============================================================================
--- geronimo/plugins/spring/trunk/example/src/java/org/apache/geronimo/plugins/spring/example/Austin.java (original)
+++ geronimo/plugins/spring/trunk/example/src/java/org/apache/geronimo/plugins/spring/example/Austin.java Thu Oct 12 08:35:09 2006
@@ -58,8 +58,8 @@
 
     public String toString() {
         return "food: " + food +
-        " drink: " + drink +
-        " music: " + music +
-        " year: " + year;
+        ", drink: " + drink +
+        ", music: " + music +
+        ", year: " + year;
     }
 }

Added: geronimo/plugins/spring/trunk/example/src/resources/META-INF/geronimo-spring.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/example/src/resources/META-INF/geronimo-spring.xml?view=auto&rev=463283
==============================================================================
--- geronimo/plugins/spring/trunk/example/src/resources/META-INF/geronimo-spring.xml (added)
+++ geronimo/plugins/spring/trunk/example/src/resources/META-INF/geronimo-spring.xml Thu Oct 12 08:35:09 2006
@@ -0,0 +1,12 @@
+<contexts xmlns="http://geronimo.apache.org/xml/ns/plugins/spring-1.0">
+    <environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1">
+        <moduleId>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>spring-plugin-example</artifactId>
+        </moduleId>
+    </environment>
+    <context>
+        <name>SpringExampleContext</name>
+        <spring-config>example-config.xml</spring-config>
+    </context>
+</contexts>

Propchange: geronimo/plugins/spring/trunk/example/src/resources/META-INF/geronimo-spring.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/plugins/spring/trunk/example/src/resources/example-config.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/example/src/resources/example-config.xml?view=auto&rev=463283
==============================================================================
--- geronimo/plugins/spring/trunk/example/src/resources/example-config.xml (added)
+++ geronimo/plugins/spring/trunk/example/src/resources/example-config.xml Thu Oct 12 08:35:09 2006
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
+  <bean id="ApacheCon2006Bean" class="org.apache.geronimo.plugins.spring.example.Austin">
+      <property name="drink" value="Coke" />
+      <property name="food" value="Nachos" />
+      <property name="music" value="New Age" />
+      <property name="year" value="2006" />
+  </bean>
+  <bean id="ApacheCon2005" class="org.apache.geronimo.plugins.spring.example.Austin">
+      <property name="drink" value="Orange Juice" />
+      <property name="food" value="Fish" />
+      <property name="music" value="Jazz" />
+      <property name="year" value="2005" />
+  </bean>
+</beans>
\ No newline at end of file

Propchange: geronimo/plugins/spring/trunk/example/src/resources/example-config.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringContextWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringContextWrapper.java?view=auto&rev=463283
==============================================================================
--- geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringContextWrapper.java (added)
+++ geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringContextWrapper.java Thu Oct 12 08:35:09 2006
@@ -0,0 +1,32 @@
+package org.apache.geronimo.plugins.spring;
+
+import org.springframework.context.ApplicationContext;
+
+/**
+ * Used by components that want to access a Spring context
+ *
+ * @version $Rev: 410741 $ $Date: 2006-06-01 00:35:48 -0400 (Thu, 01 Jun 2006) $
+ */
+public interface SpringContextWrapper {
+    /**
+     * Gets the name of this context
+     */
+    public String getContextName();
+
+    /**
+     * Gets a reference to the Spring context.
+     * Warning: This method cannot be called by web applications in
+     *          Geronimo/Jetty 1.1.1.
+     */
+    public ApplicationContext getSpringContext();
+
+    /**
+     * Gets the names of the beans defined in the Spring context
+     */
+    public String[] getBeanDefinitionNames();
+
+    /**
+     * Gets a bean from the Spring context
+     */
+    public Object getBean(String name);
+}

Propchange: geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringContextWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringGBean.java
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringGBean.java?view=diff&rev=463283&r1=463282&r2=463283
==============================================================================
--- geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringGBean.java (original)
+++ geronimo/plugins/spring/trunk/modules/spring-integration-service/src/java/org/apache/geronimo/plugins/spring/SpringGBean.java Thu Oct 12 08:35:09 2006
@@ -65,6 +65,14 @@
         return springContext;
     }
 
+    public String[] getBeanDefinitionNames() {
+        return springContext.getBeanDefinitionNames();
+    }
+
+    public Object getBean(String name) {
+        return springContext.getBean(name);
+    }
+
     public void doStart() throws Exception {
         String config = getConfigFileName();
 

Modified: geronimo/plugins/spring/trunk/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/plugins/spring/trunk/pom.xml?view=diff&rev=463283&r1=463282&r2=463283
==============================================================================
--- geronimo/plugins/spring/trunk/pom.xml (original)
+++ geronimo/plugins/spring/trunk/pom.xml Thu Oct 12 08:35:09 2006
@@ -21,6 +21,7 @@
         <module>configs</module>
         <module>dependencies</module>
         <module>example</module>
+        <module>example-web</module>
     </modules>
 
     <repositories>
@@ -78,6 +79,11 @@
             <artifactId>spring-deployer-service</artifactId>
             <version>${spring-plugin-version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>spring-plugin-example</artifactId>
+            <version>${spring-plugin-version}</version>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.geronimo.plugins</groupId>
@@ -236,6 +242,18 @@
             <groupId>stax</groupId>
             <artifactId>stax-api</artifactId>
             <version>1.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-servlet_2.4_spec</artifactId>
+            <version>1.0.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jsp_2.0_spec</artifactId>
+            <version>1.0.1</version>
         </dependency>
     </dependencies>
   </dependencyManagement>