Example usage for com.google.gwt.user.client.ui FormPanel ENCODING_MULTIPART

List of usage examples for com.google.gwt.user.client.ui FormPanel ENCODING_MULTIPART

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui FormPanel ENCODING_MULTIPART.

Prototype

String ENCODING_MULTIPART

To view the source code for com.google.gwt.user.client.ui FormPanel ENCODING_MULTIPART.

Click Source Link

Document

Used with #setEncoding(String) to specify that the form will be submitted using MIME encoding (necessary for FileUpload to work properly).

Usage

From source file:org.ow2.proactive_grid_cloud_portal.rm.client.nodesource.serialization.load.file.ImportFromFilePanel.java

License:Open Source License

public ImportFromFilePanel(SubmitCompleteHandler handler) {
    setEncoding(FormPanel.ENCODING_MULTIPART);
    setMethod(FormPanel.METHOD_POST);//from  ww w .j a v a  2s. com
    setAction(GWT.getModuleBaseURL() + SerializationType.IMPORT_FROM_FILE.getFormTarget());
    add(getFileUploadLayout());
    addSubmitCompleteHandler(handler);
}

From source file:org.ow2.proactive_grid_cloud_portal.rm.client.nodesource.serialization.NodeSourceSerializationFormPanel.java

License:Open Source License

public NodeSourceSerializationFormPanel(String servletName) {
    setEncoding(FormPanel.ENCODING_MULTIPART);
    setMethod(FormPanel.METHOD_POST);
    setAction(GWT.getModuleBaseURL() + servletName);
}

From source file:org.ow2.proactive_grid_cloud_portal.scheduler.client.SubmitWindow.java

License:Open Source License

/**
 * internal layout creation//from   w  w w  .ja va  2s  .c  o  m
 * 
 * <pre>
 * +- Window ------------------+
 * |+- VLayout ---------------+|
 * ||+- Label --------+       || <-- error messages
 * ||+----------------+       ||     when applicable
 * ||+- Layout --------------+||
 * |||+- FormPanel ---------+|||
 * ||||+- VerticalPanel ---+||||
 * ||||| form fields       ||||| <-- GWT form wrapped
 * ||||+-------------------+||||     in SmartGWT layout
 * |||+---------------------+|||
 * ||+-----------------------+||
 * ||+- DynamicForm ---------+||     SmartGWT form, check
 * ||| form fields           ||| <-- to enable variable edition 
 * ||+-----------------------+||
 * ||           +- IButton --+|| <-- submit button
 * ||           +------------+||
 * |+-------------------------+|
 * +---------------------------+
 * </pre>
 * 
 * If the <code>Edit variables</code> checkbox is checked,
 * the {@link UploadServlet} called by the GWT form will return the content
 * of the job descriptor, and we will create a new form to edit the
 * variables so that we may submit the job to a second servlet, {@link SubmitEditServlet}.
 * If the {@link SubmitEditServlet} submission fails, we get back in the same state
 * as before the first click to Submit
 * 
 * 
 */
private void build() {

    /* mixing GWT's native FormPanel with SmartGWT containers,
     * because SmartGWT's form somehow sucks when not using the datasource stuff
     * as a result the layout is a bit messy */

    // root page of the window
    final VLayout layout = new VLayout();
    layout.setMargin(10);
    layout.setWidth100();
    layout.setHeight100();

    // buttons 
    final HLayout buttons = new HLayout();
    buttons.setMembersMargin(5);
    buttons.setHeight(20);
    buttons.setWidth100();
    buttons.setAlign(Alignment.RIGHT);

    final IButton uploadButton = new IButton("Submit");
    uploadButton.setIcon(Images.instance.ok_16().getSafeUri().asString());

    final IButton cancelButton = new IButton("Cancel");
    cancelButton.setIcon(Images.instance.cancel_16().getSafeUri().asString());
    cancelButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            SubmitWindow.this.window.hide();
            SubmitWindow.this.destroy();
        }
    });

    buttons.setMembers(uploadButton, cancelButton);

    // holds the form fields
    VerticalPanel formContent = new VerticalPanel();
    Hidden hiddenField = new Hidden();
    hiddenField.setName("sessionId");
    hiddenField.setValue(LoginModel.getInstance().getSessionId());
    formContent.add(hiddenField);

    final FileUpload fileUpload = new FileUpload();
    fileUpload.setName("job");
    final Hidden editField = new Hidden("edit");
    editField.setValue("0");

    formContent.add(fileUpload);
    formContent.add(editField);

    // actual form      
    final FormPanel formPanel = new FormPanel();
    formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    formPanel.setMethod(FormPanel.METHOD_POST);
    formPanel.setAction(GWT.getModuleBaseURL() + "uploader");
    formPanel.add(formContent);
    formPanel.setWidth("350px");
    formPanel.setHeight("30px");

    // wraps the GWT component so that we may show/hide it
    final HLayout formWrapper = new HLayout();
    formWrapper.setAlign(Alignment.CENTER);
    formWrapper.setHeight(30);
    formWrapper.addChild(formPanel);

    // error messages when applicable
    final Label label = new Label("Submit an XML Job Descriptor:");
    label.setHeight(30);
    label.setWidth100();

    // shown during submission
    final Label waitLabel = new Label("Please wait...");
    waitLabel.setHeight(30);
    waitLabel.setIcon("loading.gif");
    waitLabel.setWidth100();
    waitLabel.setAlign(Alignment.CENTER);

    final CheckboxItem edit = new CheckboxItem("edit", "Edit variables definitions");
    final DynamicForm editForm = new DynamicForm();
    editForm.setHeight100();
    editForm.setColWidths(20, "*");
    editForm.setFields(edit);

    layout.addMember(label);
    layout.addMember(formWrapper);
    layout.addMember(editForm);
    layout.addMember(buttons);

    this.window = new Window();
    this.window.setTitle("Submit Job");
    this.window.setShowMinimizeButton(false);
    this.window.setIsModal(true);
    this.window.setShowModalMask(true);
    this.window.addItem(layout);
    this.window.setWidth(420);
    this.window.setHeight(180);
    this.window.centerInPage();
    this.window.setCanDragResize(true);

    // click the upload button :
    // hide the form, show a 'please wait' label,
    // wait for the form's callback
    uploadButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
        public void onClick(ClickEvent e) {
            editField.setValue(edit.getValueAsBoolean() ? "1" : "0");

            formPanel.submit();

            layout.removeMember(label);
            layout.removeMember(formWrapper);
            layout.removeMember(editForm);
            layout.removeMember(buttons);

            layout.addMember(waitLabel);
        }
    });

    // form callback : silently close the window if no error,
    // else display message and allow new submission
    formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

        public void onSubmitComplete(SubmitCompleteEvent event) {
            String fn = fileUpload.getFilename();

            // chrome workaround
            final String fileName = fn.replace("C:\\fakepath\\", "");
            String res = event.getResults();
            boolean isError = false;

            try {
                JSONValue js = JSONParser.parseStrict(res);
                JSONObject obj = js.isObject();
                /* 
                 * submission with no edition successful, result is the job id 
                 */
                if (obj.get("id") != null && obj.get("id").isNumber() != null) {
                    int id = (int) obj.get("id").isNumber().doubleValue();
                    SubmitWindow.this.destroy();
                    LogModel.getInstance().logMessage("Successfully submitted job " + fileName + ": " + id);
                    controller.getExecutionController().getJobsController().addSubmittingJob(id, fileName);
                }
                /*
                 *  submission with edition:
                 */
                else if (obj.get("jobEdit") != null && obj.get("jobEdit").isString() != null) {
                    String val = obj.get("jobEdit").isString().stringValue();
                    String job = new String(
                            org.ow2.proactive_grid_cloud_portal.common.shared.Base64Utils.fromBase64(val));
                    final Map<String, String> variables = readVars(job);

                    // presentation form
                    final DynamicForm varForm = new DynamicForm();
                    final FormItem[] fields = new FormItem[variables.size()];
                    final Hidden[] _fields = new Hidden[variables.size()];
                    int i = 0;
                    final VerticalPanel hiddenPane = new VerticalPanel();
                    for (Entry<String, String> var : variables.entrySet()) {
                        TextItem t = new TextItem(var.getKey(), var.getKey());
                        t.setValue(var.getValue());
                        t.setWidth(240);

                        _fields[i] = new Hidden("var_" + var.getKey());
                        hiddenPane.add(_fields[i]);
                        fields[i] = t;
                        i++;
                    }
                    varForm.setFields(fields);
                    varForm.setWidth100();
                    varForm.setHeight100();

                    // actual form used to POST
                    final FormPanel fpanel = new FormPanel();
                    fpanel.setMethod(FormPanel.METHOD_POST);
                    fpanel.setAction(GWT.getModuleBaseURL() + "submitedit");
                    hiddenPane.add(new Hidden("job", job));
                    hiddenPane.add(new Hidden("sessionId", LoginModel.getInstance().getSessionId()));
                    fpanel.setWidget(hiddenPane);
                    final Layout fpanelWrapper = new Layout();
                    fpanelWrapper.addMember(fpanel);

                    label.setContents(
                            "Edit the variable definitions for job <strong>" + fileName + "</strong>");

                    final HLayout buttons2 = new HLayout();
                    buttons2.setWidth100();
                    buttons2.setHeight(20);
                    buttons2.setAlign(Alignment.RIGHT);
                    buttons2.setMembersMargin(5);
                    final IButton reset = new IButton("Reset");
                    reset.setIcon(Images.instance.clear_16().getSafeUri().asString());
                    reset.addClickHandler(new ClickHandler() {
                        public void onClick(ClickEvent event) {
                            for (FormItem it : fields) {
                                String key = it.getName();
                                String val = variables.get(key);
                                it.setValue(val);
                            }
                        }
                    });
                    final IButton submit2 = new IButton("Submit");
                    submit2.setIcon(Images.instance.ok_16().getSafeUri().asString());
                    submit2.addClickHandler(new ClickHandler() {
                        public void onClick(ClickEvent event) {
                            for (int i = 0; i < fields.length; i++) {
                                String val = "";
                                if (fields[i].getValue() != null) {
                                    val = fields[i].getValue().toString();
                                }
                                _fields[i].setValue(val);
                            }

                            fpanel.submit();

                            layout.removeMember(label);
                            layout.removeMember(varForm);
                            layout.removeMember(buttons2);
                            layout.removeMember(fpanelWrapper);

                            layout.addMember(waitLabel);
                            layout.reflow();
                        }
                    });
                    final IButton cancel2 = new IButton("Cancel");
                    cancel2.setIcon(Images.instance.cancel_16().getSafeUri().asString());
                    cancel2.addClickHandler(new ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
                            SubmitWindow.this.window.hide();
                            SubmitWindow.this.destroy();
                        }
                    });

                    buttons2.setMembers(reset, submit2, cancel2);

                    fpanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {
                        public void onSubmitComplete(SubmitCompleteEvent event) {
                            String res = event.getResults();
                            boolean failure = false;
                            try {
                                JSONValue val = controller.parseJSON(res);
                                if (val.isObject() != null && val.isObject().containsKey("id")) {
                                    int id = (int) val.isObject().get("id").isNumber().doubleValue();
                                    SubmitWindow.this.destroy();
                                    LogModel.getInstance()
                                            .logMessage("Successfully submitted job " + fileName + ": " + id);
                                    controller.getExecutionController().getJobsController().addSubmittingJob(id,
                                            fileName);
                                } else {
                                    failure = true;
                                }
                            } catch (JSONException e) {
                                failure = true;
                            }

                            if (failure) {
                                String msg = JSONUtils.getJsonErrorMessage(res);
                                layout.removeMember(waitLabel);

                                label.setContents(
                                        "<span style='color:red; font-weight:bold'>Job submission failed:</span><br>"
                                                + "<span style=''>" + msg + "</span>");

                                layout.addMember(label);
                                layout.addMember(formWrapper);
                                layout.addMember(editForm);
                                layout.addMember(buttons);
                                layout.reflow();
                                LogModel.getInstance().logImportantMessage("Failed to submit job: " + msg);
                            }
                        }
                    });

                    layout.removeMember(waitLabel);
                    layout.addMember(label);
                    layout.addMember(varForm);
                    layout.addMember(fpanelWrapper);
                    layout.addMember(buttons2);
                    layout.setMargin(10);
                    layout.reflow();

                } else {
                    isError = true;
                }
            } catch (JSONException t) {
                isError = true;
            }

            /* 
             * submission failure 
             */
            if (isError) {
                String msg = JSONUtils.getJsonErrorMessage(res);
                layout.removeMember(waitLabel);

                label.setContents("<span style='color:red; font-weight:bold'>Job submission failed:</span><br>"
                        + "<span style=''>" + msg + "</span>");

                layout.addMember(label);
                layout.addMember(formWrapper);
                layout.addMember(editForm);
                layout.addMember(buttons);
                layout.reflow();
                LogModel.getInstance().logImportantMessage("Failed to submit job: " + msg);
            }
        }
    });
}

From source file:org.pentaho.mantle.client.dialogs.ImportDialog.java

License:Open Source License

/**
 * @param repositoryFile/*from www  . ja  v  a 2 s.  c om*/
 */
public ImportDialog(RepositoryFile repositoryFile, boolean allowAdvancedDialog) {
    super(Messages.getString("import"), Messages.getString("ok"), Messages.getString("cancel"), false, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

    form = new FormPanel();
    form.addSubmitHandler(new SubmitHandler() {
        @Override
        public void onSubmit(SubmitEvent se) {
            // if no file is selected then do not proceed
            okButton.setEnabled(false);
            cancelButton.setEnabled(false);
            MantleApplication.showBusyIndicator(Messages.getString("pleaseWait"),
                    Messages.getString("importInProgress"));
        }
    });
    form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(SubmitCompleteEvent sce) {
            MantleApplication.hideBusyIndicator();
            okButton.setEnabled(false);
            cancelButton.setEnabled(true);
            ImportDialog.this.hide();
            String result = sce.getResults();
            if (result.length() > 5) {
                HTML messageTextBox = null;
                if (result.contains("INVALID_MIME_TYPE") == true) {
                    messageTextBox = new HTML(Messages.getString("uploadInvalidFileTypeQuestion", result));
                } else {
                    logWindow(result, Messages.getString("importLogWindowTitle"));
                }

                if (messageTextBox != null) {
                    PromptDialogBox dialogBox = new PromptDialogBox(Messages.getString("uploadUnsuccessful"),
                            Messages.getString("close"), null, true, true);
                    dialogBox.setContent(messageTextBox);
                    dialogBox.center();
                }
            }

            // if mantle_isBrowseRepoDirty=true: do getChildren call
            // if mantle_isBrowseRepoDirty=false: use stored fileBrowserModel in myself.get("cachedData")
            setBrowseRepoDirty(Boolean.TRUE);

            // BISERVER-9319 Refresh browse perspective after import
            final GenericEvent event = new GenericEvent();
            event.setEventSubType("ImportDialogEvent");
            EventBusUtil.EVENT_BUS.fireEvent(event);
        }
    });

    VerticalPanel rootPanel = new VerticalPanel();

    VerticalPanel spacer = new VerticalPanel();
    spacer.setHeight("10px");
    rootPanel.add(spacer);

    Label fileLabel = new Label(Messages.getString("file") + ":");
    final TextBox importDir = new TextBox();
    rootPanel.add(fileLabel);

    okButton.setEnabled(false);

    final TextBox fileTextBox = new TextBox();
    fileTextBox.setEnabled(false);

    //We use an fileNameOverride because FileUpload can only handle US character set reliably.
    final Hidden fileNameOverride = new Hidden("fileNameOverride");

    final FileUpload upload = new FileUpload();
    upload.setName("fileUpload");
    ChangeHandler fileUploadHandler = new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent event) {
            fileTextBox.setText(upload.getFilename());
            if (!"".equals(importDir.getValue())) {
                //Set the fileNameOverride because the fileUpload object can only reliably transmit US-ASCII
                //character set.  See RFC283 section 2.3 for details
                String fileNameValue = upload.getFilename().replaceAll("\\\\", "/");
                fileNameValue = fileNameValue.substring(fileNameValue.lastIndexOf("/") + 1);
                fileNameOverride.setValue(fileNameValue);
                okButton.setEnabled(true);
            } else {
                okButton.setEnabled(false);
            }
        }
    };
    upload.addChangeHandler(fileUploadHandler);
    upload.setVisible(false);

    HorizontalPanel fileUploadPanel = new HorizontalPanel();
    fileUploadPanel.add(fileTextBox);
    fileUploadPanel.add(new HTML("&nbsp;"));

    Button browseButton = new Button(Messages.getString("browse") + "...");
    browseButton.setStyleName("pentaho-button");
    fileUploadPanel.add(browseButton);
    browseButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            setRetainOwnershipState();
            jsClickUpload(upload.getElement());
        }
    });

    rootPanel.add(fileUploadPanel);
    rootPanel.add(upload);

    applyAclPermissions.setName("applyAclPermissions");
    applyAclPermissions.setValue(Boolean.FALSE);
    applyAclPermissions.setFormValue("false");
    applyAclPermissions.setEnabled(true);
    applyAclPermissions.setVisible(false);

    final CheckBox overwriteAclPermissions = new CheckBox(Messages.getString("overwriteAclPermissions"), true);
    overwriteAclPermissions.setName("overwriteAclPermissions");
    applyAclPermissions.setValue(Boolean.FALSE);
    applyAclPermissions.setFormValue("false");
    overwriteAclPermissions.setEnabled(true);
    overwriteAclPermissions.setVisible(false);

    final Hidden overwriteFile = new Hidden("overwriteFile");
    overwriteFile.setValue("true");

    final Hidden logLevel = new Hidden("logLevel");
    logLevel.setValue("ERROR");

    final Hidden retainOwnership = new Hidden("retainOwnership");
    retainOwnership.setValue("true");

    rootPanel.add(applyAclPermissions);
    rootPanel.add(overwriteAclPermissions);
    rootPanel.add(overwriteFile);
    rootPanel.add(logLevel);
    rootPanel.add(retainOwnership);
    rootPanel.add(fileNameOverride);

    spacer = new VerticalPanel();
    spacer.setHeight("4px");
    rootPanel.add(spacer);

    DisclosurePanel disclosurePanel = new DisclosurePanel(Messages.getString("advancedOptions"));
    disclosurePanel.getHeader().setStyleName("gwt-Label");
    disclosurePanel.setVisible(allowAdvancedDialog);
    HorizontalPanel mainPanel = new HorizontalPanel();
    mainPanel.add(new HTML("&nbsp;"));
    VerticalPanel disclosureContent = new VerticalPanel();

    HTML replaceLabel = new HTML(Messages.getString("fileExists"));
    replaceLabel.setStyleName("gwt-Label");
    disclosureContent.add(replaceLabel);

    final CustomListBox overwriteFileDropDown = new CustomListBox();
    final CustomListBox filePermissionsDropDown = new CustomListBox();

    DefaultListItem replaceListItem = new DefaultListItem(Messages.getString("replaceFile"));
    replaceListItem.setValue("true");
    overwriteFileDropDown.addItem(replaceListItem);
    DefaultListItem doNotImportListItem = new DefaultListItem(Messages.getString("doNotImport"));
    doNotImportListItem.setValue("false");
    overwriteFileDropDown.addItem(doNotImportListItem);
    overwriteFileDropDown.setVisibleRowCount(1);
    disclosureContent.add(overwriteFileDropDown);

    spacer = new VerticalPanel();
    spacer.setHeight("4px");
    disclosureContent.add(spacer);

    HTML filePermissionsLabel = new HTML(Messages.getString("filePermissions"));
    filePermissionsLabel.setStyleName("gwt-Label");
    disclosureContent.add(filePermissionsLabel);

    DefaultListItem usePermissionsListItem = new DefaultListItem(Messages.getString("usePermissions"));
    usePermissionsListItem.setValue("false");
    filePermissionsDropDown.addItem(usePermissionsListItem); // If selected set "overwriteAclPermissions" to
    // false.
    DefaultListItem retainPermissionsListItem = new DefaultListItem(Messages.getString("retainPermissions"));
    retainPermissionsListItem.setValue("true");
    filePermissionsDropDown.addItem(retainPermissionsListItem); // If selected set "overwriteAclPermissions" to
    // true.

    final ChangeListener filePermissionsHandler = new ChangeListener() {
        @Override
        public void onChange(Widget sender) {
            String value = filePermissionsDropDown.getSelectedItem().getValue().toString();

            applyAclPermissions.setValue(Boolean.valueOf(value));
            applyAclPermissions.setFormValue(value);
            overwriteAclPermissions.setFormValue(value);
            overwriteAclPermissions.setValue(Boolean.valueOf(value));
            setRetainOwnershipState();
        }
    };
    filePermissionsDropDown.addChangeListener(filePermissionsHandler);
    filePermissionsDropDown.setVisibleRowCount(1);
    disclosureContent.add(filePermissionsDropDown);

    spacer = new VerticalPanel();
    spacer.setHeight("4px");
    disclosureContent.add(spacer);

    HTML fileOwnershipLabel = new HTML(Messages.getString("fileOwnership"));
    fileOwnershipLabel.setStyleName("gwt-Label");
    disclosureContent.add(fileOwnershipLabel);

    retainOwnershipDropDown.addChangeListener(new ChangeListener() {
        @Override
        public void onChange(Widget sender) {
            String value = retainOwnershipDropDown.getSelectedItem().getValue().toString();
            retainOwnership.setValue(value);
        }
    });
    DefaultListItem keepOwnershipListItem = new DefaultListItem(Messages.getString("keepOwnership"));
    keepOwnershipListItem.setValue("true");
    retainOwnershipDropDown.addItem(keepOwnershipListItem);
    DefaultListItem assignOwnershipListItem = new DefaultListItem(Messages.getString("assignOwnership"));
    assignOwnershipListItem.setValue("false");
    retainOwnershipDropDown.addItem(assignOwnershipListItem);

    retainOwnershipDropDown.setVisibleRowCount(1);
    disclosureContent.add(retainOwnershipDropDown);

    spacer = new VerticalPanel();
    spacer.setHeight("4px");
    disclosureContent.add(spacer);

    ChangeListener overwriteFileHandler = new ChangeListener() {
        @Override
        public void onChange(Widget sender) {
            String value = overwriteFileDropDown.getSelectedItem().getValue().toString();
            overwriteFile.setValue(value);
        }
    };
    overwriteFileDropDown.addChangeListener(overwriteFileHandler);

    HTML loggingLabel = new HTML(Messages.getString("logging"));
    loggingLabel.setStyleName("gwt-Label");
    disclosureContent.add(loggingLabel);

    final CustomListBox loggingDropDown = new CustomListBox();
    loggingDropDown.addChangeListener(new ChangeListener() {
        public void onChange(Widget sender) {
            String value = loggingDropDown.getSelectedItem().getValue().toString();
            logLevel.setValue(value);
        }
    });
    DefaultListItem noneListItem = new DefaultListItem(Messages.getString("none"));
    noneListItem.setValue("ERROR");
    loggingDropDown.addItem(noneListItem);
    DefaultListItem shortListItem = new DefaultListItem(Messages.getString("short"));
    shortListItem.setValue("WARN");
    loggingDropDown.addItem(shortListItem);
    DefaultListItem debugListItem = new DefaultListItem(Messages.getString("verbose"));
    debugListItem.setValue("TRACE");
    loggingDropDown.addItem(debugListItem);
    loggingDropDown.setVisibleRowCount(1);
    disclosureContent.add(loggingDropDown);

    mainPanel.add(disclosureContent);
    disclosurePanel.setContent(mainPanel);
    rootPanel.add(disclosurePanel);

    importDir.setName("importDir");
    importDir.setText(repositoryFile.getPath());
    importDir.setVisible(false);

    rootPanel.add(importDir);

    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.setMethod(FormPanel.METHOD_POST);

    setFormAction();

    form.add(rootPanel);

    setContent(form);
}

From source file:org.pentaho.platform.dataaccess.datasource.ui.importing.AnalysisImportDialogController.java

License:Open Source License

private void createWorkingForm() {
    if (formPanel == null) {
        formPanel = new FormPanel();
        formPanel.setMethod(FormPanel.METHOD_POST);
        formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
        formPanel.setAction(MONDRIAN_POSTANALYSIS_URL);
        formPanel.getElement().getStyle().setProperty("position", "absolute");
        formPanel.getElement().getStyle().setProperty("visibility", "hidden");
        formPanel.getElement().getStyle().setProperty("overflow", "hidden");
        formPanel.getElement().getStyle().setProperty("clip", "rect(0px,0px,0px,0px)");
        mainFormPanel = new FlowPanel();
        formPanel.add(mainFormPanel);/*from w w w.  j a v  a 2 s.  co  m*/
        analysisFileUpload = new FileUpload();
        analysisFileUpload.setName("uploadAnalysis");
        analysisFileUpload.getElement().setId("analysisFileUpload");
        analysisFileUpload.addChangeHandler(new ChangeHandler() {
            @Override
            public void onChange(ChangeEvent event) {
                schemaNameLabel.setValue(((FileUpload) event.getSource()).getFilename());
                importDialogModel.setUploadedFile(((FileUpload) event.getSource()).getFilename());
                acceptButton.setDisabled(!isValid());
            }
        });

        mainFormPanel.add(analysisFileUpload);

        VerticalPanel vp = (VerticalPanel) hiddenArea.getManagedObject();
        vp.add(formPanel);
        //addSubmitHandler(); moved to GwtDataSourceEditorEntryPoint
    }
}

From source file:org.pentaho.platform.dataaccess.datasource.ui.importing.MetadataImportDialogController.java

License:Open Source License

private void createWorkingForm() {
    String importURL = METADATA_IMPORT_URL;

    formPanel = new FormPanel();
    formPanel.setMethod(FormPanel.METHOD_POST);
    formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    formPanel.setAction(importURL);/* w  ww.j a v  a  2 s  .c o m*/
    formPanel.getElement().getStyle().setProperty("position", "absolute");
    formPanel.getElement().getStyle().setProperty("visibility", "hidden");
    formPanel.getElement().getStyle().setProperty("overflow", "hidden");
    formPanel.getElement().getStyle().setProperty("clip", "rect(0px,0px,0px,0px)");
    mainFormPanel = new FlowPanel();
    propertiesFileImportPanel = new FlowPanel();
    mainFormPanel.add(propertiesFileImportPanel);
    formPanel.add(mainFormPanel);
    formDomainIdText = new TextBox();
    formDomainIdText.setName("domainId");
    mainFormPanel.add(formDomainIdText);
    metadataFileUpload = new FileUpload();
    metadataFileUpload.setName("metadataFile");
    metadataFileUpload.getElement().setId("metaFileUpload");
    metadataFileUpload.addChangeHandler(new ChangeHandler() {
        @Override
        public void onChange(ChangeEvent event) {
            metaFileLocation.setValue(((FileUpload) event.getSource()).getFilename());
            importDialogModel.setUploadedFile(((FileUpload) event.getSource()).getFilename());
        }
    });
    mainFormPanel.add(metadataFileUpload);
    VerticalPanel vp = (VerticalPanel) hiddenArea.getManagedObject();
    vp.add(formPanel);
}

From source file:org.pentaho.platform.dataaccess.datasource.wizard.UploadFile.java

License:Open Source License

public void onModuleLoad() {
    // Create a FormPanel and point it at a service.
    final FormPanel uploadForm = new FormPanel();
    uploadForm.setAction(GWT.getModuleBaseURL() + "/UploadService");

    // Because we're going to add a FileUpload widget, we'll need to set the
    // form to use the POST method, and multipart MIME encoding.
    uploadForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    uploadForm.setMethod(FormPanel.METHOD_POST);

    // Create a panel to hold all of the form widgets.
    VerticalPanel panel = new VerticalPanel();
    uploadForm.setWidget(panel);/* w  ww  .  j  a  va  2 s . c o  m*/

    // Create a TextBox, giving it a name so that it will be submitted.
    final TextBox tb = new TextBox();
    tb.setName("textBoxFormElement");
    panel.add(tb);

    // Create a FileUpload widget.
    FileUpload upload = new FileUpload();
    upload.setName("uploadFormElement");
    panel.add(upload);

    // Add a 'Upload' button.
    Button uploadSubmitButton = new Button("Upload");
    panel.add(uploadSubmitButton);

    uploadSubmitButton.addClickListener(new ClickListener() {
        public void onClick(Widget sender) {
            uploadForm.submit();
        }
    });

    uploadForm.addFormHandler(new FormHandler() {
        public void onSubmit(FormSubmitEvent event) {
        }

        public void onSubmitComplete(FormSubmitCompleteEvent event) {
            Window.alert(event.getResults());
        }
    });

    RootPanel.get().add(uploadForm);
}

From source file:org.pentaho.ui.xul.gwt.tags.GwtFileDialog.java

License:Open Source License

public GwtFileDialog() {
    super("filedialog");
    uploadForm = new FormPanel();
    uploadForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    uploadForm.setMethod(FormPanel.METHOD_POST);
    // Create a panel to hold all of the form widgets.
    VerticalPanel panel = new VerticalPanel();
    uploadForm.setWidget(panel);/* w  w  w  . j  av a  2s . c  o  m*/
    uploadForm.setVisible(false);
    // Create a FileUpload widget.
    upload = new FileUpload();
    upload.setName("uploadFormElement"); //$NON-NLS-1$
    panel.add(upload);
    RootPanel.get().add(uploadForm);
    setManagedObject(uploadForm);
}

From source file:org.pentaho.ui.xul.gwt.tags.GwtFileUpload.java

License:Open Source License

@SuppressWarnings("deprecation")
public void init(com.google.gwt.xml.client.Element srcEle, XulDomContainer container) {
    mainPanel = new VerticalPanel();
    setManagedObject(mainPanel);/*from w ww  .  j  a  v a 2  s .c  om*/

    super.init(srcEle, container);
    if (!StringUtils.isEmpty(srcEle.getAttribute("action"))) {
        setAction(buildActionUrl(GWT.getModuleBaseURL(), srcEle.getAttribute("action")));
    }
    if (!StringUtils.isEmpty(srcEle.getAttribute("onuploadsuccess"))) {
        setOnUploadSuccess(srcEle.getAttribute("onuploadsuccess"));
    }
    if (!StringUtils.isEmpty(srcEle.getAttribute("onuploadfailure"))) {
        setOnUploadFailure(srcEle.getAttribute("onuploadfailure"));
    }

    uploadForm = new FormPanel();
    uploadForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    uploadForm.setMethod(FormPanel.METHOD_POST);
    uploadForm.setHeight(getHeight() + "px");
    uploadForm.setWidth(getWidth() + "px");
    // Create a panel to hold all of the form widgets.
    HorizontalPanel panel = new HorizontalPanel();
    uploadForm.setWidget(panel);
    uploadForm.setVisible(true);
    // Create a FileUpload widget.
    upload = new FileUpload();
    upload.setStylePrimaryName("gwt-StyledFileUpload");
    upload.setName("uploadFormElement"); //$NON-NLS-1$
    upload.getElement().setId("uploadFormElement");
    upload.setVisible(true);
    upload.setHeight(getHeight() + "px");
    upload.setWidth(getWidth() + "px");
    upload.addChangeHandler(new ChangeHandler() {
        public void onChange(ChangeEvent event) {
            setSelectedFile(upload.getFilename());
        }
    });
    uploadPanel = new VerticalPanel();

    // -- upload styling -- //
    String uploadButtonImage = srcEle.getAttribute("image");
    String uploadButtonDisabledImage = srcEle.getAttribute("disabledimage");

    hiddenPanel = new HTMLPanel("<div id='hidden_div' class='gwt_file_upload_hidden_div'></div>");
    uploadTextBox = new GwtLabel();
    uploadTextBox.setId("gwt_FileUpload_uploadTextBox");

    GwtButton uploadButton = new GwtButton();
    uploadButton.setId("gwt_FileUpload_uploadButton");
    uploadButton.setHeight(22);

    final LabelWidget label = new LabelWidget("uploadFormElement");
    label.setStyleName("gwt_file_upload_label");
    // If "image" attribute has been defined in the fileupload control do not display the file textfield AND do not
    // set the button label.
    if (StringUtils.isEmpty(uploadButtonImage)) {
        uploadButton.setLabel("...");
        final Widget labelWidget = (Widget) uploadTextBox.getManagedObject();
        label.add(labelWidget);
        uploadTextBox.layout();
        labelWidget.setHeight(getHeight() + "px");
        labelWidget.setWidth((getWidth() - 55) + "px");
        DOM.setStyleAttribute(labelWidget.getElement(), "lineHeight", getHeight() + "px");
    } else {
        uploadButton.setImage(uploadButtonImage);
        uploadButton.setDisabledImage(uploadButtonDisabledImage);
    }

    label.add((Widget) uploadButton.getManagedObject());
    uploadButton.layout();
    hiddenPanel.add(upload, "hidden_div");
    hiddenPanel.add(label, "hidden_div");
    // -- upload styling -- //

    uploadPanel.add(hiddenPanel);
    panel.add(uploadPanel);
    mainPanel.add(uploadForm);
    if (getHeight() >= 0) {
        mainPanel.setHeight(getHeight() + "px");
    }
    if (getWidth() >= 0) {
        mainPanel.setWidth(getWidth() + "px");
    }

    uploadForm.addFormHandler(new FormHandler() {
        public void onSubmit(FormSubmitEvent event) {
            if (upload.getFilename() == null) {
                try {
                    GwtFileUpload.this.getXulDomContainer().invoke(getOnUploadFailure(), new Object[] {
                            new Throwable("No file has been selected. Please select the file to upload") });
                    return;
                } catch (XulException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }
        }

        public void onSubmitComplete(FormSubmitCompleteEvent event) {
            String results = event.getResults();
            try {
                if (results != null && results.indexOf(ERROR) >= 0) {
                    if (results.indexOf(ERROR) + ERROR.length() < results.length()) {
                        String result = results.replaceAll("\\<.*?>", "");
                        GwtFileUpload.this.getXulDomContainer().invoke(getOnUploadFailure(),
                                new Object[] { new Throwable(result) });
                    }
                } else {
                    if (results != null) {
                        String result = results.replaceAll("\\<.*?>", "");
                        GwtFileUpload.this.getXulDomContainer().invoke(getOnUploadSuccess(),
                                new Object[] { result });
                    } else {
                        GwtFileUpload.this.getXulDomContainer().invoke(getOnUploadFailure(),
                                new Object[] { new Throwable("Unable to find upload service or "
                                        + "Upload service returned nothing") });
                    }
                }
            } catch (XulException xule) {
                xule.printStackTrace();
            }
        }
    });

    uploadForm.setWidth("100%");

}

From source file:org.pepstock.jem.gwt.client.panels.administration.certificates.CertificateAdder.java

License:Open Source License

/**
 * Construct the UI with form to submit to upload the certificate.
 *///from   w  w w . ja  v  a  2 s  . c  o m
public CertificateAdder() {

    super(true, true);
    setGlassEnabled(true);

    // creates sub component
    DockLayoutPanel mainContainer = new DockLayoutPanel(Unit.PX);

    // adds header 
    // use the 
    mainContainer.addNorth(new CertificateHeader(this), Sizes.INSPECTOR_HEADER_HEIGHT_PX);

    VerticalPanel panel = new VerticalPanel();
    //pass action to the form to point to service handling file 
    //receiving operation.
    form.setAction(GWT.getModuleBaseURL() + SERVICE_NAME);
    // set form to use the POST method, and multipart MIME encoding.
    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.setMethod(FormPanel.METHOD_POST);

    fileUpload.setName(FILE_UPLOAD_FIELD);
    user.setName(ALIAS_FIELD);

    FlexTable layout = new FlexTable();
    layout.setCellPadding(5);
    layout.setWidth(Sizes.HUNDRED_PERCENT);

    layout.setHTML(0, 0, "Type user ID:");
    layout.setWidget(0, 1, user);

    layout.setHTML(1, 0, "Select certificate file for user:");
    layout.setWidget(1, 1, fileUpload);

    //add a label
    panel.add(layout);

    form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(SubmitCompleteEvent event) {
            // success, shows toast!
            XmlResultViewer.showResult("Certificate added", event.getResults());
            close();
        }
    });

    panel.setSpacing(10);

    // adds ActionsButtonPanel to south
    Actions actions = new Actions(this);
    panel.add(actions);

    // Add form to the root panel.      
    form.add(panel);

    mainContainer.add(form);
    setWidget(mainContainer);
}