Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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.catalina.core;
 
Mapper listener.

Author(s):
Remy Maucherat
Costin Manolache
 
 public class ServiceMapperListener
     implements LifecycleListenerContainerListener
  {
 
 
     // ----------------------------------------------------- Instance Variables
 

    
Associated mapper.
 
     protected Mapper mapper = null;
     
 
     // ----------------------------------------------------------- Constructors
 

    
Create mapper listener.
 
     public ServiceMapperListener(Mapper mapper) {
         this. = mapper;
     }
 
 
     // --------------------------------------------------------- Public Methods
 
 
     public void containerEvent(ContainerEvent event) {
 
         Container container = event.getContainer();
         String type = event.getType();
 
         if (type.equals(.)) {
             if (container instanceof Host) {
                 // Deploying a webapp
                 Context context = (Contextevent.getData();
                 ((Lifecyclecontext).addLifecycleListener(this);
                 if (context.isStarted()) {
                     addContext(context);
                 }
             } else if (container instanceof Engine) {
                 // Deploying a host
                 Host host = (Hostevent.getData();
                 host.addContainerListener(this);
                 .addHost(host.getName(), host.findAliases(), host);
             }
         } else if (type.equals(.)) {
             if (container instanceof Host) {
                 // Undeploying a webapp
                 Context context = (Contextevent.getData();
                 ((Lifecyclecontext).removeLifecycleListener(this);
                 .removeContext(container.getName(), context.getName());
             } else if (container instanceof Engine) {
                 // Undeploying a host
                 Host host = (Hostevent.getData();
                 host.removeContainerListener(this);
                 .removeHost(host.getName());
             }
         } else if (type == .) {
             .addHostAlias(((Hostevent.getSource()).getName(),
                    event.getData().toString());
        } else if (type == .) {
            .removeHostAlias(event.getData().toString());
        }
    }
    
    public void lifecycleEvent(LifecycleEvent event) {
        Object source = event.getLifecycle();
        if (..equals(event.getType())) {
            if (source instanceof Service) {
                Service service = (Servicesource;
                Engine engine = (Engineservice.getContainer();
                engine.addContainerListener(this);
                ((Lifecycleengine).addLifecycleListener(this);
                if (engine.getDefaultHost() != null) {
                    .setDefaultHostName(engine.getDefaultHost());
                }
                for (Container host : engine.findChildren()) {
                    host.addContainerListener(this);
                    .addHost(host.getName(), ((Hosthost).findAliases(), host);
                    for (Container context : host.findChildren()) {
                        ((Lifecyclecontext).addLifecycleListener(this);
                    }
                }
            }
        } else if (..equals(event.getType())) {
            if (source instanceof Context) {
                // Stop a webapp
                Context context = (Contextsource;
                .removeContext(context.getParent().getName(), context.getName());
            } else if (source instanceof Service) {
                Service service = (Servicesource;
                Engine engine = (Engineservice.getContainer();
                engine.removeContainerListener(this);
                ((Lifecycleengine).removeLifecycleListener(this);
                for (Container host : engine.findChildren()) {
                    host.removeContainerListener(this);
                    .removeHost(host.getName());
                    for (Container context : host.findChildren()) {
                        ((Lifecyclecontext).removeLifecycleListener(this);
                        .removeContext(host.getName(), context.getName());
                    }
                }
            }
        } else if (..equals(event.getType())) {
            Context context = (Contextsource;
            addContext(context);
        }
    }
    
    protected void addContext(Context context) {
        .addContext(context.getParent().getName(), context.getName(), context
                context.findWelcomeFiles(), context.getResources());
        // Add all wrappers
        for (Container child : context.findChildren()) {
            Wrapper wrapper = (Wrapperchild;
            if (wrapper.getEnabled()) {
                for (String mapping : wrapper.findMappings()) {
                    boolean jspWildCard = ("jsp".equals(wrapper.getName()) 
                            && mapping.endsWith("/*"));
                    .addWrapper(context.getParent().getName(), context.getName(), 
                            mappingwrapperjspWildCard);
                }
            }
        }
    }
New to GrepCode? Check out our FAQ X