Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* ====================================================================
* Project: openMDX/Portal, http://www.openmdx.org/
* Description: JspWizardController
* Owner: the original authors.
* ====================================================================
*
* This software is published under the BSD license
* as listed below.
*
* Redistribution and use in source and binary forms, with or
* without modification, are permitted provided that the following
* conditions are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* * Neither the name of the openMDX team nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* ------------------
*
* This product includes software developed by other organizations as
* listed in the NOTICE file.
*/
package org.openmdx.portal.servlet;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.annotation.Annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.openmdx.base.exception.ServiceException;
import org.openmdx.kernel.exception.Throwables;
import org.openmdx.kernel.log.SysLog;
import org.openmdx.portal.servlet.control.FormControl;
/**
* JspWizardController
*
*/
public class JspWizardController extends AbstractWizardController {
/**
* Constructor
*
*/
public JspWizardController(
) {
super();
}
/**
* RequestParameter
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
public @interface RequestParameter {
String name() default "";
String type() default "";
}
/**
* FormParameter
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
public @interface FormParameter {
String[] forms();
}
/**
* Invoked by handle() before command-specific method is called.
*
* @return
* @throws ServiceException
*/
protected boolean prepare(
) throws ServiceException {
return true;
}
/**
* Init form values. Called after creation of formValues and before mapping request
* parameters to formValues.
*
* @param formFields
*/
protected void initFormFields(
Map formFields
) throws ServiceException {
}
/**
* Handle command. Lookup up a matching controller and invoke the
* method corresponding to the command.
*
* @param command
* @param parameterMap
* @throws ServiceException
*/
protected boolean forward(
String command,
Map parameterMap
) throws ServiceException {
this.forms.clear();
this.errorMessage = "";
if(!this.prepare()) {
return false;
}
this.command = command;
String methodName = "do" + command;
Method method = null;
for(Method m: this.getClass().getDeclaredMethods()) {
if(m.getName().equals(methodName)) {
method = m;
break;
}
}
// No action method found in declaring class. Check super types.
if(method == null) {
for(Method m: this.getClass().getMethods()) {
if(m.getName().equals(methodName)) {
method = m;
break;
}
}
}
if(method != null) {
List