use of com.twinsoft.convertigo.beans.variables.RequestableHttpVariable in project convertigo by convertigo.
the class HttpTransactionVariablesComposite method applyProceed.
public void applyProceed() {
for (Button check : checkboxes) {
DynamicHttpVariable v = (DynamicHttpVariable) check.getData(DynamicHttpVariable.class.getName());
Variable dboVar = httpTransaction.getVariable(v.name());
if (check.getSelection() && dboVar == null) {
try {
RequestableHttpVariable newDboVar = new RequestableHttpVariable();
newDboVar.setName(v.name());
httpTransaction.addVariable(newDboVar);
} catch (EngineException e) {
}
} else if (!check.getSelection() && dboVar != null) {
httpTransaction.removeVariable((RequestableVariable) dboVar);
}
}
for (Iterator<Text> i = customs.iterator(); i.hasNext(); ) {
Text txtName = i.next();
Text txtValue = i.next();
if (txtName.getText().isBlank()) {
continue;
}
DynamicHttpVariable v = (DynamicHttpVariable) txtName.getData(DynamicHttpVariable.class.getName());
try {
RequestableHttpVariable newDboVar = new RequestableHttpVariable();
String name = v.prefix() + txtName.getText();
String normalized = StringUtils.normalize(name);
newDboVar.setName(normalized);
if (!name.equals(normalized)) {
newDboVar.setHttpName(txtName.getText());
}
if (v == DynamicHttpVariable.__POST_) {
newDboVar.setHttpMethod("POST");
}
if (!txtValue.getText().isEmpty()) {
newDboVar.setValueOrNull(txtValue.getText());
}
httpTransaction.addVariable(newDboVar);
} catch (EngineException e) {
}
}
}
use of com.twinsoft.convertigo.beans.variables.RequestableHttpVariable in project convertigo by convertigo.
the class ChangeToSingleValuedVariableAction method run.
@Override
public void run() {
Display display = Display.getDefault();
Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
Shell shell = getParentShell();
shell.setCursor(waitCursor);
try {
ProjectExplorerView explorerView = getProjectExplorerView();
if (explorerView != null) {
TreeObject treeObject = explorerView.getFirstSelectedTreeObject();
TreeParent treeParent = treeObject.getParent();
DatabaseObjectTreeObject parentTreeObject = null;
if (treeParent instanceof DatabaseObjectTreeObject)
parentTreeObject = (DatabaseObjectTreeObject) treeParent;
else
parentTreeObject = (DatabaseObjectTreeObject) treeParent.getParent();
if (parentTreeObject != null) {
Object databaseObject = treeObject.getObject();
if (databaseObject != null) {
Variable multi = (Variable) databaseObject;
Variable simple = null;
if (databaseObject instanceof TestCaseMultiValuedVariable)
simple = new TestCaseVariable();
if (databaseObject instanceof StepMultiValuedVariable)
simple = new StepVariable();
if (databaseObject instanceof RequestableMultiValuedVariable)
simple = new RequestableVariable();
if (databaseObject instanceof RequestableHttpMultiValuedVariable)
simple = new RequestableHttpVariable();
if (databaseObject instanceof HttpStatementMultiValuedVariable)
simple = new HttpStatementVariable();
if (simple != null) {
if (multi instanceof StepMultiValuedVariable) {
((StepVariable) simple).setSourceDefinition(((StepVariable) multi).getSourceDefinition());
}
if (multi instanceof RequestableVariable) {
((RequestableVariable) simple).setXmlTypeAffectation(((RequestableVariable) multi).getXmlTypeAffectation());
}
if (multi instanceof RequestableHttpVariable) {
// HttpName
((RequestableHttpVariable) simple).setHttpName(((RequestableHttpVariable) multi).getHttpName());
// HttpMethod
((RequestableHttpVariable) simple).setHttpMethod(((RequestableHttpVariable) multi).getHttpMethod());
}
XMLVector<Object> xmlv = GenericUtils.cast(multi.getValueOrNull());
Object value = (xmlv == null) ? null : (xmlv.isEmpty() ? "" : xmlv.get(0).toString());
simple.setValueOrNull(value);
simple.setVisibility(multi.getVisibility());
// Comment
simple.setComment(multi.getComment());
// Description
simple.setDescription(multi.getDescription());
// Required
simple.setRequired(multi.isRequired());
simple.bNew = true;
simple.hasChanged = true;
// Add new variable to parent
DatabaseObject parentDbo = multi.getParent();
parentDbo.add(simple);
// Set correct order
if (parentDbo instanceof TestCase)
((TestCase) parentDbo).insertAtOrder(simple, multi.priority);
if (parentDbo instanceof RequestableStep)
((RequestableStep) parentDbo).insertAtOrder(simple, multi.priority);
if (parentDbo instanceof Sequence)
((Sequence) parentDbo).insertAtOrder(simple, multi.priority);
if (parentDbo instanceof TransactionWithVariables)
((TransactionWithVariables) parentDbo).insertAtOrder(simple, multi.priority);
if (parentDbo instanceof HTTPStatement)
((HTTPStatement) parentDbo).insertAtOrder(simple, multi.priority);
// Add new variable in Tree
VariableTreeObject2 varTreeObject = new VariableTreeObject2(explorerView.viewer, simple);
treeParent.addChild(varTreeObject);
// Delete simple variable
multi.delete();
// Set correct name
simple.setName(multi.getName());
parentTreeObject.hasBeenModified(true);
explorerView.reloadTreeObject(parentTreeObject);
explorerView.setSelectedTreeObject(explorerView.findTreeObjectByUserObject(simple));
}
}
}
}
} catch (Throwable e) {
ConvertigoPlugin.logException(e, "Unable to change simple variable to multi valuated variable!");
} finally {
shell.setCursor(null);
waitCursor.dispose();
}
}
use of com.twinsoft.convertigo.beans.variables.RequestableHttpVariable in project convertigo by convertigo.
the class Migration5_0_0 method newVariable.
private static Variable newVariable(String classname, XMLVector<?> xmlv, int index) throws EngineException {
Class<? extends DatabaseObject> beanClass;
try {
beanClass = GenericUtils.cast(Class.forName(classname));
if (AbstractHttpTransaction.class.isAssignableFrom(beanClass)) {
Boolean isMulti = (Boolean) xmlv.get(4);
RequestableHttpVariable variable;
variable = (isMulti ? new RequestableHttpMultiValuedVariable() : new RequestableHttpVariable());
variable.setName((String) xmlv.get(0));
variable.setDescription((String) xmlv.get(1));
variable.setValueOrNull(xmlv.get(2));
variable.setWsdl(((Boolean) xmlv.get(3)));
variable.setPersonalizable(((Boolean) xmlv.get(5)));
variable.setCachedKey(((Boolean) xmlv.get(6)));
variable.setHttpMethod((String) xmlv.get(7));
variable.setHttpName((String) xmlv.get(8));
variable.bNew = true;
variable.hasChanged = true;
return variable;
} else if (TransactionWithVariables.class.isAssignableFrom(beanClass) || Sequence.class.isAssignableFrom(beanClass)) {
Boolean isMulti = (Boolean) xmlv.get(4);
RequestableVariable variable = (isMulti ? new RequestableMultiValuedVariable() : new RequestableVariable());
variable.setName((String) xmlv.get(0));
variable.setDescription((String) xmlv.get(1));
variable.setValueOrNull(xmlv.get(2));
variable.setWsdl(((Boolean) xmlv.get(3)));
variable.setPersonalizable(((Boolean) xmlv.get(5)));
variable.setCachedKey(((Boolean) xmlv.get(6)));
variable.bNew = true;
variable.hasChanged = true;
return variable;
} else if (RequestableStep.class.isAssignableFrom(beanClass)) {
StepVariable variable = new StepVariable();
variable.setName((String) xmlv.get(0));
variable.setDescription((String) xmlv.get(1));
variable.setSourceDefinition(GenericUtils.<XMLVector<String>>cast(xmlv.get(2)));
variable.setValueOrNull(xmlv.get(3));
variable.bNew = true;
variable.hasChanged = true;
return variable;
} else if (com.twinsoft.convertigo.beans.statements.HTTPStatement.class.isAssignableFrom(beanClass)) {
Boolean isMulti = (Boolean) xmlv.get(3);
HttpStatementVariable variable;
variable = (isMulti ? new HttpStatementMultiValuedVariable() : new HttpStatementVariable());
try {
variable.setName((String) xmlv.get(0));
} catch (Exception e) {
variable.setName("variable" + index);
Engine.logDatabaseObjectManager.warn("[Migration 4.6.0] For variable at index " + index + ", empty name has been replaced by 'variable" + index + "'!");
}
variable.setDescription((String) xmlv.get(1));
variable.setValueOrNull(xmlv.get(2));
variable.setHttpMethod((String) xmlv.get(4));
variable.setHttpName((String) xmlv.get(5));
variable.bNew = true;
variable.hasChanged = true;
return variable;
} else {
throw new EngineException("[Migration 4.6.0] Unsupported classname \"" + classname + "\"");
}
} catch (Exception e) {
throw new EngineException("[Migration 4.6.0] Unable to create variable bean", e);
}
}
use of com.twinsoft.convertigo.beans.variables.RequestableHttpVariable in project convertigo by convertigo.
the class EventStatementGenerator method addVariable.
/*protected String addVariable(String name, String value, boolean wsdl){
while(transaction.getVariableDefinitionIndex(name)!= -1){
String base = name;
int count = 1;
int i_ = name.lastIndexOf("_");
if(i_ != -1 && i_+1 < name.length()){
String end = name.substring(i_+1);
try{
count = Integer.parseInt(end) + 1;
base = name.substring(0, i_);
}catch(NumberFormatException e){}
}
name = base + "_" + count;
}
transaction.addVariableDefinition(name, name, value, Boolean.valueOf(wsdl), Boolean.FALSE, Boolean.FALSE, Boolean.TRUE, "GET", "");
transaction.hasChanged = true;
return name;
}*/
protected String addVariable(String name, String value, boolean wsdl) {
while (transaction.getVariable(name) != null) {
String base = name;
int count = 1;
int i_ = name.lastIndexOf("_");
if (i_ != -1 && i_ + 1 < name.length()) {
String end = name.substring(i_ + 1);
try {
count = Integer.parseInt(end) + 1;
base = name.substring(0, i_);
} catch (NumberFormatException e) {
}
}
name = base + "_" + count;
}
RequestableHttpVariable httpVariable = new RequestableHttpVariable();
try {
if (!StringUtils.isNormalized(name))
throw new EngineException("Http variable name is not normalized : \"" + name + "\"");
httpVariable.setName(name);
httpVariable.setDescription(name);
httpVariable.setValueOrNull(value);
httpVariable.setWsdl(Boolean.valueOf(wsdl));
httpVariable.setCachedKey(Boolean.TRUE);
httpVariable.setHttpMethod("GET");
transaction.addVariable(httpVariable);
transaction.hasChanged = true;
} catch (EngineException e) {
}
return name;
}
use of com.twinsoft.convertigo.beans.variables.RequestableHttpVariable in project convertigo by convertigo.
the class WsReference method getVariableName.
private static String getVariableName(List<RequestableHttpVariable> variables, String name) {
String variableName = StringUtils.normalize(name);
int index = 1;
for (RequestableHttpVariable variable : variables) {
if (variable.getName().equals(variableName)) {
variableName += "_" + index;
index++;
continue;
}
}
return variableName;
}
Aggregations