/*
* Copyright 2011 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jbpm.formbuilder.client.effect.view;
import org.jbpm.formbuilder.shared.task.ExternalDataRef;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.TextBox;
/**
*
*/
public class ExternalDataSourcePanel extends Grid {
private boolean isValid = false;
private final TextBox sourceTextBox = new TextBox();
private final ListBox methodListBox = new ListBox();
private final ListBox responseListBox = new ListBox();
private final TextBox xpathTextBox = new TextBox();
public ExternalDataSourcePanel() {
super(4, 2);
methodListBox.addItem("GET");
methodListBox.addItem("POST");
methodListBox.setSelectedIndex(0);
responseListBox.addItem("xml");
responseListBox.addItem("json");
responseListBox.setSelectedIndex(0);
setWidget(0, 0, new Label("Source:"));
setWidget(0, 1, sourceTextBox);
setWidget(1, 0, new Label("Method:"));
setWidget(1, 1, methodListBox);
setWidget(2, 0, new Label("Response lang:"));
setWidget(2, 1, responseListBox);
setWidget(3, 0, new Label("Response xpath:"));
setWidget(3, 1, xpathTextBox);
}
public ExternalDataRef getData() {
if (isValid) {
ExternalDataRef ref = new ExternalDataRef();
ref.setSource(sourceTextBox.getValue());
ref.setMethod(methodListBox.getValue(methodListBox.getSelectedIndex()));
ref.setResponseLanguage(responseListBox.getValue(responseListBox.getSelectedIndex()));
ref.setXpath(xpathTextBox.getValue());
return ref;
}
return null;
}
public void flagData() {
this.isValid = true;
}
public void unflagData() {
this.isValid = false;
}
}