1 23 24 package org.infoglue.cms.applications.structuretool.actions; 25 26 import java.net.URLEncoder ; 27 import java.util.ArrayList ; 28 import java.util.Collection ; 29 import java.util.HashMap ; 30 import java.util.Iterator ; 31 import java.util.List ; 32 import java.util.Map ; 33 34 import org.apache.log4j.Logger; 35 import org.exolab.castor.jdo.Database; 36 import org.infoglue.cms.applications.common.VisualFormatter; 37 import org.infoglue.cms.applications.common.actions.InfoGlueAbstractAction; 38 import org.infoglue.cms.controllers.kernel.impl.simple.AvailableServiceBindingController; 39 import org.infoglue.cms.controllers.kernel.impl.simple.CastorDatabaseService; 40 import org.infoglue.cms.controllers.kernel.impl.simple.ContentController; 41 import org.infoglue.cms.controllers.kernel.impl.simple.ContentControllerProxy; 42 import org.infoglue.cms.controllers.kernel.impl.simple.ContentStateController; 43 import org.infoglue.cms.controllers.kernel.impl.simple.ContentVersionController; 44 import org.infoglue.cms.controllers.kernel.impl.simple.EventController; 45 import org.infoglue.cms.controllers.kernel.impl.simple.LanguageController; 46 import org.infoglue.cms.controllers.kernel.impl.simple.RegistryController; 47 import org.infoglue.cms.controllers.kernel.impl.simple.ServiceBindingController; 48 import org.infoglue.cms.controllers.kernel.impl.simple.SiteNodeController; 49 import org.infoglue.cms.controllers.kernel.impl.simple.SiteNodeTypeDefinitionController; 50 import org.infoglue.cms.controllers.kernel.impl.simple.SiteNodeVersionController; 51 import org.infoglue.cms.controllers.kernel.impl.simple.SiteNodeVersionControllerProxy; 52 import org.infoglue.cms.entities.content.ContentVO; 53 import org.infoglue.cms.entities.content.ContentVersionVO; 54 import org.infoglue.cms.entities.management.AvailableServiceBinding; 55 import org.infoglue.cms.entities.management.AvailableServiceBindingVO; 56 import org.infoglue.cms.entities.management.LanguageVO; 57 import org.infoglue.cms.entities.management.SiteNodeTypeDefinitionVO; 58 import org.infoglue.cms.entities.structure.QualifyerVO; 59 import org.infoglue.cms.entities.structure.ServiceBinding; 60 import org.infoglue.cms.entities.structure.ServiceBindingVO; 61 import org.infoglue.cms.entities.structure.SiteNode; 62 import org.infoglue.cms.entities.structure.SiteNodeVO; 63 import org.infoglue.cms.entities.structure.SiteNodeVersion; 64 import org.infoglue.cms.entities.structure.SiteNodeVersionVO; 65 import org.infoglue.cms.entities.workflow.EventVO; 66 import org.infoglue.cms.exception.ConstraintException; 67 import org.infoglue.cms.exception.SystemException; 68 import org.infoglue.cms.util.CmsPropertyHandler; 69 70 import com.opensymphony.module.propertyset.PropertySet; 71 import com.opensymphony.module.propertyset.PropertySetManager; 72 73 74 78 79 public class ViewSiteNodeAction extends InfoGlueAbstractAction 80 { 81 private final static Logger logger = Logger.getLogger(ViewSiteNodeAction.class.getName()); 82 83 private static final long serialVersionUID = 1L; 84 85 private Integer unrefreshedSiteNodeId = new Integer (0); 86 private Integer changeTypeId = new Integer (0); 87 private Integer repositoryId = null; 88 private SiteNodeTypeDefinitionVO siteNodeTypeDefinitionVO; 89 private List availableServiceBindings = null; 90 private List serviceBindings = null; 91 private List referenceBeanList = new ArrayList (); 92 private List availableLanguages = new ArrayList (); 93 private List disabledLanguages = new ArrayList (); 94 private List referencingBeanList = new ArrayList (); 95 96 private SiteNodeVO siteNodeVO; 97 private SiteNodeVersionVO siteNodeVersionVO; 98 99 private String stay = null; 100 private String dest = ""; 101 102 103 public ViewSiteNodeAction() 104 { 105 this(new SiteNodeVO(), new SiteNodeVersionVO()); 106 } 107 108 public ViewSiteNodeAction(SiteNodeVO siteNodeVO, SiteNodeVersionVO siteNodeVersionVO) 109 { 110 logger.info("Construction ViewSiteNodeAction"); 111 this.siteNodeVO = siteNodeVO; 112 this.siteNodeVersionVO = siteNodeVersionVO; 113 } 114 115 protected void initialize(Integer siteNodeId) throws Exception 116 { 117 this.siteNodeVersionVO = SiteNodeVersionControllerProxy.getSiteNodeVersionControllerProxy().getACLatestActiveSiteNodeVersionVO(this.getInfoGluePrincipal(), siteNodeId); 118 logger.info("siteNodeVersionVO:" + siteNodeVersionVO.getId() + ":" + siteNodeVersionVO.getIsActive()); 119 this.siteNodeVO = SiteNodeController.getSiteNodeVOWithId(siteNodeId); 120 this.repositoryId = this.siteNodeVO.getRepositoryId(); 121 123 if(siteNodeVO.getSiteNodeTypeDefinitionId() != null) 124 { 125 this.siteNodeTypeDefinitionVO = SiteNodeTypeDefinitionController.getController().getSiteNodeTypeDefinitionVOWithId(siteNodeVO.getSiteNodeTypeDefinitionId()); 126 this.availableServiceBindings = SiteNodeTypeDefinitionController.getController().getAvailableServiceBindingVOList(siteNodeVO.getSiteNodeTypeDefinitionId()); 127 this.serviceBindings = SiteNodeVersionController.getServiceBindningVOList(siteNodeVersionVO.getSiteNodeVersionId()); 128 } 129 } 130 131 protected void initialize(Integer siteNodeId, Database db) throws Exception 132 { 133 this.siteNodeVersionVO = SiteNodeVersionControllerProxy.getSiteNodeVersionControllerProxy().getACLatestActiveSiteNodeVersionVO(this.getInfoGluePrincipal(), siteNodeId, db); 134 logger.info("siteNodeVersionVO:" + siteNodeVersionVO.getId() + ":" + siteNodeVersionVO.getIsActive()); 135 this.siteNodeVO = SiteNodeController.getSiteNodeVOWithId(siteNodeId, db); 136 137 if(this.siteNodeVO.getMetaInfoContentId() == null || this.siteNodeVO.getMetaInfoContentId().intValue() == -1) 138 { 139 boolean hadMetaInfo = false; 140 141 AvailableServiceBinding availableServiceBinding = AvailableServiceBindingController.getController().getAvailableServiceBindingWithName("Meta information", db, false); 142 143 Collection serviceBindings = SiteNodeVersionController.getServiceBindningList(this.siteNodeVersionVO.getId(), db); 144 Iterator serviceBindingIterator = serviceBindings.iterator(); 145 while(serviceBindingIterator.hasNext()) 146 { 147 ServiceBinding serviceBinding = (ServiceBinding)serviceBindingIterator.next(); 148 if(serviceBinding.getValueObject().getAvailableServiceBindingId().intValue() == availableServiceBinding.getAvailableServiceBindingId().intValue()) 149 { 150 List boundContents = ContentController.getBoundContents(db, serviceBinding.getServiceBindingId()); 151 if(boundContents.size() > 0) 152 { 153 ContentVO contentVO = (ContentVO)boundContents.get(0); 154 hadMetaInfo = true; 155 if(siteNodeVO.getMetaInfoContentId() == null || siteNodeVO.getMetaInfoContentId().intValue() == -1) 156 SiteNodeController.getController().setMetaInfoContentId(siteNodeVO.getId(), contentVO.getContentId(), db); 157 158 break; 159 } 160 } 161 } 162 163 if(!hadMetaInfo) 164 { 165 SiteNode siteNode = SiteNodeController.getController().getSiteNodeWithId(this.siteNodeVO.getId(), db); 166 SiteNodeController.getController().createSiteNodeMetaInfoContent(db, siteNode, siteNode.getRepository().getId(), this.getInfoGluePrincipal(), null).getValueObject(); 167 } 168 } 169 170 this.repositoryId = this.siteNodeVO.getRepositoryId(); 171 173 if(siteNodeVO.getSiteNodeTypeDefinitionId() != null) 174 { 175 this.siteNodeTypeDefinitionVO = SiteNodeTypeDefinitionController.getController().getSiteNodeTypeDefinitionVOWithId(siteNodeVO.getSiteNodeTypeDefinitionId(), db); 176 this.availableServiceBindings = SiteNodeTypeDefinitionController.getController().getAvailableServiceBindingVOList(siteNodeVO.getSiteNodeTypeDefinitionId(), db); 177 this.serviceBindings = SiteNodeVersionController.getServiceBindningVOList(siteNodeVersionVO.getSiteNodeVersionId(), db); 178 } 179 } 180 181 protected void initializeSiteNodeCover(Integer siteNodeId) throws Exception 182 { 183 try 184 { 185 this.referenceBeanList = RegistryController.getController().getReferencingObjectsForSiteNode(siteNodeId); 186 this.referencingBeanList = RegistryController.getController().getReferencedObjects(SiteNodeVersion.class.getName(), siteNodeVersionVO.getSiteNodeVersionId().toString()); 187 logger.info("referenceBeanList:" + referenceBeanList.size()); 188 logger.info("referencingBeanList:" + referencingBeanList.size()); 189 } 190 catch(Exception e) 191 { 192 e.printStackTrace(); 193 } 194 195 this.availableLanguages = LanguageController.getController().getLanguageVOList(this.repositoryId); 196 197 Map args = new HashMap (); 198 args.put("globalKey", "infoglue"); 199 PropertySet ps = PropertySetManager.getInstance("jdbc", args); 200 201 String disabledLanguagesString = ps.getString("siteNode_" + siteNodeId + "_disabledLanguages"); 202 logger.info("disabledLanguagesString:" + disabledLanguagesString); 203 if(disabledLanguagesString != null && !disabledLanguagesString.equalsIgnoreCase("")) 204 { 205 String [] disabledLanguagesStringArray = disabledLanguagesString.split(","); 206 for(int i=0; i<disabledLanguagesStringArray.length; i++) 207 { 208 try 209 { 210 LanguageVO languageVO = LanguageController.getController().getLanguageVOWithId(new Integer (disabledLanguagesStringArray[i])); 211 logger.info("Adding languageVO to disabledLanguages:" + languageVO.getName()); 212 this.disabledLanguages.add(languageVO); 213 } 214 catch(Exception e) 215 { 216 logger.warn("An error occurred when we tried to get disabled language:" + e.getMessage(), e); 217 } 218 } 219 } 220 } 221 222 protected void initializeSiteNodeCover(Integer siteNodeId, Database db) throws Exception 223 { 224 try 225 { 226 this.referenceBeanList = RegistryController.getController().getReferencingObjectsForSiteNode(siteNodeId, db); 227 this.referencingBeanList = RegistryController.getController().getReferencedObjects(SiteNodeVersion.class.getName(), siteNodeVersionVO.getSiteNodeVersionId().toString(), db); 228 logger.info("referenceBeanList:" + referenceBeanList.size()); 229 logger.info("referencingBeanList:" + referencingBeanList.size()); 230 } 231 catch(Exception e) 232 { 233 e.printStackTrace(); 234 } 235 236 this.availableLanguages = LanguageController.getController().getLanguageVOList(this.repositoryId, db); 237 238 Map args = new HashMap (); 239 args.put("globalKey", "infoglue"); 240 PropertySet ps = PropertySetManager.getInstance("jdbc", args); 241 242 String disabledLanguagesString = ps.getString("siteNode_" + siteNodeId + "_disabledLanguages"); 243 logger.info("disabledLanguagesString:" + disabledLanguagesString); 244 if(disabledLanguagesString != null && !disabledLanguagesString.equalsIgnoreCase("")) 245 { 246 String [] disabledLanguagesStringArray = disabledLanguagesString.split(","); 247 for(int i=0; i<disabledLanguagesStringArray.length; i++) 248 { 249 try 250 { 251 LanguageVO languageVO = LanguageController.getController().getLanguageVOWithId(new Integer (disabledLanguagesStringArray[i]), db); 252 logger.info("Adding languageVO to disabledLanguages:" + languageVO.getName()); 253 this.disabledLanguages.add(languageVO); 254 } 255 catch(Exception e) 256 { 257 logger.warn("An error occurred when we tried to get disabled language:" + e.getMessage(), e); 258 } 259 } 260 } 261 } 262 263 277 278 public String doExecute() throws Exception 279 { 280 String result = "success"; 281 282 Database db = CastorDatabaseService.getDatabase(); 283 284 beginTransaction(db); 285 286 try 287 { 288 if(getSiteNodeId() != null) 289 { 290 this.initialize(getSiteNodeId(), db); 291 292 if((this.stay == null || !this.stay.equalsIgnoreCase("true")) && this.siteNodeVO.getSiteNodeTypeDefinitionId() != null && getShowComponentsFirst().equalsIgnoreCase("true")) 294 { 295 boolean isMetaInfoInWorkingState = false; 296 LanguageVO masterLanguageVO = LanguageController.getController().getMasterLanguage(this.repositoryId, db); 297 Integer languageId = masterLanguageVO.getLanguageId(); 298 299 AvailableServiceBindingVO availableServiceBindingVO = AvailableServiceBindingController.getController().getAvailableServiceBindingVOWithName("Meta information"); 300 Integer metaInfoAvailableServiceBindingId = null; 301 if(availableServiceBindingVO != null) 302 metaInfoAvailableServiceBindingId = availableServiceBindingVO.getAvailableServiceBindingId(); 303 304 Integer metaInfoContentId = null; 305 ContentVersionVO metaInfoContentVersionVO = null; 306 307 List serviceBindings = SiteNodeVersionController.getServiceBindningVOList(this.siteNodeVersionVO.getId(), db); 308 Iterator serviceBindingIterator = serviceBindings.iterator(); 309 while(serviceBindingIterator.hasNext()) 310 { 311 ServiceBindingVO serviceBindingVO = (ServiceBindingVO)serviceBindingIterator.next(); 312 if(serviceBindingVO.getAvailableServiceBindingId().intValue() == metaInfoAvailableServiceBindingId.intValue()) 313 { 314 List boundContents = ContentController.getInTransactionBoundContents(db, serviceBindingVO.getServiceBindingId()); 315 if(boundContents.size() > 0) 316 { 317 ContentVO contentVO = (ContentVO)boundContents.get(0); 318 metaInfoContentId = contentVO.getId(); 319 metaInfoContentVersionVO = ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(contentVO.getId(), languageId, db); 320 if(metaInfoContentVersionVO != null && metaInfoContentVersionVO.getStateId().equals(ContentVersionVO.WORKING_STATE)) 321 isMetaInfoInWorkingState = true; 322 323 break; 324 } 325 } 326 } 327 328 if(this.siteNodeVO.getMetaInfoContentId() == null || this.siteNodeVO.getMetaInfoContentId().intValue() == -1) 329 SiteNodeController.getController().setMetaInfoContentId(this.siteNodeVO.getId(), metaInfoContentId, db); 330 331 if(this.siteNodeVersionVO.getStateId().equals(SiteNodeVersionVO.WORKING_STATE) && !isMetaInfoInWorkingState) 332 { 333 metaInfoContentVersionVO = ContentStateController.changeState(metaInfoContentVersionVO.getId(), ContentVersionVO.WORKING_STATE, "Automatic", true, this.getInfoGluePrincipal(), null, db, new ArrayList ()).getValueObject(); 334 isMetaInfoInWorkingState = true; 335 } 336 337 if(true) 339 { 340 String url = getComponentRendererUrl() + getComponentRendererAction() + "?siteNodeId=" + getSiteNodeId() + "&languageId=" + masterLanguageVO.getId() + "&contentId=-1&cmsUserName=" + URLEncoder.encode(this.getInfoGluePrincipal().getName(), "UTF-8"); 341 url = this.getResponse().encodeURL(url); 342 this.getResponse().sendRedirect(url); 343 result = NONE; 344 } 345 else 346 result = "success"; 347 348 351 } 354 else 355 { 356 this.initializeSiteNodeCover(getSiteNodeId(), db); 357 358 result = "success"; 359 } 360 } 361 else 362 { 363 result = "blank"; 364 } 365 366 commitTransaction(db); 367 } 368 catch(ConstraintException ce) 369 { 370 logger.info("An error occurred so we should not complete the transaction:" + ce, ce); 371 rollbackTransaction(db); 372 throw ce; 373 } 374 catch(Exception e) 375 { 376 logger.error("An error occurred so we should not complete the transaction:" + e, e); 377 rollbackTransaction(db); 378 throw new SystemException(e.getMessage()); 379 } 380 381 return result; 382 } 383 384 public String doChangeState() throws Exception 385 { 386 logger.info("Gonna change state with comment:" + this.siteNodeVersionVO.getVersionComment()); 387 388 Database db = CastorDatabaseService.getDatabase(); 389 390 beginTransaction(db); 391 392 try 393 { 394 SiteNodeVersionController.getController().updateStateId(this.siteNodeVersionVO.getSiteNodeVersionId(), getStateId(), this.siteNodeVersionVO.getVersionComment(), this.getInfoGluePrincipal(), this.getSiteNodeId()); 395 this.initialize(getSiteNodeId(), db); 396 397 commitTransaction(db); 398 } 399 catch(Exception e) 400 { 401 logger.error("An error occurred so we should not complete the transaction:" + e, e); 402 rollbackTransaction(db); 403 throw new SystemException(e.getMessage()); 404 } 405 406 return "success"; 407 } 408 409 public String doCommentVersion() throws Exception 410 { 411 logger.info("Gonna show the comment-view"); 412 return "commentVersion"; 413 } 414 415 public java.lang.Integer getSiteNodeId() 416 { 417 return this.siteNodeVO.getSiteNodeId(); 418 } 419 420 public boolean getIsSiteNodeTypeDefinitionAssigned() 421 { 422 return (this.siteNodeVO.getSiteNodeTypeDefinitionId() != null) ? true : false; 423 } 424 425 public void setSiteNodeId(java.lang.Integer siteNodeId) 426 { 427 this.siteNodeVO.setSiteNodeId(siteNodeId); 428 } 429 430 public java.lang.Integer getRepositoryId() 431 { 432 if(this.repositoryId != null) 433 return this.repositoryId; 434 else 435 return this.siteNodeVO.getRepositoryId(); 436 } 437 438 public void setRepositoryId(java.lang.Integer repositoryId) 439 { 440 this.repositoryId = repositoryId; 441 } 442 443 public java.lang.Integer getUnrefreshedSiteNodeId() 444 { 445 return this.unrefreshedSiteNodeId; 446 } 447 448 public void setUnrefreshedSiteNodeId(java.lang.Integer unrefreshedSiteNodeId) 449 { 450 this.unrefreshedSiteNodeId = unrefreshedSiteNodeId; 451 } 452 453 public java.lang.Integer getChangeTypeId() 454 { 455 return this.changeTypeId; 456 } 457 458 public void setChangeTypeId(java.lang.Integer changeTypeId) 459 { 460 this.changeTypeId = changeTypeId; 461 } 462 463 public String getName() 464 { 465 return this.siteNodeVO.getName(); 466 } 467 468 public String getPublishDateTime() 469 { 470 return new VisualFormatter().formatDate(this.siteNodeVO.getPublishDateTime(), "yyyy-MM-dd HH:mm"); 471 } 472 473 public String getExpireDateTime() 474 { 475 return new VisualFormatter().formatDate(this.siteNodeVO.getExpireDateTime(), "yyyy-MM-dd HH:mm"); 476 } 477 478 public long getPublishDateTimeAsLong() 479 { 480 return this.siteNodeVO.getPublishDateTime().getTime(); 481 } 482 483 public long getExpireDateTimeAsLong() 484 { 485 return this.siteNodeVO.getExpireDateTime().getTime(); 486 } 487 488 public Boolean getIsBranch() 489 { 490 return this.siteNodeVO.getIsBranch(); 491 } 492 493 public String getContentType() 494 { 495 return this.siteNodeVersionVO.getContentType(); 496 } 497 498 public void setContentType(String contentType) 499 { 500 this.siteNodeVersionVO.setContentType(contentType); 501 } 502 503 public String getPageCacheKey() 504 { 505 return this.siteNodeVersionVO.getPageCacheKey(); 506 } 507 508 public void setPageCacheKey(String pageCacheKey) 509 { 510 this.siteNodeVersionVO.setPageCacheKey(pageCacheKey); 511 } 512 513 public Integer getDisableEditOnSight() 514 { 515 return this.siteNodeVersionVO.getDisableEditOnSight(); 516 } 517 518 public void setDisableEditOnSight(Integer disableEditOnSight) 519 { 520 this.siteNodeVersionVO.setDisableEditOnSight(disableEditOnSight); 521 } 522 523 public Integer getDisableLanguages() 524 { 525 return this.siteNodeVersionVO.getDisableLanguages(); 526 } 527 528 public void setDisableLanguages(Integer disableLanguages) 529 { 530 this.siteNodeVersionVO.setDisableLanguages(disableLanguages); 531 } 532 533 public Integer getDisablePageCache() 534 { 535 return this.siteNodeVersionVO.getDisablePageCache(); 536 } 537 538 public void setDisablePageCache(Integer disablePageCache) 539 { 540 this.siteNodeVersionVO.setDisablePageCache(disablePageCache); 541 } 542 543 public Integer getIsProtected() 544 { 545 return this.siteNodeVersionVO.getIsProtected(); 546 } 547 548 public void setIsProtected(Integer isProtected) 549 { 550 this.siteNodeVersionVO.setIsProtected(isProtected); 551 } 552 553 public void setStateId(Integer stateId) 554 { 555 this.siteNodeVersionVO.setStateId(stateId); 556 } 557 558 public Integer getStateId() 559 { 560 return this.siteNodeVersionVO.getStateId(); 561 } 562 563 public SiteNodeVersionVO getSiteNodeVersion() 564 { 565 return this.siteNodeVersionVO; 566 } 567 568 public Integer getSiteNodeVersionId() 569 { 570 return this.siteNodeVersionVO.getSiteNodeVersionId(); 571 } 572 573 public void setSiteNodeVersionId(Integer siteNodeVersionId) 574 { 575 this.siteNodeVersionVO.setSiteNodeVersionId(siteNodeVersionId); 576 } 577 578 public void setVersionComment(String versionComment) 579 { 580 this.siteNodeVersionVO.setVersionComment(versionComment); 581 } 582 583 public String getVersionComment() 584 { 585 return this.siteNodeVersionVO.getVersionComment(); 586 } 587 588 public SiteNodeTypeDefinitionVO getSiteNodeTypeDefinition() 589 { 590 return this.siteNodeTypeDefinitionVO; 591 } 592 593 public List getAvailableServiceBindings() 594 { 595 return this.availableServiceBindings; 596 } 597 598 public String getShowComponentsFirst() 599 { 600 return CmsPropertyHandler.getShowComponentsFirst(); 601 } 602 603 606 607 public List getSortedAvailableServiceBindings() 608 { 609 List sortedAvailableServiceBindings = new ArrayList (); 610 611 Iterator iterator = this.availableServiceBindings.iterator(); 612 while(iterator.hasNext()) 613 { 614 AvailableServiceBindingVO availableServiceBinding = (AvailableServiceBindingVO)iterator.next(); 615 int index = 0; 616 Iterator sortedListIterator = sortedAvailableServiceBindings.iterator(); 617 while(sortedListIterator.hasNext()) 618 { 619 AvailableServiceBindingVO sortedAvailableServiceBinding = (AvailableServiceBindingVO)sortedListIterator.next(); 620 621 String currentAttribute = availableServiceBinding.getName(); 622 String sortedAttribute = sortedAvailableServiceBinding.getName(); 623 624 if(currentAttribute != null && sortedAttribute != null && currentAttribute.compareTo(sortedAttribute) < 0) 625 { 626 break; 627 } 628 index++; 629 } 630 sortedAvailableServiceBindings.add(index, availableServiceBinding); 631 } 632 633 return sortedAvailableServiceBindings; 634 } 635 636 639 640 public List getSortedAvailableContentServiceBindings() 641 { 642 List sortedAvailableContentServiceBindings = new ArrayList (); 643 644 Iterator sortedListIterator = getSortedAvailableServiceBindings().iterator(); 645 while(sortedListIterator.hasNext()) 646 { 647 AvailableServiceBindingVO sortedAvailableServiceBinding = (AvailableServiceBindingVO)sortedListIterator.next(); 648 if(sortedAvailableServiceBinding.getVisualizationAction().indexOf("Structure") == -1) 649 sortedAvailableContentServiceBindings.add(sortedAvailableServiceBinding); 650 } 651 652 return sortedAvailableContentServiceBindings; 653 } 654 655 658 659 public List getSortedAvailableStructureServiceBindings() 660 { 661 List sortedAvailableStructureServiceBindings = new ArrayList (); 662 663 Iterator sortedListIterator = getSortedAvailableServiceBindings().iterator(); 664 while(sortedListIterator.hasNext()) 665 { 666 AvailableServiceBindingVO sortedAvailableServiceBinding = (AvailableServiceBindingVO)sortedListIterator.next(); 667 if(sortedAvailableServiceBinding.getVisualizationAction().indexOf("Structure") > -1) 668 sortedAvailableStructureServiceBindings.add(sortedAvailableServiceBinding); 669 } 670 671 return sortedAvailableStructureServiceBindings; 672 } 673 674 675 public List getServiceBindings() 676 { 677 return this.serviceBindings; 678 } 679 680 public String getStateDescription(Integer siteNodeId, Integer languageId) 681 { 682 String stateDescription = "Not created"; 683 698 return stateDescription; 699 } 700 701 702 705 706 public String getQualifyerDescription(Integer serviceBindingId) throws Exception 707 { 708 String qualifyerDescription = ""; 709 710 List qualifyers = ServiceBindingController.getQualifyerVOList(serviceBindingId); 711 Iterator i = qualifyers.iterator(); 712 while(i.hasNext()) 713 { 714 QualifyerVO qualifyerVO = (QualifyerVO)i.next(); 715 if(!qualifyerDescription.equalsIgnoreCase("")) 716 qualifyerDescription += ","; 717 718 qualifyerDescription += qualifyerVO.getName() + "=" + qualifyerVO.getValue(); 719 } 720 721 return qualifyerDescription; 722 } 723 724 public List getListPreparedQualifyers(Integer serviceBindingId) throws Exception 725 { 726 List qualifyers = ServiceBindingController.getQualifyerVOList(serviceBindingId); 727 Iterator i = qualifyers.iterator(); 728 while(i.hasNext()) 729 { 730 QualifyerVO qualifyerVO = (QualifyerVO)i.next(); 731 if(qualifyerVO.getName().equalsIgnoreCase("contentid")) 732 { 733 try { 734 ContentVO contentVO = ContentControllerProxy.getController().getACContentVOWithId(this.getInfoGluePrincipal(), new Integer (qualifyerVO.getValue())); 735 qualifyerVO.setPath(contentVO.getName()); 736 } 737 catch(Exception e) 738 { 739 } 740 } 741 } 742 return qualifyers; 743 } 744 745 748 749 public List getSiteNodeTypeDefinitions() throws Exception 750 { 751 return SiteNodeTypeDefinitionController.getController().getSiteNodeTypeDefinitionVOList(); 752 } 753 754 755 public EventVO getSiteNodeVersionEvent(Integer siteNodeVersionId) 756 { 757 EventVO eventVO = null; 758 759 try 760 { 761 List events = EventController.getEventVOListForEntity(SiteNodeVersion.class.getName(), siteNodeVersionId); 762 if(events != null && events.size() > 0) 763 eventVO = (EventVO)events.get(0); 764 } 765 catch(Exception e) 766 { 767 logger.error("An error occurred when we tried to get any events for this version:" + e.getMessage(), e); 768 } 769 770 return eventVO; 771 } 772 773 public EventVO getSiteNodeEvent(Integer siteNodeId) 774 { 775 EventVO eventVO = null; 776 try 777 { 778 List events = EventController.getEventVOListForEntity(SiteNode.class.getName(), siteNodeId); 779 if(events != null && events.size() > 0) 780 eventVO = (EventVO)events.get(0); 781 } 782 catch(Exception e) 783 { 784 logger.error("An error occurred when we tried to get any events for this siteNode:" + e.getMessage(), e); 785 } 786 787 return eventVO; 788 } 789 790 public SiteNodeVersionVO getSiteNodeVersionVO() 791 { 792 return siteNodeVersionVO; 793 } 794 795 public String getStay() 796 { 797 return stay; 798 } 799 800 public void setStay(String stay) 801 { 802 this.stay = stay; 803 } 804 805 public String getDest() 806 { 807 return dest; 808 } 809 810 public List getReferenceBeanList() 811 { 812 return referenceBeanList; 813 } 814 815 public List getAvailableLanguages() 816 { 817 return availableLanguages; 818 } 819 820 public List getDisabledLanguages() 821 { 822 return disabledLanguages; 823 } 824 825 public List getReferencingBeanList() 826 { 827 return referencingBeanList; 828 } 829 } 830 | Popular Tags |