📄 registerbean.java
字号:
package agency;
import java.rmi.*;
import java.sql.*;
import java.util.*;
import javax.ejb.*;
import javax.naming.* ;
import javax.sql.*;
import data.*;
public class RegisterBean implements SessionBean
{
private ApplicantLocalHome applicantHome;
private SkillLocalHome skillHome;
private LocationLocalHome locationHome;
private ApplicantLocal applicant;
public void updateDetails (String name, String email, String locationName, String summary, String[] skillNames) {
if (skillNames == null) {
skillNames = new String[0];
}
List skillList;
try {
skillList = skillHome.lookup(Arrays.asList(skillNames));
} catch(FinderException ex) {
error("Invalid skill", ex); // throws an exception
return;
}
LocationLocal location = null;
if (locationName != null) {
try {
location = locationHome.findByPrimaryKey(locationName);
} catch(FinderException ex) {
error("Invalid location", ex); // throws an exception
return;
}
}
applicant.setName(name);
applicant.setEmail(email);
applicant.setLocation(location);
applicant.setSummary(summary);
applicant.setSkills( skillList );
}
public String getLogin() {
return applicant.getLogin();
}
public String getName() {
return applicant.getName();
}
public String getEmail() {
return applicant.getEmail();
}
public String getLocation() {
LocationLocal location = applicant.getLocation();
return (location!=null)?location.getName():null;
}
public String getSummary() {
return applicant.getSummary();
}
public String[] getSkills() {
Collection col = applicant.getSkills();
String[] res = new String[col.size()];
int i = 0;
for(Iterator iter = col.iterator(); iter.hasNext(); ) {
Object o = iter.next();
SkillLocal skill = (SkillLocal)o;
res[i++] = skill.getName();
}
return res;
}
private void error (String msg, Exception ex) {
String s = "RegisterBean: "+msg + "\n" + ex;
System.out.println(s);
throw new EJBException(s,ex);
}
// EJB methods start here
public void ejbCreate (String login) throws CreateException {
try {
applicant = applicantHome.findByPrimaryKey(login);
}
catch (FinderException ex) {
error ("Cannot find applicant: "+login,ex);
}
}
public void ejbActivate(){
}
public void ejbPassivate(){
}
public void ejbRemove(){
applicant = null;
applicantHome = null;
}
private SessionContext ctx;
public void setSessionContext(SessionContext ctx) {
this.ctx = ctx;
InitialContext ic = null;
try {
ic = new InitialContext();
applicantHome = (ApplicantLocalHome)ic.lookup("java:comp/env/ejb/ApplicantLocal");
skillHome = (SkillLocalHome)ic.lookup("java:comp/env/ejb/SkillLocal");
locationHome = (LocationLocalHome)ic.lookup("java:comp/env/ejb/LocationLocal");
}
catch (NamingException ex) {
error("Error looking up depended EJB or resource",ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -