use of org.apache.woden.wsdl20.Service in project openstack4j by ContainX.
the class BaseOpenStackService method getServiceVersion.
@SuppressWarnings("rawtypes")
protected int getServiceVersion() {
OSClientSession session = OSClientSession.getCurrent();
if (session.getAuthVersion() == AuthVersion.V3) {
SortedSet<? extends Service> services = ((OSClientSession.OSClientSessionV3) session).getToken().getAggregatedCatalog().get(serviceType.getType());
Service service = ((OSClientSession.OSClientSessionV3) session).getToken().getAggregatedCatalog().get(serviceType.getType()).first();
if (services.isEmpty()) {
return 1;
}
return service.getVersion();
} else {
SortedSet<? extends Access.Service> services = ((OSClientSession.OSClientSessionV2) session).getAccess().getAggregatedCatalog().get(serviceType.getType());
Access.Service service = ((OSClientSession.OSClientSessionV2) session).getAccess().getAggregatedCatalog().get(serviceType.getType()).first();
if (services.isEmpty()) {
return 1;
}
return service.getVersion();
}
}
use of org.apache.woden.wsdl20.Service in project carbon-apimgt by wso2.
the class WSDL20ProcessorImpl method updateEndpointsOfSingleWSDL.
/**
* Update the endpoint information of the provided WSDL definition when an API and the environment details are
* provided
*
* @param api API
* @param environmentName name of the gateway environment
* @param environmentType type of the gateway environment
* @param wsdlDescription WSDL 2.0 definition
* @throws APIMgtWSDLException when error occurred while updating the endpoints
*/
private void updateEndpointsOfSingleWSDL(API api, String environmentName, String environmentType, Description wsdlDescription) throws APIMgtWSDLException {
Service[] serviceMap = wsdlDescription.getServices();
String organization = api.getOrganization();
try {
for (Service svc : serviceMap) {
Endpoint[] portMap = svc.getEndpoints();
for (Endpoint endpoint : portMap) {
EndpointElement element = endpoint.toElement();
String endpointTransport = determineURLTransport(endpoint.getAddress().getScheme(), api.getTransports());
setAddressUrl(element, new URI(APIUtil.getGatewayEndpoint(endpointTransport, environmentName, environmentType, organization) + api.getContext()));
}
}
} catch (URISyntaxException | APIManagementException e) {
throw new APIMgtWSDLException("Error while setting gateway access URLs in the WSDL", e);
}
}
use of org.apache.woden.wsdl20.Service in project carbon-apimgt by wso2.
the class WSDL20ProcessorImpl method getEndpoints.
/**
* Get endpoints defined in the provided WSDL description.
*
* @param description WSDL 2.0 description
* @return a Map of endpoint names and their URIs.
* @throws APIMgtWSDLException if error occurs while reading endpoints
*/
private Map<String, String> getEndpoints(Description description) throws APIMgtWSDLException {
Service[] services = description.getServices();
Map<String, String> serviceEndpointMap = new HashMap<>();
for (Service service : services) {
Endpoint[] endpoints = service.getEndpoints();
for (Endpoint endpoint : endpoints) {
serviceEndpointMap.put(endpoint.getName().toString(), endpoint.getAddress().toString());
}
}
return serviceEndpointMap;
}
use of org.apache.woden.wsdl20.Service in project carbon-apimgt by wso2.
the class APIMWSDLReader method updateWSDL2.
/**
* Update WSDL 2.0 service definitions saved in registry
*
* @param wsdl byte array of wsdl definition saved in registry
* @param api API object
* @return the OMElemnt of the new WSDL content
* @throws APIManagementException
*/
public OMElement updateWSDL2(byte[] wsdl, API api) throws APIManagementException {
try {
// Generate wsdl document from registry data
DocumentBuilderFactory factory = getSecuredDocumentBuilder();
DocumentBuilder builder = factory.newDocumentBuilder();
org.apache.woden.WSDLFactory wsdlFactory = org.apache.woden.WSDLFactory.newInstance();
org.apache.woden.WSDLReader reader = wsdlFactory.newWSDLReader();
reader.setFeature(org.apache.woden.WSDLReader.FEATURE_VALIDATION, false);
Document dom = builder.parse(new ByteArrayInputStream(wsdl));
Element domElement = dom.getDocumentElement();
WSDLSource wsdlSource = reader.createWSDLSource();
wsdlSource.setSource(domElement);
org.apache.woden.wsdl20.Description wsdlDefinition = reader.readWSDL(wsdlSource);
// Update transports
setServiceDefinitionForWSDL2(wsdlDefinition, api);
org.apache.woden.WSDLWriter writer = org.apache.woden.WSDLFactory.newInstance().newWSDLWriter();
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
writer.writeWSDL(wsdlDefinition.toElement(), byteArrayOutputStream);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
return APIUtil.buildOMElement(byteArrayInputStream);
} catch (Exception e) {
String msg = " Error occurs when updating WSDL ";
log.error(msg, e);
throw new APIManagementException(msg, e);
}
}
use of org.apache.woden.wsdl20.Service in project webtools.servertools by eclipse.
the class Tomcat40Configuration method modifyServerPort.
/**
* Modify the port with the given id.
*
* @param id java.lang.String
* @param port int
*/
public void modifyServerPort(String id, int port) {
try {
if ("server".equals(id)) {
server.setPort(port + "");
isServerDirty = true;
firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
return;
}
int i = id.indexOf("/");
// If a connector in the instance Service
if (i < 0) {
int connNum = Integer.parseInt(id);
Connector connector = serverInstance.getConnector(connNum);
if (connector != null) {
connector.setPort(port + "");
isServerDirty = true;
firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
}
} else // Else a connector in another Service
{
int servNum = Integer.parseInt(id.substring(0, i));
int connNum = Integer.parseInt(id.substring(i + 1));
Service service = server.getService(servNum);
Connector connector = service.getConnector(connNum);
connector.setPort(port + "");
isServerDirty = true;
firePropertyChangeEvent(MODIFY_PORT_PROPERTY, id, new Integer(port));
}
} catch (Exception e) {
Trace.trace(Trace.SEVERE, "Error modifying server port " + id, e);
}
}
Aggregations