1 21 22 package org.opensubsystems.patterns.listdata.www; 23 24 import javax.servlet.ServletRequest ; 25 import javax.servlet.jsp.JspException ; 26 27 import org.opensubsystems.core.util.GlobalConstants; 28 import org.opensubsystems.core.util.StringUtils; 29 import org.opensubsystems.core.www.TagUtils; 30 import org.opensubsystems.core.www.WebSessionServlet; 31 import org.opensubsystems.core.www.WebUIServlet; 32 import org.opensubsystems.patterns.listdata.data.DataCondition; 33 import org.opensubsystems.patterns.listdata.data.ListOptions; 34 35 50 public class ListDataActionTag extends ListDataBaseTag 51 { 52 54 57 private static final long serialVersionUID = -5189455790209408072L; 58 59 66 protected String m_strUrl; 67 68 74 protected String m_strCommand; 75 76 78 81 public ListDataActionTag() 82 { 83 super(); 84 } 85 86 88 91 public int doStartTag( 92 ) throws JspException 93 { 94 StringBuffer sbHtml = new StringBuffer (); 95 ServletRequest request = pageContext.getRequest(); 96 ListOptions listoptions; 97 DataCondition extracondition; 98 String strUrl; 99 String strCommand; 100 101 listoptions = getOptionsObject(); 102 extracondition = getExtraConditionObject(); 103 strUrl = getUrl(); 104 strCommand = getCommand(); 105 106 if ((strUrl == null) || (strUrl.length() == 0)) 107 { 108 strUrl = (String )request.getAttribute( 109 WebSessionServlet.SERVLET_PATH_REQUEST_PARAM); 110 } 111 112 if (GlobalConstants.ERROR_CHECKING) 113 { 114 assert listoptions != null 115 : "Options attribute doesnt't identify name of existing list" + 116 " options."; 117 assert extracondition != null 118 : "Extra condition attribute doesnt't identify name of" + 119 " existing data condition."; 120 } 121 122 123 if (sbHtml.indexOf("?") < 0) 124 { 125 sbHtml.append('?'); 126 } 127 else 128 { 129 sbHtml.append('&'); 130 } 131 132 sbHtml.append(WebUIServlet.FORM_NAME_REQUEST_PARAM); 135 sbHtml.append("="); 136 sbHtml.append(strCommand); 137 sbHtml.append("&"); 138 sbHtml.append(ListBrowserServlet.LIST_PARAM_LIST_FILTER_ID); 139 sbHtml.append("="); 140 sbHtml.append(getDefinitionId(listoptions)); 141 sbHtml.append("&"); 142 sbHtml.append(ListBrowserServlet.LIST_PARAM_LIST_DOMAIN_ID); 143 sbHtml.append("="); 144 sbHtml.append(getDomainId(listoptions)); 145 sbHtml.append("&"); 146 sbHtml.append(ListBrowserServlet.LIST_PARAM_LIST_PAGE_SIZE); 147 sbHtml.append("="); 148 sbHtml.append(getPageSize(listoptions)); 149 sbHtml.append("&"); 150 sbHtml.append(ListBrowserServlet.LIST_PARAM_ORDER_CODE); 151 sbHtml.append("="); 152 sbHtml.append(getOrderColumnCodes(listoptions)); 153 sbHtml.append("&"); 154 sbHtml.append(ListBrowserServlet.LIST_PARAM_ORDER_TYPE); 155 sbHtml.append("="); 156 sbHtml.append(getOrderDirections(listoptions)); 157 sbHtml.append("&"); 158 sbHtml.append(ListBrowserServlet.LIST_PARAM_CLIENT_ORDER_CODE); 159 sbHtml.append("="); 160 sbHtml.append(getClientOrderCode(listoptions)); 161 sbHtml.append("&"); 162 sbHtml.append(ListBrowserServlet.LIST_PARAM_CLIENT_ORDER_TYPE); 163 sbHtml.append("="); 164 sbHtml.append(getClientOrderDirection(listoptions)); 165 if (ListBrowserServlet.ACTION_NEXT_PAGE_NAME.equalsIgnoreCase(strCommand)) 166 { 167 sbHtml.append("&"); 168 sbHtml.append(ListBrowserServlet.LIST_PARAM_END_POSITION); 169 sbHtml.append("="); 170 sbHtml.append(getEndPosition(listoptions)); 171 } 172 else if (ListBrowserServlet.ACTION_GO_TO_PAGE_NAME.equalsIgnoreCase(strCommand)) 173 { 174 sbHtml.append("&"); 175 sbHtml.append(ListBrowserServlet.LIST_PARAM_ACTUAL_PAGE); 176 sbHtml.append("="); 177 sbHtml.append(getActualPage(listoptions)); 178 } 179 else 180 { 181 sbHtml.append("&"); 182 sbHtml.append(ListBrowserServlet.LIST_PARAM_BEGIN_POSITION); 183 sbHtml.append("="); 184 sbHtml.append(getBeginPosition(listoptions)); 185 } 186 sbHtml.append("&"); 187 sbHtml.append(ListBrowserServlet.LIST_PARAM_SHOW_COLUMN_CODES); 188 sbHtml.append("="); 189 sbHtml.append(getShowColumnCodes(listoptions)); 190 sbHtml.append("&"); 191 sbHtml.append(ListBrowserServlet.LIST_PARAM_FIRST_VISIBLE_ITEM); 192 sbHtml.append("="); 193 sbHtml.append(getFirstVisibleItem(listoptions)); 194 sbHtml.append("&"); 195 sbHtml.append(ListBrowserServlet.LIST_PARAM_SELECTED_ITEMS); 196 sbHtml.append("="); 197 sbHtml.append(getSelectedItemIDs(listoptions)); 198 sbHtml.append("&"); 199 sbHtml.append(ListBrowserServlet.LIST_PARAM_MARKED_ITEMS); 200 sbHtml.append("="); 201 sbHtml.append(getMarkedItemIDs(listoptions)); 202 sbHtml.append("&"); 203 sbHtml.append(ListBrowserServlet.LIST_PARAM_LIST_PARENT_DATA_TYPE); 204 sbHtml.append("="); 205 sbHtml.append(getParentDataType(listoptions)); 206 sbHtml.append("&"); 207 sbHtml.append(ListBrowserServlet.LIST_PARAM_LIST_PARENT_IDENTIFIER); 208 sbHtml.append("="); 209 sbHtml.append(getParentId(listoptions)); 210 sbHtml.append("&"); 211 sbHtml.append(ListBrowserServlet.LIST_PARAM_IGNORED_ITEMS); 212 sbHtml.append("="); 213 sbHtml.append(getIgnoredItemIDs(listoptions)); 214 sbHtml.append("&"); 215 sbHtml.append(ListBrowserServlet.LIST_PARAM_KEEP_SELECTED); 216 sbHtml.append("="); 217 sbHtml.append(getKeepSelected(listoptions)); 218 sbHtml.append("&"); 219 sbHtml.append(ListBrowserServlet.LIST_PARAM_EXTRA_CONDITION_ATTRIBUTE); 220 sbHtml.append("="); 221 sbHtml.append(getExtraConditionAttribute(extracondition)); 222 sbHtml.append("&"); 223 sbHtml.append(ListBrowserServlet.LIST_PARAM_EXTRA_CONDITION_OPERAND); 224 sbHtml.append("="); 225 sbHtml.append(getExtraConditionOperation(extracondition)); 226 sbHtml.append("&"); 227 sbHtml.append(ListBrowserServlet.LIST_PARAM_EXTRA_CONDITION_VALUE_TYPE); 228 sbHtml.append("="); 229 sbHtml.append(getExtraConditionValueType(extracondition)); 230 sbHtml.append("&"); 231 sbHtml.append(ListBrowserServlet.LIST_PARAM_EXTRA_CONDITION_VALUE); 232 sbHtml.append("="); 233 sbHtml.append(getExtraConditionValue(extracondition)); 234 235 TagUtils.write(pageContext, sbHtml.toString()); 236 237 return (SKIP_BODY); 238 } 239 240 243 public int doEndTag( 244 ) throws JspException 245 { 246 return (EVAL_PAGE); 247 } 248 249 259 public String getUrl() 260 { 261 return m_strUrl; 262 } 263 264 271 public void setUrl( 272 String strUrl 273 ) 274 { 275 m_strUrl = strUrl; 276 } 277 278 286 public String getCommand() 287 { 288 return m_strCommand; 289 } 290 291 299 public void setCommand( 300 String strCommand 301 ) 302 { 303 m_strCommand = strCommand; 304 } 305 306 308 312 protected String getDefinitionId( 313 ListOptions listoptions 314 ) 315 { 316 String strTemp; 317 318 strTemp = listoptions.getDefinitionId(); 319 return (strTemp != null ? strTemp : ""); 320 } 321 322 326 protected String getDomainId( 327 ListOptions listoptions 328 ) 329 { 330 return Integer.toString(listoptions.getDomainId()); 331 } 332 333 337 protected String getPageSize( 338 ListOptions listoptions 339 ) 340 { 341 return Integer.toString(listoptions.getPageSize()); 342 } 343 344 348 protected String getOrderColumnCodes( 349 ListOptions listoptions 350 ) 351 { 352 return StringUtils.parseIntArrayToString(listoptions.getOrderColumnCodes(), 353 ","); 354 } 355 356 360 protected String getOrderDirections( 361 ListOptions listoptions 362 ) 363 { 364 return StringUtils.concat(listoptions.getOrderDirections(), ",", null); 365 } 366 367 371 protected String getClientOrderCode( 372 ListOptions listoptions 373 ) 374 { 375 return Integer.toString(listoptions.getClientOrderCode()); 376 } 377 378 382 protected String getClientOrderDirection( 383 ListOptions listoptions 384 ) 385 { 386 String strTemp; 387 388 strTemp = listoptions.getClientOrderDirection(); 389 return (strTemp != null ? strTemp : ""); 390 } 391 392 396 protected String getEndPosition( 397 ListOptions listoptions 398 ) 399 { 400 return Integer.toString(listoptions.getEndPosition()); 401 } 402 403 407 protected String getActualPage( 408 ListOptions listoptions 409 ) 410 { 411 return Integer.toString(listoptions.getActualPage()); 412 } 413 414 418 protected String getBeginPosition( 419 ListOptions listoptions 420 ) 421 { 422 return Integer.toString(listoptions.getBeginPosition()); 423 } 424 425 429 protected String getShowColumnCodes( 430 ListOptions listoptions 431 ) 432 { 433 return StringUtils.parseIntArrayToString(listoptions.getShowColumnCodes(), 434 ","); 435 } 436 437 441 protected String getFirstVisibleItem( 442 ListOptions listoptions 443 ) 444 { 445 return Integer.toString(listoptions.getFirstVisibleItem()); 446 } 447 448 452 protected String getSelectedItemIDs( 453 ListOptions listoptions 454 ) 455 { 456 String strTemp; 457 458 strTemp = listoptions.getSelectedItemIDs(); 459 return (strTemp != null ? strTemp : ""); 460 } 461 462 466 protected String getMarkedItemIDs( 467 ListOptions listoptions 468 ) 469 { 470 String strTemp; 471 472 strTemp = listoptions.getMarkedItemIDs(); 473 return (strTemp != null ? strTemp : ""); 474 } 475 476 480 protected String getParentDataType( 481 ListOptions listoptions 482 ) 483 { 484 return Integer.toString(listoptions.getParentDataType()); 485 } 486 487 491 protected String getParentId( 492 ListOptions listoptions 493 ) 494 { 495 return Integer.toString(listoptions.getParentId()); 496 } 497 498 502 protected String getIgnoredItemIDs( 503 ListOptions listoptions 504 ) 505 { 506 String strTemp; 507 508 strTemp = listoptions.getIgnoredItemIDs(); 509 return (strTemp != null ? strTemp : ""); 510 } 511 512 516 protected String getKeepSelected( 517 ListOptions listoptions 518 ) 519 { 520 return (listoptions.getIsKeepSelectedChecked() ? "1" : "0"); 521 } 522 523 527 protected String getExtraConditionAttribute( 528 DataCondition extracondition 529 ) 530 { 531 String strTemp = ""; 532 533 if (extracondition != null) 534 { 535 strTemp = Integer.toString(extracondition.getAttribute()); 536 } 537 538 return strTemp; 539 } 540 541 545 protected String getExtraConditionOperation( 546 DataCondition extracondition 547 ) 548 { 549 String strTemp = ""; 550 551 if (extracondition != null) 552 { 553 strTemp = Integer.toString(extracondition.getOperation()); 554 } 555 556 return strTemp; 557 } 558 559 563 protected String getExtraConditionValueType( 564 DataCondition extracondition 565 ) 566 { 567 String strTemp = ""; 568 569 if (extracondition != null) 570 { 571 strTemp = Integer.toString(extracondition.getValueType()); 572 } 573 574 return strTemp; 575 } 576 577 581 protected String getExtraConditionValue( 582 DataCondition extracondition 583 ) 584 { 585 String strTemp = ""; 586 587 if (extracondition != null) 588 { 589 strTemp = extracondition.getValueString(); 590 } 591 return (strTemp != null ? strTemp : ""); 592 } 593 } 594 | Popular Tags |