📄 sellerbean.java
字号:
package seller;
import java.rmi.RemoteException;
import javax.ejb.*;
import java.util.*;
import java.text.NumberFormat;
import java.io.Serializable;
import javax.naming.*;
import auction.*;
import registration.*;
import org.omg.CosNaming.*;
import org.omg.CORBA.*;
public class SellerBean extends _ReturnResultsImplBase
implements SessionBean {
protected SessionContext ctx;
javax.naming.Context ectx;
Hashtable env = new Hashtable();
ORB orb = null;
NamingContext nctx= null;
Boolean ready=new Boolean("false");
ArrayList returned =new ArrayList();
public int insertItem(String seller, String password,
String description, int auctiondays,
double startprice, String summary)
throws RemoteException {
try{
NameComponent[] fullname = new NameComponent[2];
fullname[0] = new NameComponent("auction", "");
fullname[1] = new NameComponent("RegistrationBean", "");
RegistrationHome regRef = RegistrationHomeHelper.narrow(
nctx.resolve(fullname));
RegistrationPK rpk= new RegistrationPKImpl();
rpk.theuser(seller);
Registration newseller = RegistrationHelper.narrow(
regRef.findByPrimaryKey(rpk));
if((newseller == null)|| (!newseller.verifyPassword(password))) {
return(Auction.INVALID_USER);
}
AuctionItemHome home = (AuctionItemHome) ectx.lookup("auctionitems");
AuctionItem ai= home.create(seller, description,
auctiondays, startprice, summary);
if(ai == null) {
return Auction.INVALID_ITEM;
}
else {
return(ai.getId());
}
}catch(Exception e){
System.out.println("insert problem="+e);
return Auction.INVALID_ITEM;
}
}
public void updateResults(Registration[] ar)
throws registration.FinderException {
if(ar == null) {
throw new registration.FinderException();
}
try {
for(int i=0; i< ar.length; i++) {
returned.add(ar[i]);
}
}catch (Exception e) {
System.out.println("updateResults="+e);
throw new registration.FinderException();
}
synchronized(ready) {
ready.notifyAll();
}
}
public ArrayList auditAccounts() {
try {
NameComponent[] fullname = new NameComponent[2];
fullname[0] = new NameComponent("auction", "");
fullname[1] = new NameComponent("RegistrationBean", "");
RegistrationHome regRef =
RegistrationHomeHelper.narrow(nctx.resolve(fullname));
regRef.findLowCreditAccounts(this);
synchronized(ready) {
try {
ready.wait();
} catch (InterruptedException e){}
}
return (returned);
}catch (Exception e) {
System.out.println("error in auditAccounts "+e);
}
return null;
}
public String customFind(String searchField)
throws javax.ejb.FinderException, RemoteException{
int total=-1;
IntHolder count= new IntHolder();
try{
NameComponent[] fullname = new NameComponent[2];
fullname[0] = new NameComponent("auction", "");
fullname[1] = new NameComponent("RegistrationBean", "");
RegistrationHome regRef =
RegistrationHomeHelper.narrow(nctx.resolve(fullname));
if(regRef == null ) {
System.out.println("cannot contact RegistrationHome");
throw new javax.ejb.FinderException();
}
Any sfield=orb.create_any();
Double balance;
try {
balance=Double.valueOf(searchField);
try {
sfield.insert_double(balance.doubleValue());
} catch (Exception e) {
return("Problem with search value"+balance);
}
sfield=regRef.customSearch(sfield,count);
if (sfield != null ) {
total=sfield.extract_long();
}
return(total+" accounts are below optimal level");
} catch (NumberFormatException e) {
sfield.insert_string(searchField);
Registration reg;
if((reg=RegistrationHelper.extract(
regRef.customSearch(sfield,count))) != null ) {
return("Found user "+reg.getUser()+
" who has email address "+reg.getEmailAddress());
} else {
return("No users found who have email address "+searchField);
}
}
} catch(Exception e){
System.out.println("customFind problem="+e);
throw new javax.ejb.FinderException();
}
}
public void ejbCreate() throws javax.ejb.CreateException, RemoteException {
env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.TengahInitialContextFactory");
try {
ectx = new InitialContext(env);
} catch (NamingException e) {
System.out.println("problem contacting EJB server");
throw new javax.ejb.CreateException();
}
try {
java.util.Properties props=System.getProperties();
props.put("org.omg.CORBA.ORBInitialPort", "1050");
System.setProperties(props);
String[] args={};
orb = ORB.init(args, props);
org.omg.CORBA.Object nameServiceObj =
orb.resolve_initial_references("NameService") ;
nctx= NamingContextHelper.narrow(nameServiceObj);
} catch(org.omg.CORBA.SystemException e) {
throw new javax.ejb.CreateException("CORBA Error in SellerCreate "+e);
} catch ( org.omg.CORBA.ORBPackage.InvalidName e) {
throw new javax.ejb.CreateException("CORBA NameError in SellerCreate "+e);
}
}
public void setSessionContext(SessionContext ctx) throws RemoteException {
this.ctx = ctx;
}
public void unsetSessionContext() throws RemoteException {
ctx = null;
}
public void ejbRemove() {}
public void ejbActivate() throws RemoteException {
System.out.println("activating seller bean");
}
public void ejbPassivate() throws RemoteException {
System.out.println("passivating seller bean");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -