⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registerbean.java

📁 21天学通J2EE的例子2
💻 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 + -