Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *  Copyright (c) 2011 Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany.
   *  All rights reserved. This program and the accompanying materials
   *  are made available under the terms of the GNU Lesser Public License v2.1
   *  which accompanies this distribution, and is available at
   *  http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
   *
   *  Contributors:
   *      Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany - initial API and implementation
  */
 package de.ipk_gatersleben.bit.bi.edal.webdav.wrapper;
 
 
 import java.util.*;
 
Provide init-params to the filter or servlet to configure it: resource.factory.class - the class of your resource factory response.handler.class - specify if you want a different response handler authenticationHandlers - a list of class names for the authentication handlers filter_X - define an ordered list of milton filters, where the name is in the form filter_1, filter_2, etc and the value is the name of the filter class

Author(s):
Jinbo
 
 public class EdalMiltonConfigurator implements MiltonConfigurator {
 
 
 	protected List<Initableinitables;
 
 	protected HttpManager httpManager;
 
 	public HttpManager configure(Config configthrows ServletException {
 
 		..info("Listing all config parameters:");
 		for (String s : config.getInitParameterNames()) {
 			..info(" " + s + " = "
 					+ config.getInitParameter(s));
 		}
 
 		String authHandlers = config.getInitParameter("authenticationHandlers");
 		if (authHandlers != null) {
 			initAuthHandlers(authHandlers);
 		}
 		String resourceFactoryClassName = config
 				.getInitParameter("resource.factory.class");
 		if (resourceFactoryClassName != null) {
 			ResourceFactory rf = instantiate(resourceFactoryClassName);
 		} else {
 					.warn("No custom ResourceFactory class name provided in resource.factory.class");
 		}
 		String responseHandlerClassName = config
 				.getInitParameter("response.handler.class");
 		if (responseHandlerClassName != null) {
 			WebDavResponseHandler davResponseHandler = instantiate(responseHandlerClassName);
 			.setWebdavResponseHandler(davResponseHandler);
 		}
 		List<Filterfilters = null;
 		List<Stringparams = config.getInitParameterNames();
 		for (String paramName : params) {
 			if (paramName.startsWith("filter_")) {
 				String filterClass = config.getInitParameter(paramName);
 				Filter f = instantiate(filterClass);
 				if (filters == null) {
 					filters = new ArrayList<Filter>();
 				}
 				filters.add(f);
 			}
 		}
 		if (filters != null) {
 			.setFilters(filters);
 		}
 		build();
 
 
 		for (Initable i : ) {
 			i.init(config);
		}
		return ;
	}

Actually builds the httpManager. Can be overridden by subclasses
	protected void build() {
	}
	public void shutdown() {
		for (Initable i : ) {
		}
	}
	private void initAuthHandlers(String classNamesthrows ServletException {
		List<StringauthHandlers = loadAuthHandlersIfAny(classNames);
		if (authHandlers == null) {
			return;
		}
		for (String authHandlerClassName : authHandlers) {
			Object o = instantiate(authHandlerClassName);
			if (o instanceof AuthenticationHandler) {
				list.add(auth);
else {
				throw new ServletException("Class: " + authHandlerClassName
" is not a: "
			}
		}
	}
	public static <T> T instantiate(String classNamethrows ServletException {
		try {
			Class c = Class.forName(className);
rf = (T) c.newInstance();
			return rf;
catch (Throwable ex) {
			throw new ServletException("Failed to instantiate: " + className,
					ex);
		}
	}
	private List<StringloadAuthHandlersIfAny(String initParameter) {
		if (initParameter == null) {
			return null;
		}
		String[] arr = initParameter.split(",");
		List<Stringlist = new ArrayList<String>();
		for (String s : arr) {
			s = s.trim();
			if (s.length() > 0) {
				list.add(s);
			}
		}
		return list;
	}
	private void checkAddInitable(List<InitableinitablesObject o) {
		if (o instanceof Initable) {
			initables.add((Initableo);
else if (o instanceof List) {
			for (Object o2 : (Listo) {
				checkAddInitable(initableso2);
			}
		}
	}
New to GrepCode? Check out our FAQ X