Search in sources :

Example 71 with Link

use of org.wso2.carbon.bpel.ui.bpel2svg.Link in project ballerina by ballerina-lang.

the class SignatureHelpUtil method getSignatureInformation.

/**
 * Get the signature information for the given Ballerina function.
 *
 * @param bInvokableSymbol BLang Invokable symbol
 * @param signatureContext Signature operation context
 * @return {@link SignatureInformation}     Signature information for the function
 */
private static SignatureInformation getSignatureInformation(BInvokableSymbol bInvokableSymbol, TextDocumentServiceContext signatureContext) {
    List<ParameterInformation> parameterInformationList = new ArrayList<>();
    SignatureInformation signatureInformation = new SignatureInformation();
    SignatureInfoModel signatureInfoModel = getSignatureInfoModel(bInvokableSymbol, signatureContext);
    String functionName = bInvokableSymbol.getName().getValue();
    // Join the function parameters to generate the function's signature
    String paramsJoined = signatureInfoModel.getParameterInfoModels().stream().map(parameterInfoModel -> {
        // For each of the parameters, create a parameter info instance
        ParameterInformation parameterInformation = new ParameterInformation(parameterInfoModel.paramValue, parameterInfoModel.description);
        parameterInformationList.add(parameterInformation);
        return parameterInfoModel.toString();
    }).collect(Collectors.joining(", "));
    signatureInformation.setLabel(functionName + "(" + paramsJoined + ")");
    signatureInformation.setParameters(parameterInformationList);
    signatureInformation.setDocumentation(signatureInfoModel.signatureDescription);
    return signatureInformation;
}
Also used : Arrays(java.util.Arrays) HashMap(java.util.HashMap) BLangRecordLiteral(org.wso2.ballerinalang.compiler.tree.expressions.BLangRecordLiteral) Stack(java.util.Stack) ArrayList(java.util.ArrayList) DocTag(org.ballerinalang.model.elements.DocTag) SymbolInfo(org.ballerinalang.langserver.completions.SymbolInfo) Map(java.util.Map) Position(org.eclipse.lsp4j.Position) BInvokableSymbol(org.wso2.ballerinalang.compiler.semantics.model.symbols.BInvokableSymbol) DocumentServiceKeys(org.ballerinalang.langserver.DocumentServiceKeys) BLangPackage(org.wso2.ballerinalang.compiler.tree.BLangPackage) BLangSimpleVarRef(org.wso2.ballerinalang.compiler.tree.expressions.BLangSimpleVarRef) TextDocumentServiceContext(org.ballerinalang.langserver.TextDocumentServiceContext) ParameterInformation(org.eclipse.lsp4j.ParameterInformation) BLangExpression(org.wso2.ballerinalang.compiler.tree.expressions.BLangExpression) BLangDocumentation(org.wso2.ballerinalang.compiler.tree.BLangDocumentation) BLangFunction(org.wso2.ballerinalang.compiler.tree.BLangFunction) SignatureInformation(org.eclipse.lsp4j.SignatureInformation) Collectors(java.util.stream.Collectors) SignatureHelp(org.eclipse.lsp4j.SignatureHelp) Objects(java.util.Objects) List(java.util.List) BLangLiteral(org.wso2.ballerinalang.compiler.tree.expressions.BLangLiteral) UtilSymbolKeys(org.ballerinalang.langserver.common.UtilSymbolKeys) CompilerContext(org.wso2.ballerinalang.compiler.util.CompilerContext) SignatureInformation(org.eclipse.lsp4j.SignatureInformation) ArrayList(java.util.ArrayList) ParameterInformation(org.eclipse.lsp4j.ParameterInformation)

Example 72 with Link

use of org.wso2.carbon.bpel.ui.bpel2svg.Link in project ballerina by ballerina-lang.

the class HtmlDocTest method testMultiPackage.

@Test(description = "Multiple packages should be shown even when one page is generated")
public void testMultiPackage() throws Exception {
    List<Link> packages = new ArrayList<>();
    packages.add(new Link(new PackageName("a.b.c", ""), "", false));
    packages.add(new Link(new PackageName("x.y", ""), "", false));
    packages.add(new Link(new PackageName("x.y.z", ""), "", false));
    BLangPackage bLangPackage = createPackage("package x.y;");
    Page page = Generator.generatePage(bLangPackage, packages);
    Assert.assertEquals(page.links.size(), 3);
    Assert.assertFalse(page.links.get(0).active);
    Assert.assertTrue(page.links.get(1).active);
}
Also used : BLangPackage(org.wso2.ballerinalang.compiler.tree.BLangPackage) PackageName(org.ballerinalang.docgen.model.PackageName) ArrayList(java.util.ArrayList) Page(org.ballerinalang.docgen.model.Page) Link(org.ballerinalang.docgen.model.Link) Test(org.testng.annotations.Test)

Example 73 with Link

use of org.wso2.carbon.bpel.ui.bpel2svg.Link in project carbon-business-process by wso2.

the class ProcessManagementServiceSkeleton method fillPartnerLinks.

// private java.lang.String[] getServiceLocationForProcess(QName processId)
// throws ProcessManagementException {
// AxisConfiguration axisConf = getConfigContext().getAxisConfiguration();
// Map<String, AxisService> services = axisConf.getServices();
// ArrayList<String> serviceEPRs = new ArrayList<String>();
// 
// for (AxisService service : services.values()) {
// Parameter pIdParam = service.getParameter(BPELConstants.PROCESS_ID);
// if (pIdParam != null) {
// if (pIdParam.getValue().equals(processId)) {
// serviceEPRs.addAll(Arrays.asList(service.getEPRs()));
// }
// }
// }
// 
// if (serviceEPRs.size() > 0) {
// return serviceEPRs.toArray(new String[serviceEPRs.size()]);
// }
// 
// String errMsg = "Cannot find service for process: " + processId;
// log.error(errMsg);
// throw new ProcessManagementException(errMsg);
// }
private void fillPartnerLinks(ProcessInfoType pInfo, TDeployment.Process processInfo) throws ProcessManagementException {
    if (processInfo.getProvideList() != null) {
        EndpointReferencesType eprsType = new EndpointReferencesType();
        for (TProvide provide : processInfo.getProvideList()) {
            String plinkName = provide.getPartnerLink();
            TService service = provide.getService();
            /* NOTE:Service cannot be null for provider partner link*/
            if (service == null) {
                String errorMsg = "Error in <provide> element for process " + processInfo.getName() + " partnerlink" + plinkName + " did not identify an endpoint";
                log.error(errorMsg);
                throw new ProcessManagementException(errorMsg);
            }
            if (log.isDebugEnabled()) {
                log.debug("Processing <provide> element for process " + processInfo.getName() + ": partnerlink " + plinkName + " --> " + service.getName() + " : " + service.getPort());
            }
            QName serviceName = service.getName();
            EndpointRef_type0 eprType = new EndpointRef_type0();
            eprType.setPartnerLink(plinkName);
            eprType.setService(serviceName);
            ServiceLocation sLocation = new ServiceLocation();
            try {
                String url = Utils.getTryitURL(serviceName.getLocalPart(), getConfigContext());
                sLocation.addServiceLocation(url);
                String[] wsdls = Utils.getWsdlInformation(serviceName.getLocalPart(), getConfigContext().getAxisConfiguration());
                if (wsdls.length == 2) {
                    if (wsdls[0].endsWith("?wsdl")) {
                        sLocation.addServiceLocation(wsdls[0]);
                    } else {
                        sLocation.addServiceLocation(wsdls[1]);
                    }
                }
            } catch (AxisFault axisFault) {
                String errMsg = "Error while getting try-it url for the service: " + serviceName;
                log.error(errMsg, axisFault);
                throw new ProcessManagementException(errMsg, axisFault);
            }
            eprType.setServiceLocations(sLocation);
            eprsType.addEndpointRef(eprType);
        }
        pInfo.setEndpoints(eprsType);
    }
// if (processInfo.getInvokeList() != null) {
// for (TInvoke invoke : processInfo.getInvokeList()) {
// String plinkName = invoke.getPartnerLink();
// TService service = invoke.getService();
// /* NOTE:Service can be null for partner links*/
// if (service == null) {
// continue;
// }
// if (log.isDebugEnabled()) {
// log.debug("Processing <invoke> element for process " + processInfo.getName() + ": partnerlink" +
// plinkName + " -->" + service);
// }
// 
// QName serviceName = service.getName();
// }
// }
}
Also used : AxisFault(org.apache.axis2.AxisFault) QName(javax.xml.namespace.QName) ServiceLocation(org.wso2.carbon.bpel.skeleton.ode.integration.mgt.services.types.ServiceLocation) EndpointReferencesType(org.wso2.carbon.bpel.skeleton.ode.integration.mgt.services.types.EndpointReferencesType) EndpointRef_type0(org.wso2.carbon.bpel.skeleton.ode.integration.mgt.services.types.EndpointRef_type0) TProvide(org.apache.ode.bpel.dd.TProvide) TService(org.apache.ode.bpel.dd.TService) ProcessManagementException(org.wso2.carbon.bpel.skeleton.ode.integration.mgt.services.ProcessManagementException)

Example 74 with Link

use of org.wso2.carbon.bpel.ui.bpel2svg.Link in project carbon-business-process by wso2.

the class ProcessImpl method getLinkArrows.

/**
 * Gets the Link arrow coordinates when there is a FLOW activity in the process
 *
 * @param doc SVG document which defines the components including shapes, gradients etc. of the process
 * @return An element which contains the link arrow coordinates of the Process
 */
private Element getLinkArrows(SVGDocument doc) {
    Element group = doc.createElementNS(SVGNamespace.SVG_NAMESPACE, "g");
    // Checks whether the any links exist
    if (links != null && !links.isEmpty()) {
        // Returns a collection-view of the map with the link names, sources(starting activity) and the target
        // (ending activity)
        Set linksSet = links.entrySet();
        Iterator linksIterator = linksSet.iterator();
        // Iterates through the links
        while (linksIterator.hasNext()) {
            Map.Entry<String, Link> link = (Map.Entry<String, Link>) linksIterator.next();
            // Gets the source/start activity of the link
            ActivityInterface startActivity = link.getValue().getSource();
            // Gets the target/end activity of the link
            ActivityInterface endActivity = link.getValue().getTarget();
            // Get the link name
            String linkName = link.getKey();
            // Check if the source and the target of the link contains a value
            if (endActivity != null && startActivity != null) {
                // Define the link flow/path by giving the coordinates of the start and end activity
                group.appendChild(drawLink(doc, startActivity.getExitArrowCoords().getXLeft(), startActivity.getExitArrowCoords().getYTop(), endActivity.getEntryArrowCoords().getXLeft(), endActivity.getEntryArrowCoords().getYTop(), startActivity.getStartIconWidth(), link.getKey(), linkName));
            }
        }
    }
    return group;
}
Also used : Set(java.util.Set) ActivityInterface(org.wso2.carbon.bpel.ui.bpel2svg.ActivityInterface) OMElement(org.apache.axiom.om.OMElement) Element(org.w3c.dom.Element) Iterator(java.util.Iterator) Map(java.util.Map) Link(org.wso2.carbon.bpel.ui.bpel2svg.Link)

Example 75 with Link

use of org.wso2.carbon.bpel.ui.bpel2svg.Link in project carbon-business-process by wso2.

the class ActivityImpl method processSubActivities.

/**
 * Get the subactivites in the bpel process
 * Processes the subActivities each one separately, if the activity name matches any of the element tags
 * then the constructor of that activity implementation is invoked
 *
 * @param omElement process definition of the bpel process
 * @return activity
 */
public ActivityInterface processSubActivities(OMElement omElement) {
    ActivityInterface endActivity = null;
    // Checks whether omElement contains a value
    if (omElement != null) {
        ActivityInterface activity = null;
        Iterator iterator = omElement.getChildElements();
        // Iterates through the subActivities
        while (iterator.hasNext()) {
            OMElement tmpElement = (OMElement) iterator.next();
            if (tmpElement.getLocalName().equals(BPEL2SVGFactory.ASSIGN_START_TAG) && isIncludeAssigns()) {
                activity = new AssignImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.EMPTY_START_TAG)) {
                activity = new EmptyImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.CATCHALL_START_TAG)) {
                activity = new CatchAllImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.CATCH_START_TAG)) {
                activity = new CatchImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.COMPENSATESCOPE_START_TAG)) {
                activity = new CompensateScopeImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.COMPENSATE_START_TAG)) {
                activity = new CompensateImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.COMPENSATIONHANDLER_START_TAG)) {
                activity = new CompensationHandlerImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.ELSEIF_START_TAG)) {
                activity = new ElseIfImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.ELSE_START_TAG)) {
                activity = new ElseImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.EVENTHANDLER_START_TAG)) {
                activity = new EventHandlerImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.EXIT_START_TAG)) {
                activity = new ExitImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.FAULTHANDLER_START_TAG)) {
                activity = new FaultHandlerImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.FLOW_START_TAG)) {
                activity = new FlowImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.FOREACH_START_TAG)) {
                activity = new ForEachImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.IF_START_TAG)) {
                activity = new IfImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.INVOKE_START_TAG)) {
                activity = new InvokeImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.ONALARM_START_TAG)) {
                activity = new OnAlarmImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.ONEVENT_START_TAG)) {
                activity = new OnEventImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.ONMESSAGE_START_TAG)) {
                activity = new OnMessageImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.PICK_START_TAG)) {
                activity = new PickImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.PROCESS_START_TAG)) {
                activity = new ProcessImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.RECEIVE_START_TAG)) {
                activity = new ReceiveImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.REPEATUNTIL_START_TAG)) {
                activity = new RepeatUntilImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.REPLY_START_TAG)) {
                activity = new ReplyImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.RETHROW_START_TAG)) {
                activity = new ReThrowImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.SCOPE_START_TAG)) {
                activity = new ScopeImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.SEQUENCE_START_TAG)) {
                activity = new SequenceImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.SOURCE_START_TAG)) {
                // source
                activity = new SourceImpl(tmpElement, this);
                if (activity.getAttributes().get(0).getAttribute().equals("linkName")) {
                    if (links.containsKey(activity.getAttributes().get(0).getValue())) {
                        // if a entry for the particular link name already exists
                        links.get(activity.getAttributes().get(0).getValue()).setSource(this.parent);
                    } else {
                        // if the link name doesnot exist i.e. if the link is a new link
                        // Create a new Link object
                        Link link = new Link();
                        // Set the source(Start activity) as the parent activity
                        link.setSource(this.parent);
                        links.put(activity.getAttributes().get(0).getValue(), link);
                    }
                    // Add the parent activity of the activity to the source-list
                    sources.add(this.parent);
                }
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.SOURCES_START_TAG)) {
                activity = new SourcesImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.TARGET_START_TAG)) {
                // target;
                activity = new TargetImpl(tmpElement, this);
                if (activity.getAttributes().get(0).getAttribute().equals("linkName")) {
                    if (links.containsKey(activity.getAttributes().get(0).getValue())) {
                        // if a entry for the particular link name already exists
                        links.get(activity.getAttributes().get(0).getValue()).setTarget(this.parent);
                    } else {
                        // if the link name doesnot exist i.e. if the link is a new link
                        // Create a new Link object
                        Link link = new Link();
                        // Set the target(End activity) as the parent activity
                        link.setTarget(this.parent);
                        links.put(activity.getAttributes().get(0).getValue(), link);
                    }
                    // Add the parent activity of the activity to the target-list
                    targets.add(this.parent);
                }
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.TARGETS_START_TAG)) {
                activity = new TargetsImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.TERMINATIONHANDLER_START_TAG)) {
                activity = new TerminationHandlerImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.THROW_START_TAG)) {
                activity = new ThrowImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.WAIT_START_TAG)) {
                activity = new WaitImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(BPEL2SVGFactory.WHILE_START_TAG)) {
                activity = new WhileImpl(tmpElement, this);
            } else if (tmpElement.getLocalName().equals(getEndTag())) {
                break;
            } else {
                continue;
            }
            // Set the link properties i.e. the link name, source of the link and the target of the link
            activity.setLinkProperties(links, sources, targets);
            // Add the activity to the subActivities list
            subActivities.add(activity);
            // Checks if the activity has any child activities
            if (tmpElement.getChildElements().hasNext()) {
                // The child activities are processed again by invoking the same method recursively
                ActivityInterface replyActivity = activity.processSubActivities(tmpElement);
                if (replyActivity != null) {
                    subActivities.add(replyActivity);
                }
            }
            if (tmpElement.getLocalName().equals(BPEL2SVGFactory.PROCESS_START_TAG)) {
                break;
            }
        }
    }
    return endActivity;
}
Also used : OMElement(org.apache.axiom.om.OMElement) Iterator(java.util.Iterator) ActivityInterface(org.wso2.carbon.bpel.ui.bpel2svg.ActivityInterface) Link(org.wso2.carbon.bpel.ui.bpel2svg.Link)

Aggregations

PreparedStatement (java.sql.PreparedStatement)47 ArrayList (java.util.ArrayList)47 Connection (java.sql.Connection)43 SQLException (java.sql.SQLException)41 ResultSet (java.sql.ResultSet)37 APIMgtDAOException (org.wso2.carbon.apimgt.core.exception.APIMgtDAOException)26 BLangPackage (org.wso2.ballerinalang.compiler.tree.BLangPackage)18 HashSet (java.util.HashSet)16 APIManagementException (org.wso2.carbon.apimgt.core.exception.APIManagementException)15 IOException (java.io.IOException)14 HashMap (java.util.HashMap)14 List (java.util.List)13 Map (java.util.Map)13 Expression (org.wso2.siddhi.query.api.expression.Expression)13 CompilerContext (org.wso2.ballerinalang.compiler.util.CompilerContext)12 TimeConstant (org.wso2.siddhi.query.api.expression.constant.TimeConstant)12 DiagnosticPos (org.wso2.ballerinalang.compiler.util.diagnotic.DiagnosticPos)11 API (org.wso2.carbon.apimgt.core.models.API)11 UserStoreException (org.wso2.carbon.user.api.UserStoreException)10 SiddhiQLParser (org.wso2.siddhi.query.compiler.SiddhiQLParser)10