> Author: xuhaihong
> Date: Fri Nov 20 02:56:24 2009
> New Revision: 882391
>
> URL:
http://svn.apache.org/viewvc?rev=882391&view=rev> Log:
> GERONIMO-4953 No way to set Tomcat native cluster on engine and host
> level
>
> Added:
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ClusterListenerType.java
> (with props)
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/InterceptorType.java (with
> props)
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ManagerType.java (with props)
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/MemberType.java (with props)
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/SenderType.java (with props)
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/TransportType.java (with
> props)
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/
> resources/deployables/server-2.xml (with props)
> Modified:
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ClusterType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ConnectorType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ContextType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/EjbType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/EngineType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/EnvironmentType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ExecutorType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/HostType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ListenerType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/LocalEjbType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/NamingResourcesType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ObjectFactory.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/RealmType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ResourceEnvRefType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ResourceType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ServerType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ServiceRefType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ServiceType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/TransactionType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ValveType.java
> geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/
> java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java
> geronimo/server/trunk/plugins/tomcat/tomcat6/src/main/filtered-
> resources/tomcat-base/server.xml
>
> Added: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ClusterListenerType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ClusterListenerType.java?rev=882391&view=auto> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ClusterListenerType.java (added)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ClusterListenerType.java Fri
> Nov 20 02:56:24 2009
> @@ -0,0 +1,73 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
> +
> +package org.apache.geronimo.tomcat.model;
> +
> +import java.util.HashMap;
> +import java.util.Map;
> +
> +import javax.xml.bind.annotation.XmlAccessType;
> +import javax.xml.bind.annotation.XmlAccessorType;
> +import javax.xml.bind.annotation.XmlAnyAttribute;
> +import javax.xml.bind.annotation.XmlAttribute;
> +import javax.xml.bind.annotation.XmlType;
> +import javax.xml.namespace.QName;
> +
> +import org.apache.catalina.ha.ClusterListener;
> +import org.apache.xbean.recipe.ObjectRecipe;
> +import org.apache.xbean.recipe.Option;
> +
> +@XmlAccessorType(XmlAccessType.FIELD)
> +@XmlType(name = "ClusterListenerType")
> +public class ClusterListenerType {
> +
> + @XmlAttribute(required = true)
> + protected String className;
> +
> + @XmlAnyAttribute
> + private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
> +
> + /**
> + * Gets a map that contains attributes that aren't bound to any
> typed property on this class.
> + *
> + * <p>
> + * the map is keyed by the name of the attribute and
> + * the value is the string value of the attribute.
> + *
> + * the map returned by this method is live, and you can add new
> attribute
> + * by updating the map directly. Because of this design,
> there's no setter.
> + *
> + *
> + * @return
> + * always non-null
> + */
> + public Map<QName, String> getOtherAttributes() {
> + return otherAttributes;
> + }
> +
> + public ClusterListener getLifecycleListener(ClassLoader cl)
> throws Exception {
> + Map<String, Object> properties = new HashMap<String,
> Object>();
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> + String name = entry.getKey().getLocalPart();
> + properties.put(name, entry.getValue());
> + }
> + ObjectRecipe recipe = new ObjectRecipe(className,
> properties);
> + recipe.allow(Option.IGNORE_MISSING_PROPERTIES);
> + ClusterListener listener = (ClusterListener)
> recipe.create(cl);
> + return listener;
> + }
> +}
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/
> ClusterListenerType.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/
> ClusterListenerType.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Revision
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/
> ClusterListenerType.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ClusterType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ClusterType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ClusterType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ClusterType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,17 +1,43 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
> +import java.util.ArrayList;
> +import java.util.HashMap;
> +import java.util.List;
> +import java.util.Map;
> +
> import javax.xml.bind.annotation.XmlAccessType;
> import javax.xml.bind.annotation.XmlAccessorType;
> +import javax.xml.bind.annotation.XmlAnyAttribute;
> +import javax.xml.bind.annotation.XmlAttribute;
> +import javax.xml.bind.annotation.XmlElement;
> import javax.xml.bind.annotation.XmlType;
> +import javax.xml.namespace.QName;
>
> +import org.apache.catalina.Cluster;
> +import org.apache.catalina.Lifecycle;
> +import org.apache.catalina.Valve;
> +import org.apache.catalina.ha.CatalinaCluster;
> +import org.apache.catalina.ha.ClusterListener;
> +import org.apache.catalina.ha.tcp.SimpleTcpCluster;
> +import org.apache.xbean.recipe.ObjectRecipe;
> +import org.apache.xbean.recipe.Option;
>
> /**
> * <p>Java class for ClusterType complex type.
> @@ -30,8 +56,107 @@
> *
> */
> @XmlAccessorType(XmlAccessType.FIELD)
> -@XmlType(name = "ClusterType")
> +@XmlType(name = "ClusterType", propOrder = { "manager", "channel",
> "valve", "listener", "clusterListener" })
> public class ClusterType {
>
> + @XmlAttribute
> + protected String className = SimpleTcpCluster.class.getName();
> +
> + @XmlAnyAttribute
> + private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
> +
> + @XmlElement(name = "Manager")
> + protected List<ManagerType> manager;
>
> + @XmlElement(name = "Channel")
> + protected ChannelType channel;
> +
> + @XmlElement(name = "Valve")
> + protected List<ValveType> valve;
> +
> + @XmlElement(name = "Listener")
> + protected List<ListenerType> listener;
> +
> + @XmlElement(name = "ClusterListener")
> + protected List<ClusterListenerType> clusterListener;
> +
> + public ChannelType getChannel() {
> + return channel;
> + }
> +
> + public String getClassName() {
> + return className;
> + }
> +
> + public Cluster getCluster(ClassLoader cl) throws Exception {
> + Map<String, Object> properties = new HashMap<String,
> Object>();
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> + String name = entry.getKey().getLocalPart();
> + properties.put(name, entry.getValue());
> + }
> + ObjectRecipe recipe = new ObjectRecipe(className,
> properties);
> + recipe.allow(Option.IGNORE_MISSING_PROPERTIES);
> + Cluster cluster = (Cluster) recipe.create(cl);
> + for (ManagerType managerType : getManager()) {
> + cluster.registerManager(managerType.getManager(cl));
> + }
> + if (cluster instanceof CatalinaCluster) {
> + CatalinaCluster catalinaCluster = (CatalinaCluster)
> cluster;
> + //Channel
> + if (getChannel() != null) {
> +
> catalinaCluster.setChannel(getChannel().getChannel(cl));
> + }
> + //Valve
> + for (ValveType valveType : getValve()) {
> + Valve valve = valveType.getValve(cl);
> + catalinaCluster.addValve(valve);
> + }
> + //ClusterListener
> + for (ClusterListenerType clusterListenerType :
> getClusterListener()) {
> + ClusterListener clusterListener =
> clusterListenerType.getLifecycleListener(cl);
> + catalinaCluster.addClusterListener(clusterListener);
> + }
> + }
> + // LifecycleListener
> + if (cluster instanceof Lifecycle) {
> + Lifecycle lifecycle = (Lifecycle) cluster;
> + for (ListenerType listenerType : getListener()) {
> +
> lifecycle.addLifecycleListener(listenerType.getLifecycleListener(cl));
> + }
> + }
> + return cluster;
> + }
> +
> + public List<ClusterListenerType> getClusterListener() {
> + return clusterListener;
> + }
> +
> + public List<ListenerType> getListener() {
> + if (listener == null) {
> + listener = new ArrayList<ListenerType>();
> + }
> + return listener;
> + }
> +
> + public List<ManagerType> getManager() {
> + if (manager == null) {
> + manager = new ArrayList<ManagerType>();
> + }
> + return manager;
> + }
> +
> + public Map<QName, String> getOtherAttributes() {
> + return otherAttributes;
> + }
> +
> + public List<ValveType> getValve() {
> + if (valve == null) {
> + valve = new ArrayList<ValveType>();
> + }
> + return valve;
> + }
> +
> + public void setClassName(String className) {
> + this.className = className;
> + }
> }
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ConnectorType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ConnectorType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ConnectorType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ConnectorType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,9 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.05 at 10:24:22 AM PDT
> -//
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
>
> package org.apache.geronimo.tomcat.model;
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ContextType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ContextType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ContextType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ContextType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/EjbType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/EjbType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/EjbType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/EjbType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,9 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
>
> package org.apache.geronimo.tomcat.model;
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/EngineType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/EngineType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/EngineType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/EngineType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,9 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.05 at 10:24:22 AM PDT
> -//
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
>
> package org.apache.geronimo.tomcat.model;
> @@ -72,7 +82,7 @@
> @XmlElement(name = "Host")
> protected List<HostType> host;
> @XmlElement(name = "Cluster")
> - protected List<ClusterType> cluster;
> + protected ClusterType cluster;
> @XmlElement(name = "Listener")
> protected List<ListenerType> listener;
> @XmlAttribute
> @@ -141,33 +151,8 @@
> return this.host;
> }
>
> - /**
> - * Gets the value of the cluster property.
> - *
> - * <p>
> - * This accessor method returns a reference to the live list,
> - * not a snapshot. Therefore any modification you make to the
> - * returned list will be present inside the JAXB object.
> - * This is why there is not a <CODE>set</CODE> method for the
> cluster property.
> - *
> - * <p>
> - * For example, to add a new item, do as follows:
> - * <pre>
> - * getCluster().add(newItem);
> - * </pre>
> - *
> - *
> - * <p>
> - * Objects of the following type(s) are allowed in the list
> - * {@link ClusterType }
> - *
> - *
> - */
> - public List<ClusterType> getCluster() {
> - if (cluster == null) {
> - cluster = new ArrayList<ClusterType>();
> - }
> - return this.cluster;
> + public ClusterType getCluster() {
> + return cluster;
> }
>
> /**
> @@ -368,6 +353,9 @@
> engine.addChild(host);
> }
> //cluster
> + if (getCluster() != null) {
> + engine.setCluster(getCluster().getCluster(cl));
> + }
> //listener
> if (engine instanceof Lifecycle) {
> Lifecycle lifecycle = (Lifecycle) engine;
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/EnvironmentType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/EnvironmentType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/EnvironmentType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/EnvironmentType.java Fri Nov
> 20 02:56:24 2009
> @@ -1,9 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
>
> package org.apache.geronimo.tomcat.model;
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ExecutorType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ExecutorType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ExecutorType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ExecutorType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
> @@ -28,7 +37,6 @@
> import org.apache.geronimo.gbean.AbstractNameQuery;
> import org.apache.geronimo.gbean.AbstractName;
>
> -
> /**
> * <p>Java class for ExecutorType complex type.
> *
> @@ -52,6 +60,7 @@
>
> @XmlAttribute
> protected String className =
> StandardThreadExecutor.class.getName();
> +
> @XmlAnyAttribute
> private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
>
> @@ -97,19 +106,17 @@
> return otherAttributes;
> }
>
> -
> public Executor getExecutor(ClassLoader cl, Kernel kernel)
> throws Exception {
> Map<String, Object> properties = new HashMap<String,
> Object>();
> -
> - for (Map.Entry<QName, String> entry:
> otherAttributes.entrySet()) {
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> String name = entry.getKey().getLocalPart();
> if (name.endsWith("-ref")) {
> AbstractNameQuery query = new
> AbstractNameQuery(URI.create(entry.getValue()));
> Set<AbstractName> names = kernel.listGBeans(query);
> - if (names.size() != 1) throw new
> IllegalStateException("Unsatisfied reference for name " + name + "
> and reference to " + entry.getValue());
> + if (names.size() != 1)
> + throw new IllegalStateException("Unsatisfied
> reference for name " + name + " and reference to " +
> entry.getValue());
> Object ref = kernel.getGBean(names.iterator().next());
> properties.put(name.substring(0, name.length() - 4),
> ref);
> -
> } else {
> properties.put(name, entry.getValue());
> }
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/HostType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/HostType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/HostType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/HostType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
> @@ -21,6 +30,7 @@
> import javax.xml.bind.annotation.XmlType;
> import javax.xml.namespace.QName;
>
> +import org.apache.catalina.Cluster;
> import org.apache.catalina.Host;
> import org.apache.catalina.Lifecycle;
> import org.apache.catalina.LifecycleListener;
> @@ -31,7 +41,6 @@
> import org.apache.xbean.recipe.ObjectRecipe;
> import org.apache.xbean.recipe.Option;
>
> -
> /**
> * <p>Java class for HostType complex type.
> *
> @@ -66,46 +75,54 @@
> *
> */
> @XmlAccessorType(XmlAccessType.FIELD)
> -@XmlType(name = "HostType", propOrder = {
> - "alias",
> - "cluster",
> - "listener",
> - "realm",
> - "valve",
> - "context"
> -})
> +@XmlType(name = "HostType", propOrder = { "alias", "cluster",
> "listener", "realm", "valve", "context" })
> public class HostType {
>
> @XmlElement(name = "Alias")
> protected List<String> alias;
> +
> @XmlElement(name = "Cluster")
> protected ClusterType cluster;
> +
> @XmlElement(name = "Listener")
> protected List<ListenerType> listener;
> +
> @XmlElement(name = "Realm")
> protected RealmType realm;
> +
> @XmlElement(name = "Valve")
> protected List<ValveType> valve;
> +
> @XmlElement(name = "Context")
> protected List<ContextType> context;
> +
> @XmlAttribute
> protected String className = StandardHost.class.getName();
> +
> @XmlAttribute
> protected String name;
> +
> @XmlAttribute
> protected String appBase;
> +
> @XmlAttribute
> protected String hostConfigClass;
> +
> @XmlAttribute
> protected Boolean unpackWARs;
> +
> @XmlAttribute
> protected Boolean autoDeploy;
> +
> @XmlAttribute
> protected Boolean deployOnStartup;
> +
> @XmlAttribute
> protected Boolean xmlValidation;
> +
> @XmlAttribute
> protected Boolean xmlNamespaceAware;
> +
> @XmlAnyAttribute
> private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
>
> @@ -517,46 +534,41 @@
> properties.put("deployOnStartup", isDeployOnStartup());
> properties.put("xmlValidation", isXmlValidation());
> properties.put("xmlNamespaceAware", isXmlNamespaceAware());
> -
> - //TODO cluster
> -// if (getCluster() != null) {
> -// ClusterType clusterType = getCluster();
> -// Cluster cluster = clusterType.getCluster(cl);
> -// properties.put("cluater", cluster);
> -// }
> + if (getCluster() != null) {
> + ClusterType clusterType = getCluster();
> + Cluster cluster = clusterType.getCluster(cl);
> + properties.put("cluster", cluster);
> + }
> if (getRealm() != null) {
> Realm realm = getRealm().getRealm(cl);
> properties.put("realm", realm);
> }
> - for (Map.Entry<QName, String> entry:
> otherAttributes.entrySet()) {
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> String name = entry.getKey().getLocalPart();
> properties.put(name, entry.getValue());
> }
> ObjectRecipe recipe = new ObjectRecipe(className, properties);
> recipe.allow(Option.IGNORE_MISSING_PROPERTIES);
> Host host = (Host) recipe.create(cl);
> -
> if (host instanceof Lifecycle) {
> Lifecycle lifecycle = (Lifecycle) host;
> - for (ListenerType listenerType: getListener()) {
> + for (ListenerType listenerType : getListener()) {
> LifecycleListener listener =
> listenerType.getLifecycleListener(cl);
> lifecycle.addLifecycleListener(listener);
> }
> }
> //alias
> - for (String alias: getAlias()) {
> + for (String alias : getAlias()) {
> host.addAlias(alias);
> }
> -
> //valve
> if (host instanceof Pipeline) {
> Pipeline pipeline = (Pipeline) host;
> - for (ValveType valveType: getValve()) {
> + for (ValveType valveType : getValve()) {
> Valve valve = valveType.getValve(cl);
> pipeline.addValve(valve);
> }
> }
> -
> //context
> //TODO contexts
> return host;
>
> Added: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/InterceptorType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/InterceptorType.java?rev=882391&view=auto> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/InterceptorType.java (added)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/InterceptorType.java Fri Nov
> 20 02:56:24 2009
> @@ -0,0 +1,88 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
> +
> +package org.apache.geronimo.tomcat.model;
> +
> +import java.util.ArrayList;
> +import java.util.HashMap;
> +import java.util.List;
> +import java.util.Map;
> +
> +import javax.xml.bind.annotation.XmlAccessType;
> +import javax.xml.bind.annotation.XmlAccessorType;
> +import javax.xml.bind.annotation.XmlAnyAttribute;
> +import javax.xml.bind.annotation.XmlAttribute;
> +import javax.xml.bind.annotation.XmlElement;
> +import javax.xml.bind.annotation.XmlType;
> +import javax.xml.namespace.QName;
> +
> +import org.apache.catalina.tribes.ChannelInterceptor;
> +import
> org
> .apache
> .catalina.tribes.group.interceptors.StaticMembershipInterceptor;
> +import org.apache.xbean.recipe.ObjectRecipe;
> +import org.apache.xbean.recipe.Option;
> +
> +@XmlAccessorType(XmlAccessType.FIELD)
> +@XmlType(name = "InterceptorType")
> +public class InterceptorType {
> +
> + @XmlAttribute
> + protected String className;
> +
> + @XmlAnyAttribute
> + private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
> +
> + @XmlElement(name = "Member")
> + protected List<MemberType> member;
> +
> + public String getClassName() {
> + return className;
> + }
> +
> + public ChannelInterceptor getInterceptor(ClassLoader cl) throws
> Exception {
> + Map<String, Object> properties = new HashMap<String,
> Object>();
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> + String name = entry.getKey().getLocalPart();
> + properties.put(name, entry.getValue());
> + }
> + ObjectRecipe recipe = new ObjectRecipe(className,
> properties);
> + recipe.allow(Option.IGNORE_MISSING_PROPERTIES);
> + ChannelInterceptor channelInterceptor =
> (ChannelInterceptor) recipe.create(cl);
> + //Special handle for staticMembershipInterceptor
> + if (channelInterceptor instanceof
> StaticMembershipInterceptor && getMember().size() > 0) {
> + StaticMembershipInterceptor staticMembershipInterceptor
> = (StaticMembershipInterceptor) channelInterceptor;
> + for (MemberType memberType : getMember()) {
> +
> staticMembershipInterceptor.addStaticMember(memberType.getMember(cl));
> + }
> + }
> + return channelInterceptor;
> + }
> +
> + public List<MemberType> getMember() {
> + if (member == null) {
> + member = new ArrayList<MemberType>();
> + }
> + return member;
> + }
> +
> + public Map<QName, String> getOtherAttributes() {
> + return otherAttributes;
> + }
> +
> + public void setClassName(String className) {
> + this.className = className;
> + }
> +}
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/InterceptorType.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/InterceptorType.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Revision
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/InterceptorType.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ListenerType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ListenerType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ListenerType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ListenerType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,30 +1,36 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
> -import java.util.Map;
> import java.util.HashMap;
> +import java.util.Map;
>
> import javax.xml.bind.annotation.XmlAccessType;
> import javax.xml.bind.annotation.XmlAccessorType;
> +import javax.xml.bind.annotation.XmlAnyAttribute;
> import javax.xml.bind.annotation.XmlAttribute;
> import javax.xml.bind.annotation.XmlType;
> -import javax.xml.bind.annotation.XmlValue;
> -import javax.xml.bind.annotation.XmlAnyAttribute;
> import javax.xml.namespace.QName;
>
> import org.apache.catalina.LifecycleListener;
> -import org.apache.catalina.Executor;
> import org.apache.xbean.recipe.ObjectRecipe;
> import org.apache.xbean.recipe.Option;
>
> -
> /**
> * <p>Java class for ListenerType complex type.
> *
> @@ -48,6 +54,7 @@
>
> @XmlAttribute
> protected String className;
> +
> @XmlAnyAttribute
> private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
>
> @@ -95,8 +102,7 @@
>
> public LifecycleListener getLifecycleListener(ClassLoader cl)
> throws Exception {
> Map<String, Object> properties = new HashMap<String,
> Object>();
> -
> - for (Map.Entry<QName, String> entry:
> otherAttributes.entrySet()) {
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> String name = entry.getKey().getLocalPart();
> properties.put(name, entry.getValue());
> }
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/LocalEjbType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/LocalEjbType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/LocalEjbType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/LocalEjbType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
> @@ -12,7 +21,6 @@
> import javax.xml.bind.annotation.XmlAccessorType;
> import javax.xml.bind.annotation.XmlType;
>
> -
> /**
> * <p>Java class for LocalEjbType complex type.
> *
> @@ -32,6 +40,4 @@
> @XmlAccessorType(XmlAccessType.FIELD)
> @XmlType(name = "LocalEjbType")
> public class LocalEjbType {
> -
> -
> }
>
> Added: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ManagerType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ManagerType.java?rev=882391&view=auto> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ManagerType.java (added)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ManagerType.java Fri Nov 20
> 02:56:24 2009
> @@ -0,0 +1,82 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
> +
> +package org.apache.geronimo.tomcat.model;
> +
> +import java.util.HashMap;
> +import java.util.Map;
> +
> +import javax.xml.bind.annotation.XmlAccessType;
> +import javax.xml.bind.annotation.XmlAccessorType;
> +import javax.xml.bind.annotation.XmlAnyAttribute;
> +import javax.xml.bind.annotation.XmlAttribute;
> +import javax.xml.bind.annotation.XmlType;
> +import javax.xml.namespace.QName;
> +
> +import org.apache.catalina.Manager;
> +import org.apache.catalina.ha.session.DeltaManager;
> +import org.apache.xbean.recipe.ObjectRecipe;
> +import org.apache.xbean.recipe.Option;
> +
> +@XmlAccessorType(XmlAccessType.FIELD)
> +@XmlType(name = "ManagerType")
> +public class ManagerType {
> +
> + @XmlAttribute
> + protected String className = DeltaManager.class.getName();
> +
> + @XmlAnyAttribute
> + private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
> +
> + public String getClassName() {
> + return className;
> + }
> +
> + /**
> + * Gets a map that contains attributes that aren't bound to any
> typed property on this class.
> + *
> + * <p>
> + * the map is keyed by the name of the attribute and
> + * the value is the string value of the attribute.
> + *
> + * the map returned by this method is live, and you can add new
> attribute
> + * by updating the map directly. Because of this design,
> there's no setter.
> + *
> + *
> + * @return
> + * always non-null
> + */
> + public Map<QName, String> getOtherAttributes() {
> + return otherAttributes;
> + }
> +
> + public void setClassName(String className) {
> + this.className = className;
> + }
> +
> + public Manager getManager(ClassLoader cl) throws Exception {
> + Map<String, Object> properties = new HashMap<String,
> Object>();
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> + String name = entry.getKey().getLocalPart();
> + properties.put(name, entry.getValue());
> + }
> + ObjectRecipe recipe = new ObjectRecipe(className,
> properties);
> + recipe.allow(Option.IGNORE_MISSING_PROPERTIES);
> + Manager manager = (Manager) recipe.create(cl);
> + return manager;
> + }
> +}
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/ManagerType.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/ManagerType.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Revision
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/ManagerType.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Added: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/MemberType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/MemberType.java?rev=882391&view=auto> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/MemberType.java (added)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/MemberType.java Fri Nov 20
> 02:56:24 2009
> @@ -0,0 +1,59 @@
> +
> +package org.apache.geronimo.tomcat.model;
> +
> +import java.util.HashMap;
> +import java.util.Map;
> +
> +import javax.xml.bind.annotation.XmlAccessType;
> +import javax.xml.bind.annotation.XmlAccessorType;
> +import javax.xml.bind.annotation.XmlAnyAttribute;
> +import javax.xml.bind.annotation.XmlAttribute;
> +import javax.xml.bind.annotation.XmlType;
> +import javax.xml.namespace.QName;
> +
> +import org.apache.catalina.tribes.Member;
> +import org.apache.catalina.tribes.membership.StaticMember;
> +import org.apache.xbean.recipe.ObjectRecipe;
> +import org.apache.xbean.recipe.Option;
> +
> +@XmlAccessorType(XmlAccessType.FIELD)
> +@XmlType(name = "MemberType")
> +public class MemberType {
> +
> + @XmlAttribute
> + protected String className = StaticMember.class.getName();
> +
> + @XmlAnyAttribute
> + private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
> +
> + public String getClassName() {
> + return className;
> + }
> +
> + public Map<QName, String> getOtherAttributes() {
> + return otherAttributes;
> + }
> +
> + public Member getMember(ClassLoader cl) throws Exception {
> + Map<String, Object> properties = new HashMap<String,
> Object>();
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> + String name = entry.getKey().getLocalPart();
> + properties.put(name, entry.getValue());
> + }
> + ObjectRecipe recipe = new ObjectRecipe(className,
> properties);
> + /*
> + * Use specified constructor will make sure the host
> attribute to be set prior other attributes
> + * for the default static member implementation
> + */
> + if (className.equals(StaticMember.class.getName())) {
> + recipe.setConstructorArgNames(new String[] { "host",
> "port", "aliveTime" });
> + }
> + recipe.allow(Option.IGNORE_MISSING_PROPERTIES);
> + Member member = (Member) recipe.create(cl);
> + return member;
> + }
> +
> + public void setClassName(String className) {
> + this.className = className;
> + }
> +}
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/MemberType.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/MemberType.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Revision
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/MemberType.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/NamingResourcesType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/NamingResourcesType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/NamingResourcesType.java
> (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/NamingResourcesType.java Fri
> Nov 20 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
> @@ -19,7 +28,6 @@
> import org.apache.catalina.deploy.NamingResources;
> import org.apache.catalina.deploy.ContextResource;
>
> -
> /**
> * <p>Java class for NamingResourcesType complex type.
> *
> @@ -46,32 +54,28 @@
> *
> */
> @XmlAccessorType(XmlAccessType.FIELD)
> -@XmlType(name = "NamingResourcesType", propOrder = {
> - "ejb",
> - "environment",
> - "localEjb",
> - "resource",
> - "resourceEnvRef",
> - "serviceRef",
> - "transaction"
> -})
> -@XmlSeeAlso({
> - ContextType.class
> -})
> +@XmlType(name = "NamingResourcesType", propOrder = { "ejb",
> "environment", "localEjb", "resource", "resourceEnvRef",
> "serviceRef", "transaction" })
> +@XmlSeeAlso( { ContextType.class })
> public class NamingResourcesType {
>
> @XmlElement(name = "Ejb")
> protected List<EjbType> ejb;
> +
> @XmlElement(name = "Environment")
> protected List<EnvironmentType> environment;
> +
> @XmlElement(name = "LocalEjb")
> protected List<LocalEjbType> localEjb;
> +
> @XmlElement(name = "Resource")
> protected List<ResourceType> resource;
> +
> @XmlElement(name = "ResourceEnvRef")
> protected List<ResourceEnvRefType> resourceEnvRef;
> +
> @XmlElement(name = "ServiceRef")
> protected List<ServiceRefType> serviceRef;
> +
> @XmlElement(name = "Transaction")
> protected List<TransactionType> transaction;
>
> @@ -279,7 +283,7 @@
> }
>
> public void merge(NamingResources namingResources, ClassLoader
> cl) {
> - for (ResourceType resourceType: getResource()) {
> + for (ResourceType resourceType : getResource()) {
> ContextResource contextResource =
> resourceType.getContextResource(cl);
> namingResources.addResource(contextResource);
> }
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ObjectFactory.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ObjectFactory.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ObjectFactory.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ObjectFactory.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
> @@ -13,7 +22,6 @@
> import javax.xml.bind.annotation.XmlRegistry;
> import javax.xml.namespace.QName;
>
> -
> /**
> * This object contains factory methods for each
> * Java content interface and Java element interface
> @@ -192,6 +200,38 @@
> return new ResourceType();
> }
>
> + public ClusterListenerType createClusterListenerType() {
> + return new ClusterListenerType();
> + }
> +
> + public InterceptorType createInterceptorType() {
> + return new InterceptorType();
> + }
> +
> + public ManagerType createManagerType() {
> + return new ManagerType();
> + }
> +
> + public MembershipType createMembershipType() {
> + return new MembershipType();
> + }
> +
> + public MemberType createMemberType() {
> + return new MemberType();
> + }
> +
> + public ReceiverType createReceiverType() {
> + return new ReceiverType();
> + }
> +
> + public SenderType createSenderType() {
> + return new SenderType();
> + }
> +
> + public TransportType createTransportType() {
> + return new TransportType();
> + }
> +
> /**
> * Create an instance of {@link JAXBElement }{@code <}{@link
> ServerType }{@code >}}
> *
> @@ -200,5 +240,4 @@
> public JAXBElement<ServerType> createServer(ServerType value) {
> return new JAXBElement<ServerType>(_Server_QNAME,
> ServerType.class, null, value);
> }
> -
> }
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/RealmType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/RealmType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/RealmType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/RealmType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,26 +1,33 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
> -import java.util.Map;
> import java.util.HashMap;
> +import java.util.Map;
>
> import javax.xml.bind.annotation.XmlAccessType;
> import javax.xml.bind.annotation.XmlAccessorType;
> +import javax.xml.bind.annotation.XmlAnyAttribute;
> import javax.xml.bind.annotation.XmlAttribute;
> import javax.xml.bind.annotation.XmlType;
> -import javax.xml.bind.annotation.XmlValue;
> -import javax.xml.bind.annotation.XmlAnyAttribute;
> import javax.xml.namespace.QName;
>
> import org.apache.catalina.Realm;
> -import org.apache.catalina.Executor;
> import org.apache.xbean.recipe.ObjectRecipe;
> import org.apache.xbean.recipe.Option;
>
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ResourceEnvRefType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ResourceEnvRefType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ResourceEnvRefType.java
> (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ResourceEnvRefType.java Fri
> Nov 20 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ResourceType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ResourceType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ResourceType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ResourceType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
>
> Added: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/SenderType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/SenderType.java?rev=882391&view=auto> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/SenderType.java (added)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/SenderType.java Fri Nov 20
> 02:56:24 2009
> @@ -0,0 +1,84 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
> +
> +package org.apache.geronimo.tomcat.model;
> +
> +import java.util.HashMap;
> +import java.util.Map;
> +
> +import javax.xml.bind.annotation.XmlAccessType;
> +import javax.xml.bind.annotation.XmlAccessorType;
> +import javax.xml.bind.annotation.XmlAnyAttribute;
> +import javax.xml.bind.annotation.XmlAttribute;
> +import javax.xml.bind.annotation.XmlElement;
> +import javax.xml.bind.annotation.XmlType;
> +import javax.xml.namespace.QName;
> +
> +import org.apache.catalina.tribes.ChannelSender;
> +import org.apache.catalina.tribes.transport.ReplicationTransmitter;
> +import org.apache.xbean.recipe.ObjectRecipe;
> +import org.apache.xbean.recipe.Option;
> +
> +@XmlAccessorType(XmlAccessType.FIELD)
> +@XmlType(name = "SenderType")
> +public class SenderType {
> +
> + @XmlAttribute
> + protected String className =
> ReplicationTransmitter.class.getName();
> +
> + @XmlAnyAttribute
> + private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
> +
> + @XmlElement(name = "Transport")
> + private TransportType transport;
> +
> + public String getClassName() {
> + return className;
> + }
> +
> + public Map<QName, String> getOtherAttributes() {
> + return otherAttributes;
> + }
> +
> + public ChannelSender getSender(ClassLoader cl) throws Exception {
> + Map<String, Object> properties = new HashMap<String,
> Object>();
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> + String name = entry.getKey().getLocalPart();
> + properties.put(name, entry.getValue());
> + }
> + ObjectRecipe recipe = new ObjectRecipe(className,
> properties);
> + recipe.allow(Option.IGNORE_MISSING_PROPERTIES);
> + ChannelSender channelSender = (ChannelSender)
> recipe.create(cl);
> + if (channelSender instanceof ReplicationTransmitter &&
> transport != null) {
> + ReplicationTransmitter replicationTransmitter =
> (ReplicationTransmitter) channelSender;
> +
> replicationTransmitter.setTransport(transport.getTransport(cl));
> + }
> + return channelSender;
> + }
> +
> + public TransportType getTransport() {
> + return transport;
> + }
> +
> + public void setClassName(String className) {
> + this.className = className;
> + }
> +
> + public void setTransport(TransportType transport) {
> + this.transport = transport;
> + }
> +}
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/SenderType.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/SenderType.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Revision
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/SenderType.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ServerType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ServerType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ServerType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ServerType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ServiceRefType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ServiceRefType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ServiceRefType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ServiceRefType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ServiceType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ServiceType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ServiceType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ServiceType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/TransactionType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/TransactionType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/TransactionType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/TransactionType.java Fri Nov
> 20 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
>
> Added: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/TransportType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/TransportType.java?rev=882391&view=auto> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/TransportType.java (added)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/TransportType.java Fri Nov 20
> 02:56:24 2009
> @@ -0,0 +1,68 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
> +
> +package org.apache.geronimo.tomcat.model;
> +
> +import java.util.HashMap;
> +import java.util.Map;
> +
> +import javax.xml.bind.annotation.XmlAccessType;
> +import javax.xml.bind.annotation.XmlAccessorType;
> +import javax.xml.bind.annotation.XmlAnyAttribute;
> +import javax.xml.bind.annotation.XmlAttribute;
> +import javax.xml.bind.annotation.XmlType;
> +import javax.xml.namespace.QName;
> +
> +import org.apache.catalina.tribes.transport.MultiPointSender;
> +import org.apache.catalina.tribes.transport.nio.PooledParallelSender;
> +import org.apache.xbean.recipe.ObjectRecipe;
> +import org.apache.xbean.recipe.Option;
> +
> +@XmlAccessorType(XmlAccessType.FIELD)
> +@XmlType(name = "TransportType")
> +public class TransportType {
> +
> + @XmlAttribute
> + protected String className =
> PooledParallelSender.class.getName();
> +
> + @XmlAnyAttribute
> + private Map<QName, String> otherAttributes = new HashMap<QName,
> String>();
> +
> + public String getClassName() {
> + return className;
> + }
> +
> + public Map<QName, String> getOtherAttributes() {
> + return otherAttributes;
> + }
> +
> + public MultiPointSender getTransport(ClassLoader cl) throws
> Exception {
> + Map<String, Object> properties = new HashMap<String,
> Object>();
> + for (Map.Entry<QName, String> entry :
> otherAttributes.entrySet()) {
> + String name = entry.getKey().getLocalPart();
> + properties.put(name, entry.getValue());
> + }
> + ObjectRecipe recipe = new ObjectRecipe(className,
> properties);
> + recipe.allow(Option.IGNORE_MISSING_PROPERTIES);
> + MultiPointSender multiPointSender = (MultiPointSender)
> recipe.create(cl);
> + return multiPointSender;
> + }
> +
> + public void setClassName(String className) {
> + this.className = className;
> + }
> +}
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/TransportType.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/TransportType.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Revision
>
> Propchange: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/model/TransportType.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/model/ValveType.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/model/ValveType.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ValveType.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/
> java/org/apache/geronimo/tomcat/model/ValveType.java Fri Nov 20
> 02:56:24 2009
> @@ -1,10 +1,19 @@
> -//
> -// This file was generated by the JavaTM Architecture for XML
> Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
> -// See <a href="
http://java.sun.com/xml/jaxb">
http://java.sun.com/xml/jaxb
> </a>
> -// Any modifications to this file will be lost upon recompilation
> of the source schema.
> -// Generated on: 2009.06.02 at 10:12:18 AM PDT
> -//
> -
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or
> more
> + * contributor license agreements. See the NOTICE file
> distributed with
> + * this work for additional information regarding copyright
> ownership.
> + * The ASF licenses this file to You under the Apache License,
> Version 2.0
> + * (the "License"); you may not use this file except in compliance
> with
> + * the License. You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0> + *
> + * Unless required by applicable law or agreed to in writing,
> software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions
> and
> + * limitations under the License.
> + */
>
> package org.apache.geronimo.tomcat.model;
>
>
> Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/
> test/java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java
> URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java?rev=882391&r1=882390&r2=882391&view=diff> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/
> java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java (original)
> +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/
> java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java Fri Nov
> 20 02:56:24 2009
> @@ -17,26 +17,29 @@
> * under the License.
> */
>
> -
> package org.apache.geronimo.tomcat;
>
> import java.io.File;
> import java.io.FileReader;
>
> +import org.apache.catalina.Lifecycle;
> +import org.apache.catalina.Server;
> +import org.apache.geronimo.system.serverinfo.BasicServerInfo;
> +import org.apache.geronimo.system.serverinfo.ServerInfo;
> import org.apache.geronimo.testsupport.TestSupport;
> +import org.apache.geronimo.tomcat.model.ChannelType;
> +import org.apache.geronimo.tomcat.model.ClusterType;
> import org.apache.geronimo.tomcat.model.ServerType;
> -import org.apache.geronimo.system.serverinfo.ServerInfo;
> -import org.apache.geronimo.system.serverinfo.BasicServerInfo;
> -import org.apache.catalina.Server;
> -import org.apache.catalina.Lifecycle;
>
> /**
> * @version $Rev$ $Date$
> */
> -
> public class TomcatServerGBeanTest extends TestSupport {
> +
> private static final String SERVER_1 = "src/test/resources/
> deployables/server-1.xml";
>
> + private static final String SERVER_2 = "src/test/resources/
> deployables/server-2.xml";
> +
> public void testLoadServer1() throws Exception {
> File server1 = resolveFile(SERVER_1);
> FileReader in = new FileReader(server1);
> @@ -45,17 +48,43 @@
> assertEquals(4, serverType.getListener().size());
> Server server =
> serverType.build(getClass().getClassLoader(), null);
> try {
> - ((Lifecycle)server).start();
> + ((Lifecycle) server).start();
> } finally {
> - ((Lifecycle)server).stop();
> + ((Lifecycle) server).stop();
> }
> } finally {
> in.close();
> }
> }
> +
> + public void testLoadServer2() throws Exception {
> + File server2 = resolveFile(SERVER_2);
> + FileReader in = new FileReader(server2);
> + try {
> + ServerType serverType =
> TomcatServerGBean.loadServerType(in);
> + ClusterType engineClusterType =
> serverType.getService().get(0).getEngine().getCluster();
> + assertNotNull(engineClusterType);
> + validateClusterType(engineClusterType);
> + ClusterType hostClusterType =
> serverType
> .getService().get(0).getEngine().getHost().get(0).getCluster();
> + assertNotNull(hostClusterType);
> + validateClusterType(hostClusterType);
> + serverType.build(getClass().getClassLoader(), null);
> + } finally {
> + in.close();
> + }
> + }
> +
> + private void validateClusterType(ClusterType clusterType) {
> + assertEquals(2, clusterType.getValve().size());
> + assertEquals(2, clusterType.getClusterListener().size());
> + ChannelType channelType = clusterType.getChannel();
> + assertEquals(3, channelType.getInterceptor().size());
> + assertEquals(1,
> channelType.getInterceptor().get(2).getMember().size());
> + }
> +
> public void testGBeanServer1() throws Exception {
> ServerInfo serverInfo = new
> BasicServerInfo(BASEDIR.getAbsolutePath());
> - TomcatServerGBean tomcatServerGBean = new
> TomcatServerGBean(null, SERVER_1, null ,serverInfo, null, null,
> getClass().getClassLoader(), null);
> + TomcatServerGBean tomcatServerGBean = new
> TomcatServerGBean(null, SERVER_1, null, serverInfo, null, null,
> getClass().getClassLoader(), null);
> try {
> tomcatServerGBean.doStart();
> } finally {
>
>