com.clican.pluto.dataprocess.bean.ExecBean.java Source code

Java tutorial

Introduction

Here is the source code for com.clican.pluto.dataprocess.bean.ExecBean.java

Source

/**
 * The Clican-Pluto software suit is Copyright 2009, Clican Company and individual contributors, and is licensed under the GNU LGPL.
 *
 * @author clican
 *
 */
package com.clican.pluto.dataprocess.bean;

import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.clican.pluto.common.util.PropertyUtils;
import com.clican.pluto.dataprocess.engine.ProcessorContext;

public class ExecBean {

    /**
     * ?IBatisparameterProcessContext??
     */
    protected String paramName;
    /**
     * IBatisInsertUpdate??ListSet?<code>true</code>?
     * <code>false</code>
     * 
     */
    protected boolean batch;

    /**
     * IBatis?<code>ProcessorContext</code>??
     */
    protected String resultName;

    /**
     * Context???????ibatisparam map
     */
    protected Map<String, String> paramNameMap;

    public String getParamName() {
        return paramName;
    }

    public void setParamName(String paramName) {
        this.paramName = paramName;
    }

    public boolean isBatch() {
        return batch;
    }

    public void setBatch(boolean batch) {
        this.batch = batch;
    }

    public String getResultName() {
        return resultName;
    }

    public void setResultName(String resultName) {
        this.resultName = resultName;
    }

    public Map<String, String> getParamNameMap() {
        return paramNameMap;
    }

    public void setParamNameMap(Map<String, String> paramNameMap) {
        this.paramNameMap = paramNameMap;
    }

    @SuppressWarnings("unchecked")
    public Object getParam(ProcessorContext context) {
        try {
            Object param = context.getMap();
            if (StringUtils.isNotEmpty(getParamName())) {
                param = context.getAttribute(getParamName());
                if (param instanceof Map && getParamNameMap() != null && getParamNameMap().size() != 0) {
                    param = new HashMap<String, Object>((Map) param);
                    if (getParamNameMap() != null && getParamNameMap().size() != 0) {
                        for (String contextName : getParamNameMap().keySet()) {
                            Object obj = PropertyUtils.getNestedProperty(param, contextName);
                            ((Map) param).remove(contextName);
                            if (obj != null) {
                                ((Map) param).put(getParamNameMap().get(contextName), obj);
                            }
                        }
                    }
                }
            } else {
                Map<String, Object> map;
                if (getParamNameMap() != null && getParamNameMap().size() != 0) {
                    map = context.getMap();
                    for (String contextName : getParamNameMap().keySet()) {
                        Object obj = PropertyUtils.getNestedProperty(map, contextName);
                        map.remove(contextName);
                        if (obj != null) {
                            map.put(getParamNameMap().get(contextName), obj);
                        }
                    }
                } else {
                    map = context.getMap();
                }
                param = map;
            }
            return param;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

// $Id: ExecBean.java 12410 2010-05-13 06:55:57Z wei.zhang $