use of com.google.cloud.servicedirectory.v1.Endpoint 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 com.google.cloud.servicedirectory.v1.Endpoint in project brave by openzipkin.
the class Platform method produceEndpoint.
Endpoint produceEndpoint() {
Endpoint.Builder builder = Endpoint.newBuilder().serviceName("unknown");
try {
Enumeration<NetworkInterface> nics = NetworkInterface.getNetworkInterfaces();
if (nics == null)
return builder.build();
while (nics.hasMoreElements()) {
NetworkInterface nic = nics.nextElement();
Enumeration<InetAddress> addresses = nic.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress address = addresses.nextElement();
if (address.isSiteLocalAddress()) {
builder.ip(address);
break;
}
}
}
} catch (Exception e) {
// don't crash the caller if there was a problem reading nics.
if (logger.isLoggable(Level.FINE)) {
logger.log(Level.FINE, "error reading nics", e);
}
}
return builder.build();
}
use of com.google.cloud.servicedirectory.v1.Endpoint in project brave by openzipkin.
the class PlatformTest method localEndpoint_provisionsOnce.
/**
* Getting an endpoint is expensive. This tests it is provisioned only once.
*
* test inspired by dagger.internal.DoubleCheckTest
*/
@Test
public void localEndpoint_provisionsOnce() throws Exception {
// create all the tasks up front so that they are executed with no delay
List<Callable<Endpoint>> tasks = new ArrayList<>();
for (int i = 0; i < 10; i++) {
tasks.add(() -> platform.endpoint());
}
ExecutorService executor = Executors.newFixedThreadPool(tasks.size());
List<Future<Endpoint>> futures = executor.invokeAll(tasks);
// check there's only a single unique endpoint returned
Set<Object> results = Sets.newIdentityHashSet();
for (Future<Endpoint> future : futures) {
results.add(future.get());
}
assertThat(results).hasSize(1);
executor.shutdownNow();
}
use of com.google.cloud.servicedirectory.v1.Endpoint in project instrumentation-java by census-instrumentation.
the class ZipkinExporterHandler method produceLocalEndpoint.
/**
* Logic borrowed from brave.internal.Platform.produceLocalEndpoint
*/
static Endpoint produceLocalEndpoint(String serviceName) {
Endpoint.Builder builder = Endpoint.newBuilder().serviceName(serviceName);
try {
Enumeration<NetworkInterface> nics = NetworkInterface.getNetworkInterfaces();
if (nics == null) {
return builder.build();
}
while (nics.hasMoreElements()) {
NetworkInterface nic = nics.nextElement();
Enumeration<InetAddress> addresses = nic.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress address = addresses.nextElement();
if (address.isSiteLocalAddress()) {
builder.ip(address);
break;
}
}
}
} catch (Exception e) {
// don't crash the caller if there was a problem reading nics.
if (logger.isLoggable(Level.FINE)) {
logger.log(Level.FINE, "error reading nics", e);
}
}
return builder.build();
}
use of com.google.cloud.servicedirectory.v1.Endpoint in project openstack4j by ContainX.
the class DefaultEndpointURLResolver method resolveV2.
private String resolveV2(URLResolverParams p) {
SortedSetMultimap<String, ? extends Access.Service> catalog = p.access.getAggregatedCatalog();
SortedSet<? extends Access.Service> services = catalog.get(p.type.getServiceName());
if (services.isEmpty()) {
services = catalog.get(p.type.getType());
}
if (!services.isEmpty()) {
Access.Service sc = p.getV2Resolver().resolveV2(p.type, services);
for (org.openstack4j.model.identity.v2.Endpoint ep : sc.getEndpoints()) {
if (p.region != null && !p.region.equalsIgnoreCase(ep.getRegion()))
continue;
if (sc.getServiceType() == ServiceType.NETWORK) {
sc.getEndpoints().get(0).toBuilder().type(sc.getServiceType().name());
}
if (p.perspective == null)
return getEndpointURL(p.access, ep);
switch(p.perspective) {
case ADMIN:
return ep.getAdminURL().toString();
case INTERNAL:
return ep.getInternalURL().toString();
case PUBLIC:
default:
return ep.getPublicURL().toString();
}
}
} else {
// if no catalog returned, if is identity service, just return endpoint
if (ServiceType.IDENTITY.equals(p.type)) {
return p.access.getEndpoint();
}
}
return null;
}
Aggregations