Search in sources :

Example 1 with Tenant

use of io.openk9.model.Tenant in project so by onap.

the class VnfmAdapterCreateVnfTask method getTenant.

private Tenant getTenant(final CloudRegion cloudRegion) {
    final Tenant tenant = new Tenant();
    tenant.setCloudOwner(cloudRegion.getCloudOwner());
    tenant.setRegionName(cloudRegion.getLcpCloudRegionId());
    tenant.setTenantId(cloudRegion.getTenantId());
    return tenant;
}
Also used : Tenant(org.onap.so.adapters.etsisol003adapter.lcm.v1.model.Tenant)

Example 2 with Tenant

use of io.openk9.model.Tenant in project openk9 by smclab.

the class GetOrAddEntitiesConsumer method apply.

public Mono<ObjectNode> apply(ObjectNode objectNode) {
    return Mono.defer(() -> {
        ObjectNode datasourceContextJson = objectNode.get("datasourceContext").toObjectNode();
        long datasourceId = datasourceContextJson.get("datasource").get("datasourceId").asLong();
        long tenantId = datasourceContextJson.get("tenant").get("tenantId").asLong();
        JsonNode entities = objectNode.remove("entities");
        Mono<ArrayNode> entitiesField;
        if (entities.size() == 0) {
            entitiesField = Mono.just(_jsonFactory.createArrayNode());
        } else {
            ObjectNode responseJson = _jsonFactory.createObjectNode();
            responseJson.put("entities", entities);
            responseJson.put("tenantId", tenantId);
            responseJson.put("datasourceId", datasourceId);
            Request request = _jsonFactory.fromJson(responseJson.toString(), Request.class);
            List<RequestContext> requestContextList = request.getEntities().stream().map(entityRequest -> RequestContext.builder().current(entityRequest).tenantId(request.getTenantId()).datasourceId(request.getDatasourceId()).rest(request.getEntities().stream().filter(er -> er != entityRequest).collect(Collectors.toList())).build()).collect(Collectors.toList());
            Mono<List<EntityContext>> disambiguateListMono = GetOrAddEntities.stopWatch("disambiguate-all-entities", Flux.fromIterable(requestContextList).flatMap(requestContext -> GetOrAddEntities.stopWatch("disambiguate-" + requestContext.getCurrent().getName(), Mono.<EntityContext>create(fluxSink -> _startDisambiguation.disambiguate(requestContext, fluxSink)))).collectList());
            Mono<ResponseList> writeRelations = disambiguateListMono.flatMap(entityContexts -> GetOrAddEntities.stopWatch("write-relations", writeRelations(entityContexts)));
            Mono<ResponseList> responseListWrapper = _transactional ? _graphClient.makeTransactional(writeRelations) : writeRelations;
            entitiesField = responseListWrapper.map(responseListDTO -> {
                List<Response> responseList = responseListDTO.getResponse();
                ArrayNode entitiesArrayNode = entities.toArrayNode();
                ArrayNode arrayNode = _jsonFactory.createArrayNode();
                for (JsonNode node : entitiesArrayNode) {
                    Optional<Response> responseOptional = responseList.stream().filter(response -> node.get("tmpId").asLong() == response.getTmpId()).findFirst();
                    if (responseOptional.isPresent()) {
                        Entity entity = responseOptional.get().getEntity();
                        ObjectNode result = _jsonFactory.createObjectNode();
                        result.put("entityType", entity.getType());
                        result.put("id", entity.getId());
                        result.put("context", node.get("context"));
                        arrayNode.add(result);
                    }
                }
                return arrayNode;
            });
        }
        return entitiesField.map(entitiesArray -> {
            ObjectNode payload = objectNode.get("payload").toObjectNode();
            payload.set("entities", entitiesArray);
            return objectNode;
        }).timeout(Duration.ofSeconds(_timeout), Mono.error(new TimeoutException("timeout on entities count: " + entities.size() + " (Did not observe any item or terminal signal within " + Duration.ofSeconds(_timeout).toMillis() + "ms)")));
    });
}
Also used : Response(io.openk9.entity.manager.model.payload.Response) SenderReactor(io.openk9.ingestion.api.SenderReactor) Disposable(reactor.core.Disposable) JsonNode(io.openk9.json.api.JsonNode) LoggerFactory(org.slf4j.LoggerFactory) Tuples(reactor.util.function.Tuples) Tuple2(reactor.util.function.Tuple2) TimeoutException(java.util.concurrent.TimeoutException) EntityRequest(io.openk9.entity.manager.model.payload.EntityRequest) GraphClient(io.openk9.relationship.graph.api.client.GraphClient) ArrayNode(io.openk9.json.api.ArrayNode) JsonFactory(io.openk9.json.api.JsonFactory) ArrayList(java.util.ArrayList) Component(org.osgi.service.component.annotations.Component) Statement(org.neo4j.cypherdsl.core.Statement) Duration(java.time.Duration) OutboundMessageFactory(io.openk9.ingestion.api.OutboundMessageFactory) Schedulers(reactor.core.scheduler.Schedulers) Request(io.openk9.entity.manager.model.payload.Request) Cypher(org.neo4j.cypherdsl.core.Cypher) Activate(org.osgi.service.component.annotations.Activate) Node(org.neo4j.cypherdsl.core.Node) Binding(io.openk9.ingestion.api.Binding) Logger(org.slf4j.Logger) Deactivate(org.osgi.service.component.annotations.Deactivate) Functions(org.neo4j.cypherdsl.core.Functions) RelationRequest(io.openk9.entity.manager.model.payload.RelationRequest) Mono(reactor.core.publisher.Mono) Entity(io.openk9.entity.manager.model.Entity) Collectors(java.util.stream.Collectors) Flux(reactor.core.publisher.Flux) List(java.util.List) Stream(java.util.stream.Stream) ResponseList(io.openk9.entity.manager.model.payload.ResponseList) ReceiverReactor(io.openk9.ingestion.api.ReceiverReactor) Modified(org.osgi.service.component.annotations.Modified) Optional(java.util.Optional) ObjectNode(io.openk9.json.api.ObjectNode) Reference(org.osgi.service.component.annotations.Reference) Cypher.literalOf(org.neo4j.cypherdsl.core.Cypher.literalOf) Entity(io.openk9.entity.manager.model.Entity) ObjectNode(io.openk9.json.api.ObjectNode) Optional(java.util.Optional) EntityRequest(io.openk9.entity.manager.model.payload.EntityRequest) Request(io.openk9.entity.manager.model.payload.Request) RelationRequest(io.openk9.entity.manager.model.payload.RelationRequest) JsonNode(io.openk9.json.api.JsonNode) ResponseList(io.openk9.entity.manager.model.payload.ResponseList) ArrayList(java.util.ArrayList) List(java.util.List) ResponseList(io.openk9.entity.manager.model.payload.ResponseList) ArrayNode(io.openk9.json.api.ArrayNode) TimeoutException(java.util.concurrent.TimeoutException)

Example 3 with Tenant

use of io.openk9.model.Tenant in project openk9 by smclab.

the class AuthResource method logout.

@PermitAll
@Path("/v1/auth/logout")
@POST
public Uni<byte[]> logout(@Context HttpServerRequest context, RefreshToken request) {
    String host = context.host();
    Tenant tenant = _findTenant(host);
    String realmName = tenant.getRealmName();
    String clientSecret = tenant.getClientSecret();
    String clientId = tenant.getClientId();
    String refreshToken = request.getRefreshToken();
    if (refreshToken == null) {
        return Uni.createFrom().failure(() -> new HttpException(400, "required refreshToken"));
    }
    if (clientSecret != null) {
        return _authClient.logout(realmName, clientId, clientSecret, refreshToken);
    } else {
        return _authClient.logout(realmName, clientId, refreshToken);
    }
}
Also used : Tenant(io.openk9.api.aggregator.model.Tenant) HttpException(io.vertx.ext.web.handler.HttpException) Path(javax.ws.rs.Path) POST(javax.ws.rs.POST) PermitAll(javax.annotation.security.PermitAll)

Example 4 with Tenant

use of io.openk9.model.Tenant in project openk9 by smclab.

the class AuthResource method refreshToken.

@PermitAll
@Path("/v1/auth/refresh")
@POST
public Uni<LoginResponseDTO> refreshToken(@Context HttpServerRequest context, RefreshToken request) {
    String host = context.host();
    Tenant tenant = _findTenant(host);
    String realmName = tenant.getRealmName();
    String clientSecret = tenant.getClientSecret();
    String clientId = tenant.getClientId();
    String refreshToken = request.getRefreshToken();
    if (refreshToken == null) {
        return Uni.createFrom().failure(() -> new HttpException(400, "required refreshToken"));
    }
    if (clientSecret != null) {
        return _authClient.refresh(realmName, clientId, clientSecret, refreshToken, "refresh_token");
    } else {
        return _authClient.refresh(realmName, clientId, refreshToken, "refresh_token");
    }
}
Also used : Tenant(io.openk9.api.aggregator.model.Tenant) HttpException(io.vertx.ext.web.handler.HttpException) Path(javax.ws.rs.Path) POST(javax.ws.rs.POST) PermitAll(javax.annotation.security.PermitAll)

Example 5 with Tenant

use of io.openk9.model.Tenant in project so by onap.

the class VnfmAdapterCreateVnfTaskTest method testBuildCreateVnfRequest_withValidValues_storesRequestInExecution.

@Test
public void testBuildCreateVnfRequest_withValidValues_storesRequestInExecution() throws Exception {
    final VnfmAdapterCreateVnfTask objUnderTest = getEtsiVnfInstantiateTask();
    stubbedxecution.setVariable(INPUT_PARAMETER, new InputParameter(Collections.emptyMap(), Collections.emptyList()));
    when(extractPojosForBB.extractByKey(any(), eq(ResourceKey.GENERIC_VNF_ID))).thenReturn(getGenericVnf());
    objUnderTest.buildCreateVnfRequest(stubbedxecution);
    final CreateVnfRequest actual = stubbedxecution.getVariable(CREATE_VNF_REQUEST_PARAM_NAME);
    assertNotNull(actual);
    assertEquals(VNF_NAME + "." + MODEL_INSTANCE_NAME, actual.getName());
    final Tenant actualTenant = actual.getTenant();
    assertEquals(CLOUD_OWNER, actualTenant.getCloudOwner());
    assertEquals(LCP_CLOUD_REGIONID, actualTenant.getRegionName());
    assertEquals(StubbedBuildingBlockExecution.getTenantId(), actualTenant.getTenantId());
}
Also used : Tenant(org.onap.so.adapters.etsisol003adapter.lcm.v1.model.Tenant) CreateVnfRequest(org.onap.so.adapters.etsisol003adapter.lcm.v1.model.CreateVnfRequest) InputParameter(org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks.utils.InputParameter) BaseTaskTest(org.onap.so.bpmn.BaseTaskTest) Test(org.junit.Test)

Aggregations

Tenant (io.openk9.api.aggregator.model.Tenant)6 List (java.util.List)6 Activate (org.osgi.service.component.annotations.Activate)6 JsonFactory (io.openk9.json.api.JsonFactory)5 Datasource (io.openk9.model.Datasource)5 Tenant (io.openk9.model.Tenant)5 Logger (org.slf4j.Logger)5 LoggerFactory (org.slf4j.LoggerFactory)5 DatasourceClient (io.openk9.datasource.client.api.DatasourceClient)4 RouterHandler (io.openk9.http.web.RouterHandler)4 PluginDriverManagerClient (io.openk9.plugin.driver.manager.client.api.PluginDriverManagerClient)4 PluginDriverDTO (io.openk9.plugin.driver.manager.model.PluginDriverDTO)4 QueryParser (io.openk9.search.api.query.QueryParser)4 Search (io.openk9.search.client.api.Search)4 HashMap (java.util.HashMap)4 Map (java.util.Map)4 Collectors (java.util.stream.Collectors)4 BoolQueryBuilder (org.elasticsearch.index.query.BoolQueryBuilder)4 QueryBuilders (org.elasticsearch.index.query.QueryBuilders)4 SearchHit (org.elasticsearch.search.SearchHit)4