Hi ddellsperger,
Thank you for response. after changing build number also still i am getting same old deployment logic only and also some time not giving the output.
package com.snaplogic.snaps.train;
import com.google.inject.Inject;
import com.snaplogic.api.ConfigurationException;
import com.snaplogic.api.ExecutionException;
import com.snaplogic.api.Snap;
import com.snaplogic.common.properties.Suggestions;
import com.snaplogic.common.properties.builders.PropertyBuilder;
import com.snaplogic.common.properties.builders.SuggestionBuilder;
import com.snaplogic.snap.api.DocumentUtility;
import com.snaplogic.snap.api.OutputViews;
import com.snaplogic.snap.api.PropertyCategory;
import com.snaplogic.snap.api.PropertyValues;
import com.snaplogic.snap.api.SnapCategory;
import com.snaplogic.snap.api.capabilities.Category;
import com.snaplogic.snap.api.capabilities.Errors;
import com.snaplogic.snap.api.capabilities.General;
import com.snaplogic.snap.api.capabilities.Inputs;
import com.snaplogic.snap.api.capabilities.Outputs;
import com.snaplogic.snap.api.capabilities.Version;
import com.snaplogic.snap.api.capabilities.ViewType;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* This Snap has one output and writes one document that contains the suggested
* value.
*
* <p>This snap demonstrates the suggest value functionality that uses the
* partial configuration information to suggest a property value.</p>
*/
@Version(snap = 1)
@General(title = "Test", purpose = "Demo functionality.",
author = "Your Company Name", docLink = "http://yourdocslinkhere.com")
@Inputs(min = 0, max = 1, accepts = {ViewType.DOCUMENT})
@Outputs(min = 1, max = 1, offers = {ViewType.DOCUMENT})
@Errors(min = 1, max = 1, offers = {ViewType.DOCUMENT})
@Category(snap = SnapCategory.READ)
public class Suggest implements Snap {
public static final String PROP_ECHO = "echo";
public static String api = "https://sometest-ex.test.com/export/";
public static String ExpItem = "EZX_Snap_Export_Item";
public static String ExpItemLMD = "EZX_Snap_Export_Item_LMD";
public static String ExpItemLCD = "EZX_Snap_Export_LCD";
public String end = "";
private String valueToWrite;
@Inject
private DocumentUtility documentUtility;
@Inject
private OutputViews outputViews;
@Override
public void defineProperties(final PropertyBuilder propertyBuilder) {
propertyBuilder.describe(PROP_ECHO, PROP_ECHO)
.withSuggestions(new Suggestions() {
@Override
public void suggest(SuggestionBuilder suggestionBuilder,
PropertyValues propertyValues) {
suggestionBuilder.node(PROP_ECHO).suggestions("Export Item", "Export Item_LMD", "Export Item_LCD");
}
}).add();
}
@Override
public void configure(final PropertyValues propertyValues) throws ConfigurationException {
valueToWrite = propertyValues.get(PROP_ECHO);
}
@Override
public void execute() throws ExecutionException {
switch (valueToWrite) {
case "Export Item":
api += ExpItem;
break;
case "Export Item_LMD":
api += ExpItemLMD;
break;
case "Export Item_LCD":
api += ExpItemLCD;
break;
default:
// No op
}
Map<String, String> data = new LinkedHashMap<String, String>() {{
put("key", api);
}};
outputViews.write(documentUtility.newDocument(data));
}
@Override
public void cleanup() throws ExecutionException {
// NOOP
}
}
This is my code.