1 16 package org.apache.jetspeed.tutorial.modules.actions.portlets; 17 18 import org.apache.turbine.util.Log; 20 import org.apache.turbine.util.RunData; 21 import org.apache.turbine.services.TurbineServices; 22 23 import org.apache.velocity.context.Context; 25 26 import org.apache.jetspeed.portal.portlets.VelocityPortlet; 28 import org.apache.jetspeed.modules.actions.portlets.VelocityPortletAction; 29 import org.apache.jetspeed.webservices.finance.stockmarket.StockQuoteService; 30 import org.apache.jetspeed.webservices.finance.stockmarket.StockQuote; 31 import org.apache.jetspeed.util.PortletConfigState; 32 import org.apache.jetspeed.util.StringUtils; 33 34 40 public class TutorialStockQuoteAction12 extends VelocityPortletAction 41 { 42 private static final String SYMBOLS = "symbols"; 43 private static final String COLUMNS = "columns"; 44 private static final String SORT = "sort"; 45 private static final String QUOTES = "quotes"; 46 private static final String [] ALL_COLUMNS = {"Symbol","Price","Change","Volume"}; 47 private static final String SELECTED_COLUMNS = "selected-columns"; 48 49 56 57 protected void buildNormalContext(VelocityPortlet portlet, 58 Context context, 59 RunData rundata) 60 { 61 try 62 { 63 StockQuoteService service = (StockQuoteService) TurbineServices.getInstance(). 65 getService(StockQuoteService.SERVICE_NAME); 66 67 String symbols = PortletConfigState.getParameter(portlet, rundata, SYMBOLS, "IBM,MSFT,ORCL,SUNW"); 69 String columns = PortletConfigState.getParameter(portlet, rundata, COLUMNS, 70 StringUtils.arrayToString(ALL_COLUMNS, ",")); 71 String [] selectedColumnsArray = StringUtils.stringToArray(columns, ","); 72 String sort = PortletConfigState.getParameter(portlet, rundata, SYMBOLS, "Symbol"); 73 74 String [] symbolArray = StringUtils.stringToArray(symbols, ","); 76 StockQuote[] quotes = service.fullQuotes(symbolArray); 77 78 context.put(QUOTES, quotes); 80 context.put(SELECTED_COLUMNS, selectedColumnsArray); 81 context.put(COLUMNS, columns); 82 } 83 catch (Exception e) 84 { 85 Log.error(e); 86 } 87 } 88 89 94 protected void buildConfigureContext(VelocityPortlet portlet, 95 Context context, 96 RunData rundata) 97 { 98 Log.debug("TutorialStockQuoteAction: portlet = " + portlet.getName()); 99 setTemplate(rundata, "customizer-portlet"); 102 } 103 104 } 105 106 | Popular Tags |