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

📄 newsmanagerbean.java

📁 功能完善的java开发框架
💻 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 + -