1 31 32 package org.opencms.workplace.tools.workplace; 33 34 import org.opencms.db.CmsUserSettings; 35 import org.opencms.jsp.CmsJspActionElement; 36 import org.opencms.synchronize.CmsSynchronizeSettings; 37 import org.opencms.widgets.CmsCheckboxWidget; 38 import org.opencms.widgets.CmsInputWidget; 39 import org.opencms.widgets.CmsVfsFileWidget; 40 import org.opencms.workplace.CmsWidgetDialog; 41 import org.opencms.workplace.CmsWidgetDialogParameter; 42 import org.opencms.workplace.CmsWorkplaceSettings; 43 44 import java.util.ArrayList ; 45 import java.util.List ; 46 47 import javax.servlet.http.HttpServletRequest ; 48 import javax.servlet.http.HttpServletResponse ; 49 import javax.servlet.jsp.PageContext ; 50 51 60 public class CmsSynchronizeSettingsDialog extends CmsWidgetDialog { 61 62 63 public static final String [] PAGES = {"page1"}; 64 65 66 public static final String KEY_PREFIX = "sync"; 67 68 69 private CmsSynchronizeSettings m_synchronizeSettings; 70 71 76 public CmsSynchronizeSettingsDialog(CmsJspActionElement jsp) { 77 78 super(jsp); 79 } 80 81 88 public CmsSynchronizeSettingsDialog(PageContext context, HttpServletRequest req, HttpServletResponse res) { 89 90 this(new CmsJspActionElement(context, req, res)); 91 } 92 93 96 public void actionCommit() { 97 98 List errors = new ArrayList (); 99 100 try { 101 CmsUserSettings userSettings = new CmsUserSettings(getCms()); 103 m_synchronizeSettings.checkValues(getCms()); 104 userSettings.setSynchronizeSettings(m_synchronizeSettings); 105 userSettings.save(getCms()); 106 setDialogObject(null); 107 } catch (Throwable t) { 108 errors.add(t); 109 } 110 111 setCommitErrors(errors); 113 } 114 115 123 protected String createDialogHtml(String dialog) { 124 125 StringBuffer result = new StringBuffer (1024); 126 127 result.append(createWidgetTableStart()); 129 130 result.append(createWidgetErrorHeader()); 132 133 result.append(dialogBlockStart(key(Messages.GUI_EDITOR_LABEL_ACTIVATE_SYNC_BLOCK_0))); 135 result.append(createWidgetTableStart()); 136 result.append(createDialogRowsHtml(0, 0)); 137 result.append(createWidgetTableEnd()); 138 result.append(dialogBlockEnd()); 139 result.append(dialogBlockStart(key(Messages.GUI_EDITOR_LABEL_SOURCE_LIST_VFS_BLOCK_0))); 140 result.append(createWidgetTableStart()); 141 result.append(createDialogRowsHtml(1, 1)); 142 result.append(createWidgetTableEnd()); 143 result.append(dialogBlockEnd()); 144 result.append(dialogBlockStart(key(Messages.GUI_EDITOR_LABEL_DESTINATION_RFS_BLOCK_0))); 145 result.append(createWidgetTableStart()); 146 result.append(createDialogRowsHtml(2, 2)); 147 result.append(createWidgetTableEnd()); 148 result.append(dialogBlockEnd()); 149 150 result.append(createWidgetTableEnd()); 152 153 return result.toString(); 154 } 155 156 159 protected void defineWidgets() { 160 161 initSynchronizeSettingsObject(); 163 setKeyPrefix(KEY_PREFIX); 164 addWidget(new CmsWidgetDialogParameter(m_synchronizeSettings, "enabled", PAGES[0], new CmsCheckboxWidget())); 165 addWidget(new CmsWidgetDialogParameter( 166 m_synchronizeSettings, 167 "destinationPathInRfs", 168 PAGES[0], 169 new CmsInputWidget())); 170 addWidget(new CmsWidgetDialogParameter( 171 m_synchronizeSettings, 172 "sourceListInVfs", 173 "/", 174 PAGES[0], 175 new CmsVfsFileWidget(false, ""), 176 1, 177 CmsWidgetDialogParameter.MAX_OCCURENCES)); 178 179 } 180 181 184 protected String [] getPageArray() { 185 186 return PAGES; 187 } 188 189 192 protected void initMessages() { 193 194 addMessages(Messages.get().getBundleName()); 196 super.initMessages(); 198 } 199 200 203 protected void initSynchronizeSettingsObject() { 204 205 Object o = getDialogObject(); 206 207 if ((o == null) || !(o instanceof CmsSynchronizeSettings)) { 208 CmsUserSettings userSettings = new CmsUserSettings(getCms()); 209 o = userSettings.getSynchronizeSettings(); 210 } 211 212 if (o != null) { 213 m_synchronizeSettings = (CmsSynchronizeSettings)o; 214 } else { 215 m_synchronizeSettings = new CmsSynchronizeSettings(); 216 } 217 } 218 219 222 protected void initWorkplaceRequestValues(CmsWorkplaceSettings settings, HttpServletRequest request) { 223 224 super.initWorkplaceRequestValues(settings, request); 226 227 setDialogObject(m_synchronizeSettings); 229 } 230 231 } | Popular Tags |