diff options
author | kurczews <krzysztof.kurczewski@nokia.com> | 2019-06-10 13:07:47 +0200 |
---|---|---|
committer | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-06-11 11:16:19 +0000 |
commit | e655bbdb2e7d17660b34c7af236e7afb4ccda25a (patch) | |
tree | 095f22dc06bd567e842cb49ec2a3b48745b18ff0 /rest-services/aai-client/src/main | |
parent | 6c2951519650779c019431f990b22b71feb220dc (diff) |
Bulk queries (transactions) for PRH
Issue-ID: DCAEGEN2-1608
Change-Id: I9cff39a05657120de2741a7f9a584c189d8cfe91
Signed-off-by: kurczews <krzysztof.kurczewski@nokia.com>
Diffstat (limited to 'rest-services/aai-client/src/main')
3 files changed, 129 insertions, 0 deletions
diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/Request.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/Request.java new file mode 100644 index 00000000..cbe3b205 --- /dev/null +++ b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/Request.java @@ -0,0 +1,28 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2019 NOKIA Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http; + +import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpMethod; + +public interface Request { + HttpMethod method(); + String uri(); +}
\ No newline at end of file diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/Transaction.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/Transaction.java new file mode 100644 index 00000000..902282be --- /dev/null +++ b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/Transaction.java @@ -0,0 +1,49 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2019 NOKIA Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http; + +import com.google.gson.JsonObject; +import com.google.gson.annotations.SerializedName; +import org.immutables.gson.Gson; +import org.immutables.value.Value; + +/** + * @see Transactions + */ +@Value.Immutable +@Gson.TypeAdapters(fieldNamingStrategy = true) +public interface Transaction { + + enum Action { + @SerializedName("put") PUT, + @SerializedName("patch") PATCH, + @SerializedName("delete") DELETE + } + + Action action(); + + String uri(); + + @Value.Default + default JsonObject body() { + return new JsonObject(); + } +}
\ No newline at end of file diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/Transactions.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/Transactions.java new file mode 100644 index 00000000..a21c5617 --- /dev/null +++ b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/service/http/Transactions.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START======================================================= + * DCAEGEN2-SERVICES-SDK + * ================================================================================ + * Copyright (C) 2019 NOKIA Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.dcaegen2.services.sdk.rest.services.aai.client.service.http; + +import static org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpMethod.POST; + +import com.google.gson.annotations.SerializedName; +import java.util.List; +import org.immutables.gson.Gson; +import org.immutables.value.Value; +import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpMethod; + +/** + * @see Transaction + * @see <a href="https://docs.onap.org/en/casablanca/submodules/aai/aai-common.git/docs/AAI%20REST%20API%20Documentation/bulkApi.html">AAI + * Bulk API</a> + */ +@Value.Immutable +@Gson.TypeAdapters(fieldNamingStrategy = true) +public interface Transactions extends Request { + + String BULK_SINGLE_TRANSACTION = "/bulk/single-transaction"; + + @SerializedName("operations") + List<Transaction> operations(); + + default HttpMethod method() { + return POST; + } + + default String uri() { + return BULK_SINGLE_TRANSACTION; + } +}
\ No newline at end of file |