Struts 2 interface and class changes

Java reference for Struts 2 migration.


Upgrade to Struts 2

Struts Related Class Changes

JAR File

Changes Before After
Jar File Name Enablement-StrutsBaseLogic.jar

Enablement-Struts2Logic.jar

Package com.ibm.commerce.struts com.ibm.commerce.struts.v2

Main Class Changes

Changes Before After
Class Name com.ibm.commerce.struts.AjaxAction com.ibm.commerce.struts.v2.AjaxAction
com.ibm.commerce.struts.AjaxComponentServiceAction com.ibm.commerce.struts.v2.AjaxComponentServiceAction
com.ibm.commerce.struts.AjaxRESTAction com.ibm.commerce.struts.v2.AjaxRESTAction
com.ibm.commerce.struts.ComponentServiceAction com.ibm.commerce.struts.v2.ComponentServiceAction
com.ibm.commerce.struts.JAASLogoffAction com.ibm.commerce.struts.v2.JAASLogoffAction
com.ibm.commerce.struts.JAASLogonAction com.ibm.commerce.struts.v2.JAASLogonAction
com.ibm.commerce.struts.JAASLogoffComponentServiceAction com.ibm.commerce.struts.v2.JAASLogoffComponentServiceAction
com.ibm.commerce.struts.JAASLogonComponentServiceAction com.ibm.commerce.struts.v2.JAASLogonComponentServiceAction
com.ibm.commerce.struts.LTPATokenGenerationEnabledBaseAction com.ibm.commerce.struts.v2.LTPATokenGenerationEnabledBaseAction
com.ibm.commerce.struts.LTPATokenGenerationEnabledComponentServiceAction com.ibm.commerce.struts.v2.LTPATokenGenerationEnabledComponentServiceAction
com.ibm.commerce.struts.RESTAction com.ibm.commerce.struts.v2.RESTAction
com.ibm.commerce.struts.ComponentPlugIn com.ibm.commerce.struts.v2.ComponentPlugIn
com.ibm.commerce.struts.ECActionForward com.ibm.commerce.struts.v2.ECActionForward
com.ibm.commerce.struts.ECActionForwardFactory com.ibm.commerce.struts.v2.ECActionForwardFactory
com.ibm.commerce.struts.ECActionForwardInstance com.ibm.commerce.struts.v2.ECActionForwardInstance
com.ibm.commerce.struts.ECActionMapping com.ibm.commerce.struts.v2.ECActionMapping
com.ibm.commerce.struts.ECActionServlet com.ibm.commerce.struts.v2.ECActionServlet
com.ibm.commerce.struts.ECDefaultActionForwardFactory com.ibm.commerce.struts.v2.ECDefaultActionForwardFactory
com.ibm.commerce.struts.ECDirectActionForward com.ibm.commerce.struts.v2.ECDirectActionForward
com.ibm.commerce.struts.InitActionServlet com.ibm.commerce.struts.v2.InitActionServlet
com.ibm.commerce.struts.StrutsActionHelper com.ibm.commerce.struts.v2.StrutsActionHelper
com.ibm.commerce.struts.StrutsActionSource com.ibm.commerce.struts.v2.StrutsActionSource
com.ibm.commerce.struts.StrutsErrorExecUnit com.ibm.commerce.struts.v2.StrutsErrorExecUnit
com.ibm.commerce.struts.StrutsRegistrySourceImpl com.ibm.commerce.struts.v2.StrutsRegistrySourceImpl
com.ibm.commerce.struts.StrutsViewExecUnit com.ibm.commerce.struts.v2.StrutsViewExecUnit
com.ibm.commerce.struts.VerificationCodePlugInImpl com.ibm.commerce.struts.v2.VerificationCodePlugInImpl
com.ibm.commerce.struts.util.LTPATokenGenerationHelper com.ibm.commerce.struts.v2.util.LTPATokenGenerationHelper
org.apache.struts.action.ActionForward

com.opensymphony.xwork2.config.entities.ResultConfig com.ibm.commerce.struts.v2.ECActionForward

org.apache.struts.config.ModuleConfig com.opensymphony.xwork2.config.entities.PackageConfig
org.apache.struts.config.ActionConfig com.opensymphony.xwork2.config.entities.ActionConfig

com.ibm.commerce.struts.BaseAction

Changes Before After
Class Name com.ibm.commerce.struts.BaseAction com.ibm.commerce.struts.v2.BaseAction
Interface

org.apache.struts2.interceptor.ServletRequestAware

org.apache.struts2.interceptor.ServletResponseAware

Parent Class org.apache.struts.action.Action com.opensymphony.xwork2.ActionSupport

Changed

Method

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception public String execute(ECActionMapping mapping, HttpServletRequest request, HttpServletResponse response) throws Exception
protected Map getDefaultRequestParameters(HttpServletRequest request, ActionMapping mapping, Integer storeId) protected Map getDefaultRequestParameters(HttpServletRequest request, ECActionMapping mapping, Integer storeId)
protected Map getRequestParameters(HttpServletRequest request, ActionForm form, ActionMapping mapping, Integer storeId) protected Map getRequestParameters(HttpServletRequest request, ECActionMapping mapping, Integer storeId)

protected TypedProperty preProcess(RequestHandle handle, ActionMapping mapping, ActionForm form, Map requestParameters, HttpServletRequest request, HttpServletResponse response, String viewName)

protected TypedProperty preProcess(RequestHandle handle, ECActionMapping mapping, Map requestParameters, HttpServletRequest request, HttpServletResponse response, String viewName)

protected Map postProcess(RequestHandle handle, ActionMapping mapping, ActionForm form, Map rsp, HttpServletRequest request, HttpServletResponse response)

protected Map postProcess(RequestHandle handle, ECActionMapping mapping, Map rsp, HttpServletRequest request, HttpServletResponse response)

protected Map invokeService(ActionMapping mapping, ActionForm form, Map inMap, HttpServletRequest request, HttpServletResponse response)

protected Map invokeService(ECActionMapping mapping, Map inMap, HttpServletRequest request, HttpServletResponse response)

Deleted

Method

protected ActionForm updateFormProperties(ActionForm form, Map oMap) {

protected Map convertFormDataToMap(HttpServletRequest req, ActionForm form) throws Exception
Added

public void setRedirectUrl(String url)

public String getRedirectUrl()

public String execute() throws Exception

public void setServletRequest(HttpServletRequest httpServletRequest)

public void setServletResponse(HttpServletResponse httpServletResponse)

com.ibm.commerce.struts.ECActionForward

com.ibm.commerce.struts.v2.ECActionForward

Changes Before After
Class Name com.ibm.commerce.struts.ECActionForward com.ibm.commerce.struts.V2.ECActionForward
Parent class org.apache.struts.action.ActionForward

Changed

Method

public ECActionForward(String name, String path, boolean redirect)

public ECActionForward(String name, String path, boolean redirect, boolean contextRelative)

public ECActionForward(String path, boolean redirect)

public ECActionForward()

public ECActionForward(String path)

public ECActionForward(ResultConfig config)
Added Method

public String getName()

public ResultConfig getResultConfig()

public void setPath(String path)

public String getPath()

public boolean getRedirect()

com.ibm.commerce.struts.ECActionForwardFactory

Changes Before After
Class Name com.ibm.commerce.struts.ECActionForwardFactory com.ibm.commerce.struts.V2.ECActionForwardFactory

Changed

Method

ActionForward getForwardInstance(

ActivityToken token,

ActionForward forward,

HttpServletRequest req,

HttpServletResponse resp,

TypedProperty prop,

boolean secure, boolean isStore)

throws Exception;

IForwardInstance getForwardInstance(

ActivityToken token,

ECActionForward forward,

HttpServletRequest req,

HttpServletResponse resp,

TypedProperty prop,

boolean secure, boolean isStore)

throws Exception;

com.ibm.commerce.struts.ECActionForwardInstance

Changes Before After
Class Name com.ibm.commerce.struts.ECActionForwardInstance com.ibm.commerce.struts.V2.ECActionForwardInstance
Parent import org.apache.struts.action.ActionForward;
Interface com.ibm.commerce.struts.v2. IForwardInstance

Changed

Method

public ECActionForwardInstance(

ActivityToken token,

ActionForward config,

HttpServletRequest req,

HttpServletResponse resp,

TypedProperty prop,

boolean secure,

boolean useStoreDir)

throws Exception ;

public ActionForward getForward() ;

public ECActionForwardInstance(

ActivityToken token,

ECActionForward config,

HttpServletRequest req,

HttpServletResponse resp,

TypedProperty prop,

boolean secure,

boolean useStoreDir)

throws Exception ;

public ECActionForward getForward() ;

Added Method

public void setPath(String path) ;

public boolean getRedirect() ;

public String getName() ;

com.ibm.commerce.struts.ECActionMapping

com.ibm.commerce.struts.v2. ECActionMapping

Changes Before After
Class Name com.ibm.commerce.struts.ECActionMapping com.ibm.commerce.struts.v2.ECActionMapping
Parent HttpRequestAttributes HttpRequestAttributes
Interface org.apache.struts.action.ActionMapping
Changed Method

public ECActionMapping();

public void merge(ActionConfig actionConfig);

public ActionForward findForward(String name);

public ECActionMapping(ActionConfig actionConfig);

public void merge(ECActionMapping ecActionMapping);

public ECActionForward findForward(String name);

Added Method

public String getParameter() ;

public void setParameter(String actionParameter) ;

public String getName() ;

public ActionConfig getActionConfig() ;

com.ibm.commerce.struts. ECActionServlet

com.ibm.commerce.struts.v2. ECActionServlet

Changes Before After
Class Name com.ibm.commerce.struts.ECActionServlet com.ibm.commerce.struts.v2.ECActionServlet
Parent org.apache.struts.action.ActionServlet javax.servlet.http.HttpServlet
Deleted Method

protected void pause()

public void refresh() throws ServletException

protected ModuleConfig initModuleConfig(java.lang.String prefix,

java.lang.String paths) throws ServletException ;

protected void service(HttpServletRequest request, HttpServletResponse response);

com.ibm.commerce.struts. ECDefaultActionForwardFactory

com.ibm.commerce.struts.v2. ECDefaultActionForwardFactory

Changes Before After
Class Name com.ibm.commerce.struts. ECActionForwardFactory com.ibm.commerce.struts. v2.ECActionForwardFactory
Changed Method

public ActionForward getForwardInstance(

ActivityToken token,

ActionForward config,

HttpServletRequest req,

HttpServletResponse resp,

TypedProperty prop,

boolean secure,

boolean isStore)

throws Exception ;

public IForwardInstance getForwardInstance(

ActivityToken token,

ECActionForward config,

HttpServletRequest req,

HttpServletResponse resp,

TypedProperty prop,

boolean secure,

boolean isStore)

throws Exception ;

com.ibm.commerce.struts.ECDirectActionForward

com.ibm.commerce.struts.v2.ECDirectActionForward

Changes Before After
Interface com.ibm.commerce.struts.v2.IForwardInstance
Parent org.apache.struts.action.ActionForward;
Changed Method

public ECDirectActionForward(

ActivityToken token,

ActionForward config,

HttpServletRequest req,

HttpServletResponse resp,

TypedProperty prop,

boolean secure,

boolean useStoreDir)

throws Exception ;

public ECDirectActionForward(

ActivityToken token,

ECActionForward config,

HttpServletRequest req,

HttpServletResponse resp,

TypedProperty prop,

boolean secure,

boolean useStoreDir)

throws Exception ;

Deleted Method

public ECDirectActionForward()

public ECDirectActionForward(String path)

public ECDirectActionForward(String path, boolean redirect)

public ECDirectActionForward(String name, String path, boolean redirect)

Added Method

public void setPath(String path)

public boolean getRedirect()

public String getName()

com.ibm.commerce.struts.StrutsActionHelpercom.ibm.commerce.struts.v2.StrutsActionHelper

Changes Before After
Class Name com.ibm.commerce.struts.StrutsActionHelper com.ibm.commerce.struts.v2.StrutsActionHelper

Modified Method

public static ActionForward locateView(

String viewName,

ViewCommandContext context,

ActionMapping aMapping,

TypedProperty viewProp,

ServletContext servletContext)

throws ECException ;

public static ECActionForward locateView(

String viewName,

ViewCommandContext context,

ECActionMapping aMapping,

TypedProperty viewProp,

ServletContext servletContext)

throws ECException ;

public static ActionForward getForwardInstance(

ActionForward config,

ViewCommandContext context,

ActionMapping mapping,

TypedProperty prop,

boolean isStore)

throws ECException ;

public static IForwardInstance getForwardInstance(

ECActionForward config,

ViewCommandContext context,

ECActionMapping mapping,

TypedProperty prop,

boolean isStore)

throws ECException ;

protected ActionForward findForwardConfigForDevice(

HttpServletRequest req,

ECActionMapping mapping,

String baseName,

StoreAccessBean store,

Integer[] storePaths,

Integer deviceType)

throws ECException {

protected ECActionForward findForwardConfigForDevice(

HttpServletRequest req,

ECActionMapping mapping,

String baseName,

StoreAccessBean store,

Integer[] storePaths,

Integer deviceType)

throws ECException {

public static void executeView(String viewName, ActionForward fwdInstance, ViewCommandContext context, boolean accessControlCheck) throws ECException ;

public static void executeView(String viewName, IForwardInstance fwdInstance, ViewCommandContext context, boolean accessControlCheck) throws ECException ;
public static ModuleConfig getModuleConfig(ViewCommandContext cmdCtxt) ; public static PackageConfig getModuleConfig(ViewCommandContext cmdCtxt) ;
public static ActionForward findForwardConfig(ViewCommandContext context, String baseName, ServletContext servletContext, ActionMapping mapping) public static ECActionForward findForwardConfig(ViewCommandContext context, String baseName, ServletContext servletContext, ECActionMapping mapping)

public static ActionForward findForwardConfig(

ActivityToken token,

DeviceFormatAdapter adapter,

String baseName,

ServletContext servletContext,

ActionMapping mapping)

throws ECException {

public static ECActionForward findForwardConfig(

ActivityToken token,

DeviceFormatAdapter adapter,

String baseName,

ServletContext servletContext,

ECActionMapping mapping)

throws ECException {

com.ibm.commerce.struts.StrutsActionSourcecom.ibm.commerce.struts.v2.StrutsActionSource

Changes Before After
Class Name com.ibm.commerce.struts. StrutsActionSource com.ibm.commerce.struts.v2. StrutsActionSource

com.ibm.commerce.struts.StrutsErrorExecUnit

com.ibm.commerce.struts.v2.StrutsErrorExecUnit

Changes Before After
Class Name com.ibm.commerce.struts.StrutsErrorExecUnit com.ibm.commerce.struts.v2.StrutsErrorExecUnit
Changed Method public ActionForward getForwardInstance() public IForwardInstance getForwardInstance() {

com.ibm.commerce.struts.StrutsRegistrySourceImpl

com.ibm.commerce.struts.v2. StrutsRegistrySourceImpl

Changes Before After
Class Name com.ibm.commerce.struts.StrutsRegistrySourceImpl com.ibm.commerce.struts.v2. StrutsRegistrySourceImpl
Interface

com.ibm.commerce.registry.UrlRegistrySource

com.ibm.commerce.registry.ViewRegistrySource

com.ibm.commerce.struts.StrutsActionSource

com.ibm.commerce.registry.UrlRegistrySource

com.ibm.commerce.registry.ViewRegistrySource

com.ibm.commerce.struts.v2.StrutsActionSource

com.ibm.commerce.struts.StrutsViewExecUnit

com.ibm.commerce.struts.v2.StrutsViewExecUnit

Changes Before After
Class Name com.ibm.commerce.struts.StrutsViewExecUnit com.ibm.commerce.struts.v2.StrutsViewExecUnit
Changed Method public ActionForward getForwardInstance() { public IForwardInstance getForwardInstance() {

com.ibm.commerce.struts.AjaxAction

Changes Before After
Class Name com.ibm.commerce.struts.AjaxAction com.ibm.commerce.struts.v2.AjaxAction
Interface

org.apache.struts2.interceptor.ServletRequestAware

org.apache.struts2.interceptor.ServletResponseAware

Parent Class org.apache.struts.action.Action com.opensymphony.xwork2.ActionSupport

Changed

Method

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception public String execute(ECActionMapping mapping, HttpServletRequest request, HttpServletResponse response) throws Exception
protected Map getDefaultRequestParameters(HttpServletRequest request, ActionMapping mapping, Integer storeId) protected Map getDefaultRequestParameters(HttpServletRequest request, ECActionMapping mapping, Integer storeId)
protected Map getRequestParameters(HttpServletRequest request, ActionForm form, ActionMapping mapping, Integer storeId) protected Map getRequestParameters(HttpServletRequest request, ECActionMapping mapping, Integer storeId)

protected TypedProperty preProcess(RequestHandle handle, ActionMapping mapping, ActionForm form, Map requestParameters, HttpServletRequest request, HttpServletResponse response, String viewName)

protected TypedProperty preProcess(RequestHandle handle, ECActionMapping mapping, Map requestParameters, HttpServletRequest request, HttpServletResponse response, String viewName)

protected Map postProcess(RequestHandle handle, ActionMapping mapping, ActionForm form, Map rsp, HttpServletRequest request, HttpServletResponse response)

protected Map postProcess(RequestHandle handle, ECActionMapping mapping, Map rsp, HttpServletRequest request, HttpServletResponse response)

protected Map invokeService(ActionMapping mapping, ActionForm form, Map inMap, HttpServletRequest request, HttpServletResponse response)

protected Map invokeService(ECActionMapping mapping, Map inMap, HttpServletRequest request, HttpServletResponse response)

com.ibm.commerce.struts.StrutsViewExecUnit

com.ibm.commerce.struts.v2.StrutsViewExecUnit

Changes Before After
Class Name com.ibm.commerce.struts.StrutsViewExecUnit com.ibm.commerce.struts.v2.StrutsViewExecUnit
Changed Method public ActionForward getForwardInstance() { public IForwardInstance getForwardInstance() {

com.ibm.commerce.struts.util.LTPATokenGenerationHelper

Changes Before After
Class Name com.ibm.commerce.struts.util.LTPATokenGenerationHelper com.ibm.commerce.struts.v2.util.LTPATokenGenerationHelper
Changed Method public static generateLTPAToken(ActionMapping mapping, ActionForm form, Map inMap, HttpServletRequest request, HttpServletResponse response)

public static generateLTPAToken (Map inMap, HttpServletRequest request, HttpServletResponse response)

Enablement-BaseComponentsLogiccom.ibm.commerce.registry.UrlRegistryEntry.java

Changes Before After
Changed Method public ActionConfig getActionConfig() public ECActionMapping getActionConfig()
public void setActionConfig(ActionConfig actionConfig) public void setActionConfig(ECActionMapping actionConfig)

com.ibm.commerce.registry.ViewRegistryEntry.java

Changes Before After
Changed Method public ForwardConfig getForwardConfig() public ECActionForward getForwardConfig()
public void setForwardConfig(ForwardConfig forwardConfig) public void setForwardConfig(ECActionForward forwardConfig)

Dependency JARs Change

Changes Before After
Upgraded for Struts2

commons-fileupload.jar

commons-io.jar

commons-lang3.jar

struts.jar

commons-fileupload-1.3.3.jar

commons-io-2.5.jar

commons-lang3-3.6.jar

struts2-core-2.5.17.jar

Newly added

javassist-3.20.0-GA.jar

log4j-api-2.10.0.jar

ognl-3.1.15.jar

freemarker-2.3.26-incubating.jar

Removed APIs

com.ibm.commerce.component.giftregistry.*

com.ibm.commerce.giftcenter.facade.*

com.ibm.commerce.giftregistry.* Other removed classes

Catalog-Client

com.ibm.commerce.catalog.facade.bod.servlet.struts.ChildSalesCatalogGroupBusinessObjectDocumentAction.java

com.ibm.commerce.catalog.facade.bod.servlet.struts.ListPriceBusinessObjectDocumentAction.java

Foundation-Core

com.ibm.commerce.foundation.client.facade.bod.servlet.struts.BusinessObjectDocumentAction.java

com.ibm.commerce.foundation.client.facade.bod.servlet.struts.BusinessObjectDocumentActionMapping.java

com.ibm.commerce.foundation.client.facade.bod.servlet.struts.BusinessObjectDocumentClientLibraryAction.java

com.ibm.commerce.foundation.client.facade.bod.servlet.struts.BusinessObjectDocumentException.java

com.ibm.commerce.foundation.client.facade.bod.servlet.struts.BusinessObjectDocumentPlugInImpl.java

Foundation-Extension

com.ibm.commerce.foundation.internal.client.lobtools.actions.ControllerCommandAction.java

com.ibm.commerce.foundation.rest.providers.AtomFeedSDOProvider.java

com.ibm.commerce.foundation.rest.struts.ECRestActionMapping.java

com.ibm.commerce.struts.AjaxComponentServiceAction.java

com.ibm.commerce.struts.ComponentPlugIn.java

com.ibm.commerce.struts.ComponentServiceAction.java

com.ibm.commerce.struts.JAASLogoffComponentServiceAction.java

com.ibm.commerce.struts.JAASLogonComponentServiceAction.java

Price-Client

com.ibm.commerce.price.facade.bod.servlet.struts.BusinessObjectDocumentAction.java

Price-Server

com.ibm.commerce.price.facade.bod.servlet.struts.MonetaryValueBusinessObjectDocumentAction.java

Utilities

com.ibm.commerce.struts.migration.StrutsMigrateCommandsAndViewsTask.java

LOBTools-Core

com.ibm.commerce.catalog.client.lobtools.actions.BrowseModelsAction.java

com.ibm.commerce.catalog.client.lobtools.actions.SearchModelsAction.java

com.ibm.commerce.foundation.client.lobtools.actions.AuthenticationActionMapping.java

com.ibm.commerce.foundation.client.lobtools.actions.AuthenticationClientLibraryAction.java

com.ibm.commerce.foundation.client.lobtools.actions.BaseLOBAction.java

com.ibm.commerce.foundation.client.lobtools.actions.CKEditorSpellCheckService.java

com.ibm.commerce.foundation.client.lobtools.actions.GetAnalyticsSSOToken.java

com.ibm.commerce.foundation.client.lobtools.actions.GetMisspelledSuggestions.java

com.ibm.commerce.foundation.client.lobtools.actions.GetMisspelledWords.java

com.ibm.commerce.foundation.client.lobtools.actions.GetSSOToken.java

com.ibm.commerce.foundation.client.lobtools.actions.LogMessages.java GiftRegistry-BaseComponentLogic.jar

com.ibm.commerce.giftregistry.struts.GiftRegistryActionMapping.java

com.ibm.commerce.giftregistry.struts.GiftRegistryAnnouncementPostActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryAuthenticationBaseActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryBaseAction.java

com.ibm.commerce.giftregistry.struts.GiftRegistryBaseValidatorActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryDeleteActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryItemAddActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryItemBaseActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryItemDeleteActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryLogoffActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryProfileBaseActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryPurchaseRecordAddActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryPurchaseRecordUpdateActionForm.java

com.ibm.commerce.giftregistry.struts.GiftRegistryRequestFieldsValidator.java

com.ibm.commerce.giftregistry.struts.GiftRegistryServiceMapper.java

com.ibm.commerce.giftregistry.struts.GiftRegistryUpdateAction.java

com.ibm.commerce.giftregistry.struts.GiftRegistryUpdateActionForm.java

com.ibm.commerce.giftregistry.struts.UserGiftRegistryAdminCreateAction.java

com.ibm.commerce.giftregistry.struts.UserGiftRegistryAdminCreateActionForm.java

com.ibm.commerce.giftregistry.struts.UserGiftRegistryCreateAction.java

com.ibm.commerce.giftregistry.struts.UserGiftRegistryCreateActionForm.java

com.ibm.commerce.giftregistry.giftconsultant.struts.GiftRegistryForwardInstance

WebSphere Commerce Struts Framework Figure 1. 9.0.0 (Struts 1 based)

Figure 2. 9.0.1(Struts 2 based)

The classes in blue are new to WCS.