use of org.wso2.siddhi.annotation.Parameter in project ballerina by ballerina-lang.
the class DocumentationTest method testDocNativeFunction.
@Test(description = "Test doc native function.")
public void testDocNativeFunction() {
CompileResult compileResult = BCompileUtil.compile("test-src/documentation/native_function.bal", CompilerPhase.TYPE_CHECK);
Assert.assertEquals(1, compileResult.getWarnCount());
BAssertUtil.validateWarning(compileResult, 0, "no such documentable attribute 'successful' with doc prefix 'P'", 6, 1);
PackageNode packageNode = compileResult.getAST();
List<BLangDocumentation> docNodes = ((BLangFunction) packageNode.getFunctions().get(0)).docAttachments;
BLangDocumentation dNode = docNodes.get(0);
Assert.assertNotNull(dNode);
Assert.assertEquals(dNode.documentationText, "\n" + "Gets a access parameter value (`true` or `false`) for a given key. " + "Please note that #foo will always be bigger than #bar.\n" + "Example:\n" + "``SymbolEnv pkgEnv = symbolEnter.packageEnvs.get(pkgNode.symbol);``\n");
Assert.assertEquals(dNode.getAttributes().size(), 2);
Assert.assertEquals(dNode.getAttributes().get(0).documentationField.getValue(), "accessMode");
Assert.assertEquals(dNode.getAttributes().get(0).documentationText, " read or write mode\n");
Assert.assertEquals(dNode.getAttributes().get(1).documentationField.getValue(), "successful");
Assert.assertEquals(dNode.getAttributes().get(1).documentationText, " boolean `true` or `false`\n");
}
use of org.wso2.siddhi.annotation.Parameter in project ballerina by ballerina-lang.
the class ParserUtils method createNewConnector.
/**
* Create new connector.
*
* @param name name of the connector
* @param annotations list of annotation
* @param actions list of actions
* @param params list of params
* @param returnParams list of return params
* @return {Connector} connector
*/
private static Connector createNewConnector(String name, List<AnnotationAttachment> annotations, List<Action> actions, List<Parameter> params, List<Parameter> returnParams, String fileName) {
Connector connector = new Connector();
connector.setName(name);
connector.setActions(actions);
connector.setParameters(params);
connector.setAnnotations(annotations);
connector.setReturnParameters(returnParams);
connector.setFileName(fileName);
return connector;
}
use of org.wso2.siddhi.annotation.Parameter in project ballerina by ballerina-lang.
the class ParserUtils method extractFunction.
/**
* Extract Functions from ballerina lang.
*
* @param packages packages to send.
* @param packagePath package path
* @param function function.
*/
private static void extractFunction(Map<String, ModelPackage> packages, String packagePath, BLangFunction function) {
String fileName = function.getPosition().getSource().getCompilationUnitName();
if (packages.containsKey(packagePath)) {
ModelPackage modelPackage = packages.get(packagePath);
List<Parameter> parameters = new ArrayList<>();
addParameters(parameters, function.getParameters());
List<Parameter> returnParameters = new ArrayList<>();
addParameters(returnParameters, function.getReturnParameters());
List<AnnotationAttachment> annotations = new ArrayList<>();
addAnnotations(annotations, function.getAnnotationAttachments());
String receiverType = getReceiverType(function.getReceiver());
// Check if the function is public or not
boolean isPublic = function.getFlags().contains(Flag.PUBLIC);
modelPackage.addFunctionsItem(createNewFunction(function.getName().getValue(), annotations, parameters, returnParameters, receiverType, isPublic, fileName));
} else {
ModelPackage modelPackage = new ModelPackage();
modelPackage.setName(packagePath);
List<Parameter> parameters = new ArrayList<>();
addParameters(parameters, function.getParameters());
List<Parameter> returnParameters = new ArrayList<>();
addParameters(returnParameters, function.getReturnParameters());
List<AnnotationAttachment> annotations = new ArrayList<>();
addAnnotations(annotations, function.getAnnotationAttachments());
String receiverType = getReceiverType(function.getReceiver());
// Check if the function is public or not
boolean isPublic = function.getFlags().contains(Flag.PUBLIC);
modelPackage.addFunctionsItem(createNewFunction(function.getName().getValue(), annotations, parameters, returnParameters, receiverType, isPublic, fileName));
packages.put(packagePath, modelPackage);
}
}
use of org.wso2.siddhi.annotation.Parameter in project ballerina by ballerina-lang.
the class ParserUtils method extractConnector.
/**
* Extract connectors from ballerina lang.
*
* @param packages packages to send
* @param connector connector
*/
private static void extractConnector(Map<String, ModelPackage> packages, String packagePath, BLangConnector connector) {
String fileName = connector.getPosition().getSource().getCompilationUnitName();
if (packages.containsKey(packagePath)) {
ModelPackage modelPackage = packages.get(packagePath);
List<Parameter> parameters = new ArrayList<>();
addParameters(parameters, connector.getParameters());
List<AnnotationAttachment> annotations = new ArrayList<>();
addAnnotations(annotations, connector.getAnnotationAttachments());
List<Action> actions = new ArrayList<>();
addActions(actions, connector.getActions());
modelPackage.addConnectorsItem(createNewConnector(connector.getName().getValue(), annotations, actions, parameters, null, fileName));
} else {
ModelPackage modelPackage = new ModelPackage();
modelPackage.setName(packagePath);
List<Parameter> parameters = new ArrayList<>();
addParameters(parameters, connector.getParameters());
List<AnnotationAttachment> annotations = new ArrayList<>();
addAnnotations(annotations, connector.getAnnotationAttachments());
List<Action> actions = new ArrayList<>();
addActions(actions, connector.getActions());
modelPackage.addConnectorsItem(createNewConnector(connector.getName().getValue(), annotations, actions, parameters, null, fileName));
packages.put(packagePath, modelPackage);
}
}
use of org.wso2.siddhi.annotation.Parameter in project ballerina by ballerina-lang.
the class ParserUtils method createNewAction.
/**
* Create new action.
*
* @param name action name
* @param params list of params
* @param returnParams list of return params
* @param annotations list of annotations
* @return {Action} action
*/
private static Action createNewAction(String name, List<Parameter> params, List<Parameter> returnParams, List<AnnotationAttachment> annotations, String fileName) {
Action action = new Action();
action.setName(name);
action.setParameters(params);
action.setReturnParams(returnParams);
action.setAnnotations(annotations);
action.setFileName(fileName);
return action;
}
Aggregations