1 23 24 package org.infoglue.cms.applications.structuretool.actions; 25 26 import java.util.ArrayList ; 27 import java.util.HashMap ; 28 import java.util.List ; 29 30 import org.apache.log4j.Logger; 31 import org.infoglue.cms.applications.common.actions.InfoGlueAbstractAction; 32 import org.infoglue.cms.controllers.kernel.impl.simple.AvailableServiceBindingController; 33 import org.infoglue.cms.controllers.kernel.impl.simple.ServiceDefinitionController; 34 import org.infoglue.cms.entities.management.ServiceDefinitionVO; 35 import org.infoglue.cms.entities.structure.ServiceBindingVO; 36 import org.infoglue.cms.services.BaseService; 37 import org.infoglue.cms.util.ConstraintExceptionBuffer; 38 39 42 43 public class ViewListTemplateAction extends InfoGlueAbstractAction 44 { 45 private final static Logger logger = Logger.getLogger(ViewListTemplateAction.class.getName()); 46 47 private static final long serialVersionUID = 1L; 48 49 private Integer siteNodeVersionId; 50 private Integer repositoryId; 51 private Integer availableServiceBindingId; 52 private Integer serviceDefinitionId; 53 private Integer bindingTypeId; 54 private ConstraintExceptionBuffer ceb; 55 private Integer siteNodeId; 56 private ServiceDefinitionVO singleServiceDefinitionVO; 57 private String qualifyerXML; 58 59 private ServiceBindingVO serviceBindingVO = null; 60 61 62 public ViewListTemplateAction() 63 { 64 this(new ServiceBindingVO()); 65 } 66 67 public ViewListTemplateAction(ServiceBindingVO serviceBindingVO) 68 { 69 this.serviceBindingVO = serviceBindingVO; 70 this.ceb = new ConstraintExceptionBuffer(); 71 } 72 73 public void setSiteNodeVersionId(Integer siteNodeVersionId) 74 { 75 this.siteNodeVersionId = siteNodeVersionId; 76 } 77 78 public void setRepositoryId(Integer repositoryId) 79 { 80 this.repositoryId = repositoryId; 81 } 82 83 public void setAvailableServiceBindingId(Integer availableServiceBindingId) 84 { 85 this.availableServiceBindingId = availableServiceBindingId; 86 } 87 88 public void setServiceDefinitionId(Integer serviceDefinitionId) 89 { 90 this.serviceDefinitionId = serviceDefinitionId; 91 } 92 93 public void setBindingTypeId(Integer bindingTypeId) 94 { 95 this.serviceBindingVO.setBindingTypeId(bindingTypeId); 96 } 97 98 public Integer getSiteNodeVersionId() 99 { 100 return this.siteNodeVersionId; 101 } 102 103 public Integer getSiteNodeId() 104 { 105 return this.siteNodeId; 106 } 107 108 public Integer getRepositoryId() 109 { 110 return this.repositoryId; 111 } 112 113 public Integer getAvailableServiceBindingId() 114 { 115 return this.availableServiceBindingId; 116 } 117 118 public Integer getServiceDefinitionId() 119 { 120 return this.singleServiceDefinitionVO.getServiceDefinitionId(); 121 } 122 123 public Integer getBindingTypeId() 124 { 125 return this.bindingTypeId; 126 } 127 128 public ServiceDefinitionVO getSingleServiceDefinitionVO() 129 { 130 return this.singleServiceDefinitionVO; 131 } 132 133 public void setQualifyerXML(String qualifyerXML) 134 { 135 this.qualifyerXML = qualifyerXML; 136 } 137 138 public String getQualifyerXML() 139 { 140 return this.qualifyerXML; 141 } 142 143 144 147 public List getTemplates() 148 { 149 HashMap arguments = new HashMap (); 150 arguments.put("method", "selectListOnContentTypeName"); 151 152 List argumentList = new ArrayList (); 153 HashMap argument = new HashMap (); 154 argument.put("contentTypeDefinitionName", "HTMLTemplate"); 155 argumentList.add(argument); 156 arguments.put("arguments", argumentList); 157 158 return queryServiceDefinition(arguments, this.singleServiceDefinitionVO.getServiceDefinitionId()); 159 } 160 161 162 165 private List queryServiceDefinition(HashMap arguments, Integer serviceDefinitionId) 166 { 167 List response = null; 168 169 try 170 { 171 ServiceDefinitionVO serviceDefinitionVO = ServiceDefinitionController.getController().getServiceDefinitionVOWithId(serviceDefinitionId); 172 String serviceDefinitionClassName = serviceDefinitionVO.getClassName(); 173 logger.info("serviceDefinitionClassName:" + serviceDefinitionClassName); 174 175 BaseService service = (BaseService)Class.forName(serviceDefinitionClassName).newInstance(); 176 response = service.selectMatchingEntities(arguments); 177 } 178 catch(Exception e) 179 { 180 e.printStackTrace(); 181 } 182 183 return response; 184 } 185 186 187 190 191 public String doExecute() throws Exception 192 { 193 List serviceDefinitions = AvailableServiceBindingController.getController().getServiceDefinitionVOList(this.availableServiceBindingId); 194 if(serviceDefinitions == null || serviceDefinitions.size() == 0) 195 { 196 logger.info("Returning error"); 197 return "error"; 199 } 200 else if(serviceDefinitions.size() == 1) 201 { 202 logger.info("Returning success"); 203 this.singleServiceDefinitionVO = (ServiceDefinitionVO)serviceDefinitions.get(0); 204 return "success"; 205 } 206 else 207 { 208 logger.info("Returning chooseService"); 209 return "chooseService"; 210 } 211 } 212 213 214 } 215 | Popular Tags |