MyNewTaskCmdImpl sample code

Example of MyNewTaskCmdImpl sample code.


package com.ibm.commerce.sample.commands;
//*-------------------------------------------------------------------
//* Licensed Materials - Property of IBM
//*
//* WebSphere Commerce
//*
//* (c) Copyright International Business Machines Corporation.
2001, 2003, 2005, 2006
//* All rights reserved.
//*
//* US Government Users Restricted Rights - Use, duplication or
//* disclosure restricted by GSA ADP Schedule Contract with IBM
Corp.
//*
//*-------------------------------------------------------------------
//* The sample contained herein is provided to you "AS IS".
//*
//* It is furnished by IBM as a simple example and has not been 
//* thoroughly tested under all conditions. IBM, therefore, cannot
guarantee its 
//* reliability, serviceability or functionality. 
//*
//* This sample may include the names of individuals, companies,
brands 
//* and products in order to illustrate concepts as completely as 
//* possible. All of these names
//* are fictitious and any similarity to the names and addresses
used by 
//* actual persons or business enterprises is entirely
coincidental.
//*---------------------------------------------------------------------


/// Import section 1 ///////////////////////////////////////
import com.ibm.commerce.exception.ECException;
import com.ibm.commerce.exception.ECSystemException;
import com.ibm.commerce.extension.objects.BonusAccessBean;
import com.ibm.commerce.ras.ECMessage;
import com.ibm.commerce.user.objects.UserRegistryAccessBean;


public class MyNewTaskCmdImpl extends
com.ibm.commerce.command.TaskCommandImpl implements MyNewTaskCmd {

private static final String COPYRIGHT =
com.ibm.commerce.copyright.IBMCopyright.SHORT_COPYRIGHT;

/// implement command's input fields and methods defined in
interface


//// Section 1A //////////////////////////////////////////////

private java.lang.String inputUserName;
private java.lang.String greetings;
private java.lang.Integer inputPoints;

////End of Section 1A /////////////////////////////////////////




//// Section 2A //////////////////////////////////////////////

private java.lang.String foundUserId = null;

private UserRegistryAccessBean rrb = null;

////End of Section 2A /////////////////////////////////////////




//// Section 3A //////////////////////////////////////////////

private java.lang.Integer oldBonusPoints;
private java.lang.Integer totalBonusPoints;


private BonusAccessBean bb = null;

////End of Section 3A /////////////////////////////////////////




//// Section 1B //////////////////////////////////////////////

public void setInputUserName(java.lang.String newInputUserName) {
inputUserName = newInputUserName;
}

public void setInputPoints(Integer newInputPoints) {
inputPoints = newInputPoints;
}

public void setGreetings(java.lang.String newGreetings) {
greetings = newGreetings;
}

public java.lang.String getInputUserName() {
return inputUserName;
}

public Integer getInputPoints() {
return inputPoints;
}

public java.lang.String getGreetings() {
return greetings;
}


////End of Section 1B /////////////////////////////////////////



//// Section 2B //////////////////////////////////////////////

public void setUserRegistryAccessBean(UserRegistryAccessBean
newRRB) {
rrb = newRRB;
}

public void setFoundUserId(java.lang.String newFoundUserId) {
foundUserId = newFoundUserId;
}

public java.lang.String getFoundUserId() {
return foundUserId;
}


/// End of section 2B ///////////////////////////////////////////



//// Section 3B //////////////////////////////////////////////

public void setBonusAccessBean(BonusAccessBean newBB) {
bb = newBB;
}

public BonusAccessBean getBonusAccessBean(){
return bb;
}

public java.lang.Integer getOldBonusPoints() {
return oldBonusPoints;
}

public Integer getTotalBonusPoints(){
return totalBonusPoints;
}


/// End of section 3B ///////////////////////////////////////////

/**
* This constructor does nothing but call the superclass
constructor.
*/
public MyNewTaskCmdImpl() {
super();
}



/**
* Adds the greeting to the NVP list and adds the new bonus points
to the existing bonus points.
*
*/
public void performExecute() throws ECException {

super.performExecute();


/// Section 1 ////////////////////////////////////////////////

/// modify the greetings and see it in the NVP list

setGreetings( "Hello! " + getInputUserName() );

/// End of section 1 ////////////////////////////////////////////




/// Section 2 ///////////////////////////////////////////////////
/// use BonusAccessBean to update new bonus point

int newBP = oldBonusPoints.intValue() +
getInputPoints().intValue();
totalBonusPoints = new Integer (newBP);
bb.setBonusPoint(totalBonusPoints) ;

try {
bb.commitCopyHelper();
} catch (javax.ejb.FinderException e) {
throw new ECSystemException(ECMessage._ERR_FINDER_EXCEPTION,
this.getClass().getName(), "performExecute");
} catch (javax.naming.NamingException e) {
throw new ECSystemException(ECMessage._ERR_NAMING_EXCEPTION,
this.getClass().getName(), "performExecute");
} catch (java.rmi.RemoteException e) {
throw new ECSystemException(ECMessage._ERR_REMOTE_EXCEPTION,
this.getClass().getName(), "performExecute");
} catch (javax.ejb.CreateException e) {
throw new ECSystemException(ECMessage._ERR_CREATE_EXCEPTION,
this.getClass().getName(), "performExecute");
}

/// End of section 2 ////////////////////////////////////////////


}


/**
*
* ControllerCommandImpl calls validateParameters in performExecute.
* It is the responsibility of the command writer to implement
* this method if they want to perform server side parameter
checking.
* They should either call validateParameters inside their
performExecute
* or calls super.performExecute() as the first statement in the
* performExecute method.
*
*
* @exception ECException CommandException.
*/

public void validateParameters() throws ECException {


// section 1 ///////////////////////////////////////////////////
// use UserRegistryAccessBean to check user Id

try {

if (rrb!=null){
setFoundUserId(rrb.getUserId());
} else {
rrb =new UserRegistryAccessBean();
rrb=rrb.findByUserLogonId(getInputUserName());
setFoundUserId(rrb.getUserId());
}

} catch (javax.ejb.FinderException e) {
return;

} catch (java.rmi.RemoteException e) {
throw new ECSystemException(ECMessage._ERR_REMOTE_EXCEPTION,
this.getClass().getName(), "validateParameters");
} catch (javax.naming.NamingException e) {
throw new ECSystemException(ECMessage._ERR_NAMING_EXCEPTION,
this.getClass().getName(), "validateParameters");
} catch (javax.ejb.CreateException e) {
throw new ECSystemException(ECMessage._ERR_CREATE_EXCEPTION,
this.getClass().getName(), "validateParameters");
}

// end of section 1 ///////////////////////////////////////////////




// section 2 /////////////////////////////////////////////////////
// check if bonus bean instance variable bb == null


try {
oldBonusPoints = bb.getBonusPoint();
} catch (javax.ejb.FinderException e) {
try {
// If bb is null, create a new instance
bb = new BonusAccessBean(new Long(foundUserId), new Integer(0), new
Short("0"));
oldBonusPoints = new Integer(0);
} catch (javax.ejb.CreateException ec) {
throw new ECSystemException(ECMessage._ERR_CREATE_EXCEPTION,
this.getClass().getName(), "validateParameters");
} catch (javax.naming.NamingException ec) {
throw new ECSystemException(ECMessage._ERR_NAMING_EXCEPTION,
this.getClass().getName(), "validateParameters");
} catch (java.rmi.RemoteException ec) {
throw new ECSystemException(ECMessage._ERR_REMOTE_EXCEPTION,
this.getClass().getName(), "validateParameters");
}
} catch (javax.naming.NamingException e) {
throw new ECSystemException(ECMessage._ERR_NAMING_EXCEPTION,
this.getClass().getName(), "validateParameters");
} catch (java.rmi.RemoteException e) {
throw new ECSystemException(ECMessage._ERR_REMOTE_EXCEPTION,
this.getClass().getName(), "validateParameters");
} catch (javax.ejb.CreateException e) {
throw new ECSystemException(ECMessage._ERR_CREATE_EXCEPTION,
this.getClass().getName(), "validateParameters");
}

// end of section 2 ///////////////////////////////////////////////


}

}