📄 newsmanagerbean.java
字号:
package news.ejb;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import com.jdon.controller.events.EventModel;
import org.apache.log4j.Logger;
import com.jdon.servicelocator.ejb.ServiceLocator;
import news.model.News;
import com.jdon.sequence.SequenceGeneratorLocalHome;
import com.jdon.sequence.SequenceGeneratorLocal;
import javax.ejb.EJBException;
import news.ejb.dao.JdbcDao;
import com.jdon.controller.model.PageIterator;
import news.Constants;
import news.model.NewsType;
public class NewsManagerBean
implements SessionBean {
private final static Logger logger = Logger.getLogger(NewsManagerBean.class);
SessionContext sessionContext;
TNewsHome tHome;
TNewsTypeHome ttHome;
TNewsOpinionHome toHome;
SequenceGeneratorLocalHome sequenceHome;
JdbcDao jdbcDao;
public void ejbCreate() throws CreateException {
try {
ServiceLocator sc = new ServiceLocator();
logger.debug(" lookup home by JNDI");
tHome = (TNewsHome)sc.getLocalHome("TNews");
ttHome = (TNewsTypeHome)sc.getLocalHome("TNewsType");
toHome = (TNewsOpinionHome)sc.getLocalHome("TNewsOpinion");
sequenceHome = (SequenceGeneratorLocalHome)sc.getLocalHome("SequenceGeneratorLocal");
jdbcDao = new JdbcDao();
}
catch (Exception ex) {
logger.error(ex);
}
}
private String getNewsId(String name) {
try {
SequenceGeneratorLocal seq = sequenceHome.create();
return Integer.toString(seq.nextSequenceNumber(name));
}
catch (Exception ex) {
logger.error(ex);
throw new EJBException(ex);
}
}
public void createNews(EventModel em) {
News news = (News) em.getModel();
logger.debug("enter create ..");
try {
String id = getNewsId(Constants.SEQ_NAME);
logger.debug(" got sequence Id " + id);
TNews tNews = tHome.create(id);
tNews.setContent(news.getContent());
tNews.setSubject(news.getSubject());
tNews.setUserid(news.getUser().getUserId());
String ttId = news.getNewsType().getTypeId();
logger.debug(" ttId=" + ttId);
if (ttId == null)
throw new Exception(Constants.NO_TYPEID);
TNewsType tt = ttHome.findByPrimaryKey(ttId);
tNews.setTNewsType(tt); //setup CMR
jdbcDao.clearAllCache();
}
catch (Exception ex) {
logger.error(ex);
em.setErrors(ex.getMessage());
}
}
public void updateNews(EventModel em) {
News news = (News) em.getModel();
logger.debug("enter update .." + news.getNewsId());
try {
TNews tNews = tHome.findByPrimaryKey(news.getNewsId());
tNews.setContent(news.getContent());
tNews.setSubject(news.getSubject());
tNews.setUserid(news.getUser().getUserId());
String ttId = news.getNewsType().getTypeId();
logger.debug(" ttId" + ttId );
TNewsType tt = ttHome.findByPrimaryKey(ttId);
tNews.setTNewsType(tt); //setup CMR
jdbcDao.clearAllCache();
}
catch (Exception ex) {
logger.error(ex);
}
}
public void deleteNews(EventModel em) {
News news = (News) em.getModel();
try {
tHome.remove(news.getNewsId());
jdbcDao.clearAllCache();
}
catch (Exception ex) {
logger.error(ex);
}
}
public News getNews(String Id) {
News news = null;
try {
news = jdbcDao.getNews(Id);
}
catch (Exception ex) {
logger.error(ex);
}
return news;
}
public PageIterator getNewsPage(String typeId, int start, int count) {
PageIterator pageIterator = null;
try {
pageIterator = jdbcDao.getNews(typeId, start, count);
}
catch (Exception ex) {
logger.error(ex);
}
return pageIterator;
}
public void createNewsType(EventModel em) {
NewsType newsType = (NewsType) em.getModel();
logger.debug("enter create ..");
try {
String id = getNewsId(Constants.SEQ_NAME);
logger.debug(" got sequence Id ");
TNewsType tNewsType = ttHome.create(id);
tNewsType.setTypename(newsType.getTypeName());
jdbcDao.clearCacheOfNewsType();
}
catch (Exception ex) {
logger.error(ex);
}
}
public void updateNewsType(EventModel em) {
NewsType newsType = (NewsType) em.getModel();
logger.debug("enter update .." );
try {
TNewsType tNewsType = ttHome.findByPrimaryKey(newsType.getTypeId());
tNewsType.setTypename(newsType.getTypeName());
}
catch (Exception ex) {
logger.error(ex);
}
}
public void deleteNewsTypeType(EventModel em) {
NewsType newsType = (NewsType) em.getModel();
try {
ttHome.remove(newsType.getTypeId());
jdbcDao.clearCacheOfNewsType();
}
catch (Exception ex) {
logger.error(ex);
}
}
public NewsType getNewsType(String Id) {
NewsType newsType = null;
logger.debug(" get News Type from db");
try {
newsType = jdbcDao.getNewsType(Id);
}
catch (Exception ex) {
logger.error(ex);
}
return newsType;
}
public PageIterator getNewsTypePage(int start, int count) {
PageIterator pageIterator = null;
try {
pageIterator = jdbcDao.getNewsType( start, count);
}
catch (Exception ex) {
logger.error(ex);
}
return pageIterator;
}
public void ejbRemove() {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -