1 31 32 package org.opencms.workplace.tools.modules; 33 34 import org.opencms.jsp.CmsJspActionElement; 35 import org.opencms.main.OpenCms; 36 import org.opencms.module.CmsModule; 37 import org.opencms.module.CmsModuleDependency; 38 import org.opencms.util.CmsStringUtil; 39 import org.opencms.widgets.CmsDisplayWidget; 40 import org.opencms.workplace.CmsDialog; 41 import org.opencms.workplace.CmsWidgetDialog; 42 import org.opencms.workplace.CmsWidgetDialogParameter; 43 import org.opencms.workplace.CmsWorkplaceSettings; 44 45 import java.util.Iterator ; 46 import java.util.List ; 47 48 import javax.servlet.http.HttpServletRequest ; 49 import javax.servlet.http.HttpServletResponse ; 50 import javax.servlet.jsp.PageContext ; 51 52 63 public class CmsDependenciesOverview extends CmsWidgetDialog { 64 65 66 public static final String DIALOG_TYPE = "DependenciesOverview"; 67 68 69 public static final String [] PAGES = {"page1"}; 70 71 72 private CmsModuleDependency m_dependency; 73 74 75 private String m_paramDependency; 76 77 78 private String m_paramModule; 79 80 85 public CmsDependenciesOverview(CmsJspActionElement jsp) { 86 87 super(jsp); 88 } 89 90 97 public CmsDependenciesOverview(PageContext context, HttpServletRequest req, HttpServletResponse res) { 98 99 this(new CmsJspActionElement(context, req, res)); 100 } 101 102 105 public void actionCommit() { 106 107 } 109 110 115 public String buildDialogForm() { 116 117 StringBuffer result = new StringBuffer (1024); 118 119 try { 120 121 result.append(createDialogHtml(getParamPage())); 123 124 } catch (Throwable t) { 125 } 127 return result.toString(); 128 } 129 130 133 public String getCancelAction() { 134 135 setParamPage((String )getPages().get(0)); 137 138 return DIALOG_SET; 139 } 140 141 146 public String getParamDependency() { 147 148 return m_paramDependency; 149 } 150 151 156 public String getParamModule() { 157 158 return m_paramModule; 159 } 160 161 165 public void setParamDependency(String paramDependency) { 166 167 m_paramDependency = paramDependency; 168 } 169 170 174 public void setParamModule(String paramModule) { 175 176 m_paramModule = paramModule; 177 } 178 179 185 protected String createDialogHtml(String dialog) { 186 187 StringBuffer result = new StringBuffer (1024); 188 189 result.append(createWidgetTableStart()); 191 192 result.append(createWidgetErrorHeader()); 194 195 if (dialog.equals(PAGES[0])) { 196 result.append(dialogBlockStart(key("label.dependencyinformation"))); 197 result.append(createWidgetTableStart()); 198 result.append(createDialogRowsHtml(0, 1)); 199 result.append(createWidgetTableEnd()); 200 result.append(dialogBlockEnd()); 201 } 202 203 result.append(createWidgetTableEnd()); 205 206 return result.toString(); 207 } 208 209 212 protected void defineWidgets() { 213 214 initModule(); 215 216 addWidget(new CmsWidgetDialogParameter(m_dependency, "name", PAGES[0], new CmsDisplayWidget())); 217 addWidget(new CmsWidgetDialogParameter(m_dependency, "version.version", PAGES[0], new CmsDisplayWidget())); 218 219 } 220 221 224 protected String [] getPageArray() { 225 226 return PAGES; 227 } 228 229 232 protected void initMessages() { 233 234 addMessages(Messages.get().getBundleName()); 236 super.initMessages(); 238 } 239 240 243 protected void initModule() { 244 245 Object o; 246 CmsModule module; 247 248 if (CmsStringUtil.isEmpty(getParamAction()) || CmsDialog.DIALOG_INITIAL.equals(getParamAction())) { 249 if (CmsStringUtil.isNotEmpty(m_paramModule)) { 251 o = OpenCms.getModuleManager().getModule(m_paramModule); 253 } else { 254 o = null; 256 } 257 } else { 258 o = getDialogObject(); 260 } 261 262 if (!(o instanceof CmsModule)) { 263 module = new CmsModule(); 265 266 } else { 267 module = (CmsModule)((CmsModule)o).clone(); 269 } 270 271 List dependencies = module.getDependencies(); 272 m_dependency = new CmsModuleDependency(); 273 if (dependencies != null && dependencies.size() > 0) { 274 Iterator i = dependencies.iterator(); 275 while (i.hasNext()) { 276 CmsModuleDependency dependency = (CmsModuleDependency)i.next(); 277 if (dependency.getName().equals(m_paramDependency)) { 278 m_dependency = dependency; 279 } 280 } 281 } 282 283 } 284 285 288 protected void initWorkplaceRequestValues(CmsWorkplaceSettings settings, HttpServletRequest request) { 289 290 setParamDialogtype(DIALOG_TYPE); 292 293 super.initWorkplaceRequestValues(settings, request); 294 295 setDialogObject(m_dependency); 297 298 } 299 300 303 protected void validateParamaters() throws Exception { 304 305 String moduleName = getParamModule(); 306 CmsModule module = OpenCms.getModuleManager().getModule(moduleName); 308 if (module == null) { 309 throw new Exception (); 310 } 311 Iterator it = module.getDependencies().iterator(); 313 while (it.hasNext()) { 314 CmsModuleDependency dep = (CmsModuleDependency)it.next(); 315 if (dep.getName().equals(getParamDependency())) { 316 return; 318 } 319 } 320 throw new Exception (); 321 } 322 323 } 324 | Popular Tags |