📄 selectchargecodeservlet.java
字号:
package com.wiley.compBooks.EJwithUML.TimecardUI;import javax.servlet.http.*;import javax.servlet.*;import javax.naming.*;import javax.ejb.*;import java.rmi.*;import javax.rmi.PortableRemoteObject;import java.io.*;import java.util.*;import java.text.*;import com.wiley.compBooks.EJwithUML.Base.HtmlPrimitives.Core.*;import com.wiley.compBooks.EJwithUML.Base.HtmlPrimitives.FormPrimitives.*;import com.wiley.compBooks.EJwithUML.Base.HtmlPrimitives.Layout.*;import com.wiley.compBooks.EJwithUML.Base.HtmlPrimitives.ContentElements.*;import com.wiley.compBooks.EJwithUML.TimeCardWorkflow.*;import com.wiley.compBooks.EJwithUML.TimeCardDomain.*;import com.wiley.compBooks.EJwithUML.TimecardProducers.*;import com.wiley.compBooks.EJwithUML.Dtos.*;import com.wiley.compBooks.EJwithUML.Base.EjbUtil.*;import com.wiley.compBooks.EJwithUML.Base.ApplicationExceptions.*;/** * The RecordTimeServlet uses the TimecardWorkflow and * HtmlProduction packages to create the formatted HTML * to build a charge code selection grid. */public class SelectChargeCodeServlet extends BasicTimecardServlet{ private RecordTimeWorkflowHome rtwhome = null; /** Overrides method from HttpServlet. doGet is called by the servlet engine. */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** Overrides method from HttpServlet. doPost is called by the servlet engine. */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { HttpSession session = request.getSession(); String username = (String) session.getAttribute(TimecardKey.USERNAME.getKeyText()); PagePrimitive page = new TimecardPageProducer("Select a Charge Code"); ParagraphPrimitive page_title = new ParagraphPrimitive(TimecardStyle.IMPORTANT_TEXT, "Select a charge code from the list below"); page.addToBody(page_title); Iterator clients = getClients(username); TablePrimitive table = new TablePrimitive(); table.setStyle(TimecardStyle.CHARGE_CODE_SELECTION_TABLE); table.setStyleForCells(TimecardStyle.CHARGE_CODE_SELECTION_CELLS); page.addToBody(table); int row_ctr = 0; table.setPrimitiveAt(row_ctr, 0, new SpanPrimitive(TimecardStyle.IMPORTANT_TEXT, "Client")); table.setPrimitiveAt(row_ctr, 1, new SpanPrimitive(TimecardStyle.IMPORTANT_TEXT, "Project")); table.setPrimitiveAt(row_ctr, 2, new SpanPrimitive(TimecardStyle.IMPORTANT_TEXT, "Code")); table.setPrimitiveAt(row_ctr, 3, new SpanPrimitive(TimecardStyle.IMPORTANT_TEXT, "Action")); row_ctr++; while (clients.hasNext()) { ClientDTO client = (ClientDTO) clients.next(); Iterator projects = client.getProjects(); while (projects.hasNext()) { ProjectDTO project = (ProjectDTO) projects.next(); Iterator codes = project.getChargeCodes(); while (codes.hasNext()) { String code = (String) codes.next(); String url = "/Timecard/RecordTimeServlet?" +TimecardKey.CLIENT.getKeyText()+"=" +client.getName()+ "&" +TimecardKey.PROJECT.getKeyText()+"=" +project.getName()+ "&"+ TimecardKey.CODE.getKeyText()+"=" +code; TextPrimitive client_text = new TextPrimitive(client.getName()); TextPrimitive project_text = new TextPrimitive(project.getName()); TextPrimitive code_text = new TextPrimitive(code); TextPrimitive link_text = new TextPrimitive("Add"); LinkPrimitive add_link = new LinkPrimitive(url); add_link.addText(link_text); table.setPrimitiveAt(row_ctr, 0, client_text); table.setPrimitiveAt(row_ctr, 1, project_text); table.setPrimitiveAt(row_ctr, 2, code_text); table.setPrimitiveAt(row_ctr, 3, add_link); row_ctr++; } } } // write page to response StringBuffer buffer = new StringBuffer(); page.buildContent(buffer); response.getWriter().println(buffer.toString()); response.getWriter().flush(); response.getWriter().close(); } catch (Exception e) { throw new ServletException(e); } } private Iterator getClients(String username) throws ApplicationException, RemoteException, NamingException, CreateException { if (rtwhome == null) { // Get workflow and timecard Context initial = new InitialContext(); Object objref = initial.lookup(EjbReferenceNames.RECORD_TIME_WORKFLOW_HOME); rtwhome = (RecordTimeWorkflowHome)PortableRemoteObject.narrow(objref, RecordTimeWorkflowHome.class); } RecordTimeWorkflow rtwf = rtwhome.create(username); Collection clients = rtwf.getAllClients(); return clients.iterator(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -