001/* 002 * ModeShape (http://www.modeshape.org) 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.modeshape.web.client.admin; 017 018import com.smartgwt.client.widgets.form.fields.CheckboxItem; 019import com.smartgwt.client.widgets.form.fields.StaticTextItem; 020import com.smartgwt.client.widgets.form.fields.TextItem; 021import com.smartgwt.client.widgets.form.fields.events.ClickEvent; 022import org.modeshape.web.shared.BackupParams; 023import org.modeshape.web.shared.ModalDialog; 024 025/** 026 * Dialog asking backup directory. 027 * 028 * @author kulikov 029 */ 030public class BackupDialog extends ModalDialog { 031 032 private final TextItem nameField = new TextItem("Backup name"); 033 private final CheckboxItem incBinariesField = new CheckboxItem("Include binaries"); 034 private final CheckboxItem compressField = new CheckboxItem("Compress files"); 035 private final TextItem docsPerFileField = new TextItem("Documents per file"); 036 037 private final BackupControl control; 038 039 public BackupDialog(BackupControl control) { 040 super("Backup", 400, 200); 041 this.control = control; 042 043 StaticTextItem description = new StaticTextItem(""); 044 description.setValue("Specify backup name"); 045 046 setDefaults(); 047 setControls(description, nameField, incBinariesField, compressField, docsPerFileField); 048 } 049 050 private void setDefaults() { 051 incBinariesField.setValue(true); 052 compressField.setValue(true); 053 docsPerFileField.setValue("10000"); 054 } 055 056 @Override 057 public void onConfirm(ClickEvent event) { 058 //prepare clean options 059 BackupParams params = new BackupParams(); 060 061 params.setIncludeBinaries(incBinariesField.getValueAsBoolean()); 062 params.setCompress(compressField.getValueAsBoolean()); 063 params.setDocumentsPerFile(Long.valueOf(docsPerFileField.getValueAsString())); 064 065 control.backup(nameField.getValueAsString(), params); 066 } 067 068 069}