Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright 2013 butor.com Licensed 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.butor.web.servlet;
 
 import java.util.Map;
 
 
 
 public abstract class BaseAjaxComponent implements AjaxComponent {
 	protected Logger _logger = LoggerFactory.getLogger(getClass());
 	private Object targetCmp = null;
 	public BaseAjaxComponent(Object targetCmp) {
 		this. = targetCmp;
 		Method[] methods = this..getClass().getDeclaredMethods();
 		if (methods.length == 0) {
 			return;
 		}
 
 		for (Method m : methods) {
 			Class<?> rt = m.getReturnType();
 			Class<?>[] pts = m.getParameterTypes();
 
 			if (pts.length > 0 && pts[0].isAssignableFrom(Context.class) && rt.equals(void.class)) { 
 				String key = buildKey(m.getName(), pts.length);
 				if (.containsKey(key)) {
 					.warn(String.format("method %s with %d args has been mapped already. Ignoring similar one!"));
 					continue;
 				}
 				.put(keym);
 			}
 		}
 	}
 	protected String buildKey(String methodName_int nbArgs_) {
 		return String.format("%s.%d"methodName_nbArgs_);
 	}
 	protected void handleException(final ResponseHandler<?> handlerString serviceNameThrowable e) {
 		if (e instanceof ApplicationException) {
 			.warn(String.format("Failed to invoke service e=%s, cmp=%s"
 					serviceName.getClass().getName()), appEx);
 			for (Message message : appEx.getMessages()) {
 				handler.addMessage(message);
 			}
 			
 		} else {
 			.error(String.format("Failed to invoke service=%s, cmp=%s"
 					serviceName.getClass().getName()), e);
 		}
 	}
 
 	protected JsonRequest findJsonRequest(final HttpServletRequest req_throws IOException {
 		JsonRequest jr = null;
 		InputStream is = null;
 		String qs;
 		if (req_.getMethod().equalsIgnoreCase("post")) {
 			is = req_.getInputStream();
 			StringWriter sw = new StringWriter();
 			while (true) {
 				int bb = is.read();
 				if (bb == -1)
 					break;
 				sw.write(bb);
 			}
 			qs = sw.toString();
else {
			qs = req_.getQueryString();
		}
		Map<String,StringargsMap = new HashMap<StringString>();
		String[] toks = qs.split("&");
		for (String tok : toks) {
			tok = URLDecoder.decode(tok"utf-8");
			String[] pair = tok.split("=");
			argsMap.put(pair[0], pair.length > 1 ? pair[1] : null);
		}
		jr = new JsonRequest();
		String userId = null;
		if (req_.getUserPrincipal() != null)
			userId = req_.getUserPrincipal().getName();
		jr.setUserId(userId);
		jr.setReqId(argsMap.get("reqId"));
		jr.setService(argsMap.get("service"));
		jr.setLang(argsMap.get("lang"));
		String val = argsMap.get("streaming");
		jr.setStreaming(StringUtil.isEmpty(val) ? false : val.equalsIgnoreCase("yes") || val.equalsIgnoreCase("true"));
		jr.setServiceArgsJson(URLDecoder.decode(argsMap.get("args"), "UTF-8"));
		return jr;
	}
	protected Method findService(String serviceNameint nbArgs) {
		String key = buildKey(serviceNamenbArgs +1);//+1 for context as arg[0]
		Method m = .get(key);
		return m;
	}
	protected Object getTargetCmp() {
		return ;
	}
New to GrepCode? Check out our FAQ X