Skip to content

Commit de8a31c

Browse files
Updates sample plugin to conform to spi changes
Signed-off-by: Darshit Chanpura <[email protected]>
1 parent fc48d43 commit de8a31c

File tree

10 files changed

+27
-29
lines changed

10 files changed

+27
-29
lines changed

sample-resource-plugin/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ plugins.security.system_indices.enabled: true
1919
2020
## Features
2121
22-
- Create, update, get, delete resources, as well as share and revoke access to a resource.
22+
- Create, update, get, delete SampleResource, as well as share and revoke access to a resource.
2323
2424
## Installation
2525

sample-resource-plugin/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ configurations.all {
7373
dependencies {
7474
// Main implementation dependencies
7575
implementation group: 'org.opensearch', name:'opensearch-security-client', version: "${opensearch_build}"
76-
compileOnly "org.opensearch:opensearch-resource-sharing-spi:${opensearch_build}"
76+
compileOnly group: 'org.opensearch', name:'opensearch-resource-sharing-spi', version:"${opensearch_build}"
7777
compileOnly "com.fasterxml.jackson.core:jackson-databind:${versions.jackson_databind}"
7878

7979
// Integration test dependencies

sample-resource-plugin/src/integrationTest/java/org/opensearch/sample/nonsystemindex/plugin/ResourceNonSystemIndexPlugin.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
import org.opensearch.plugins.Plugin;
1515
import org.opensearch.sample.SampleResource;
1616
import org.opensearch.sample.SampleResourceParser;
17-
import org.opensearch.security.spi.resources.Resource;
18-
import org.opensearch.security.spi.resources.ResourceParser;
1917
import org.opensearch.security.spi.resources.ResourceSharingExtension;
18+
import org.opensearch.security.spi.resources.ShareableResource;
19+
import org.opensearch.security.spi.resources.ShareableResourceParser;
2020

2121
/**
2222
* Sample resource sharing plugin that doesn't declare its resource index as system index.
@@ -38,7 +38,7 @@ public String getResourceIndex() {
3838
}
3939

4040
@Override
41-
public ResourceParser<? extends Resource> getResourceParser() {
41+
public ShareableResourceParser<? extends ShareableResource> getShareableResourceParser() {
4242
return new SampleResourceParser();
4343
}
4444
}

sample-resource-plugin/src/main/java/org/opensearch/sample/SampleResource.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@
2121
import org.opensearch.core.xcontent.ToXContent;
2222
import org.opensearch.core.xcontent.XContentBuilder;
2323
import org.opensearch.core.xcontent.XContentParser;
24-
import org.opensearch.security.spi.resources.Resource;
24+
import org.opensearch.security.spi.resources.ShareableResource;
2525

2626
import static org.opensearch.core.xcontent.ConstructingObjectParser.constructorArg;
2727
import static org.opensearch.core.xcontent.ConstructingObjectParser.optionalConstructorArg;
2828

2929
/**
3030
* Sample resource declared by this plugin.
3131
*/
32-
public class SampleResource implements Resource {
32+
public class SampleResource implements ShareableResource {
3333

3434
private String name;
3535
private String description;
@@ -103,7 +103,7 @@ public void setAttributes(Map<String, String> attributes) {
103103
}
104104

105105
@Override
106-
public String getResourceName() {
106+
public String getName() {
107107
return name;
108108
}
109109
}

sample-resource-plugin/src/main/java/org/opensearch/sample/SampleResourceParser.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
import java.io.IOException;
1515

1616
import org.opensearch.core.xcontent.XContentParser;
17-
import org.opensearch.security.spi.resources.ResourceParser;
17+
import org.opensearch.security.spi.resources.ShareableResourceParser;
1818

1919
/**
2020
* Responsible for parsing the XContent into a SampleResource object.
2121
*/
22-
public class SampleResourceParser implements ResourceParser<SampleResource> {
22+
public class SampleResourceParser implements ShareableResourceParser<SampleResource> {
2323
@Override
2424
public SampleResource parseXContent(XContentParser parser) throws IOException {
2525
return SampleResource.fromXContent(parser);

sample-resource-plugin/src/main/java/org/opensearch/sample/SampleResourcePlugin.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@
5454
import org.opensearch.sample.resource.actions.transport.ShareResourceTransportAction;
5555
import org.opensearch.sample.resource.actions.transport.UpdateResourceTransportAction;
5656
import org.opensearch.script.ScriptService;
57-
import org.opensearch.security.spi.resources.ResourceParser;
5857
import org.opensearch.security.spi.resources.ResourceSharingExtension;
58+
import org.opensearch.security.spi.resources.ShareableResourceParser;
5959
import org.opensearch.threadpool.ThreadPool;
6060
import org.opensearch.transport.client.Client;
6161
import org.opensearch.watcher.ResourceWatcherService;
@@ -135,7 +135,7 @@ public String getResourceIndex() {
135135
}
136136

137137
@Override
138-
public ResourceParser<SampleResource> getResourceParser() {
138+
public ShareableResourceParser<SampleResource> getShareableResourceParser() {
139139
return new SampleResourceParser();
140140
}
141141
}

sample-resource-plugin/src/main/java/org/opensearch/sample/resource/actions/rest/create/CreateResourceRequest.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,24 @@
1414
import org.opensearch.action.ActionRequestValidationException;
1515
import org.opensearch.core.common.io.stream.StreamInput;
1616
import org.opensearch.core.common.io.stream.StreamOutput;
17-
import org.opensearch.security.spi.resources.Resource;
17+
import org.opensearch.security.spi.resources.ShareableResource;
1818

1919
/**
2020
* Request object for CreateSampleResource transport action
2121
*/
2222
public class CreateResourceRequest extends ActionRequest {
2323

24-
private final Resource resource;
24+
private final ShareableResource resource;
2525

2626
/**
2727
* Default constructor
2828
*/
29-
public CreateResourceRequest(Resource resource) {
29+
public CreateResourceRequest(ShareableResource resource) {
3030
this.resource = resource;
3131
}
3232

3333
public CreateResourceRequest(StreamInput in) throws IOException {
34-
this.resource = in.readNamedWriteable(Resource.class);
34+
this.resource = in.readNamedWriteable(ShareableResource.class);
3535
}
3636

3737
@Override
@@ -44,7 +44,7 @@ public ActionRequestValidationException validate() {
4444
return null;
4545
}
4646

47-
public Resource getResource() {
47+
public ShareableResource getResource() {
4848
return this.resource;
4949
}
5050
}

sample-resource-plugin/src/main/java/org/opensearch/sample/resource/actions/rest/create/UpdateResourceRequest.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,27 @@
1414
import org.opensearch.action.ActionRequestValidationException;
1515
import org.opensearch.core.common.io.stream.StreamInput;
1616
import org.opensearch.core.common.io.stream.StreamOutput;
17-
import org.opensearch.security.spi.resources.Resource;
17+
import org.opensearch.security.spi.resources.ShareableResource;
1818

1919
/**
2020
* Request object for UpdateResource transport action
2121
*/
2222
public class UpdateResourceRequest extends ActionRequest {
2323

2424
private final String resourceId;
25-
private final Resource resource;
25+
private final ShareableResource resource;
2626

2727
/**
2828
* Default constructor
2929
*/
30-
public UpdateResourceRequest(String resourceId, Resource resource) {
30+
public UpdateResourceRequest(String resourceId, ShareableResource resource) {
3131
this.resourceId = resourceId;
3232
this.resource = resource;
3333
}
3434

3535
public UpdateResourceRequest(StreamInput in) throws IOException {
3636
this.resourceId = in.readString();
37-
this.resource = in.readNamedWriteable(Resource.class);
37+
this.resource = in.readNamedWriteable(ShareableResource.class);
3838
}
3939

4040
@Override
@@ -48,7 +48,7 @@ public ActionRequestValidationException validate() {
4848
return null;
4949
}
5050

51-
public Resource getResource() {
51+
public ShareableResource getResource() {
5252
return this.resource;
5353
}
5454

sample-resource-plugin/src/main/java/org/opensearch/sample/resource/actions/transport/CreateResourceTransportAction.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.opensearch.sample.resource.actions.rest.create.CreateResourceAction;
2626
import org.opensearch.sample.resource.actions.rest.create.CreateResourceRequest;
2727
import org.opensearch.sample.resource.actions.rest.create.CreateResourceResponse;
28-
import org.opensearch.security.spi.resources.Resource;
28+
import org.opensearch.security.spi.resources.ShareableResource;
2929
import org.opensearch.tasks.Task;
3030
import org.opensearch.transport.TransportService;
3131
import org.opensearch.transport.client.Client;
@@ -61,7 +61,7 @@ protected void doExecute(Task task, CreateResourceRequest request, ActionListene
6161
}
6262

6363
private void createResource(CreateResourceRequest request, ActionListener<CreateResourceResponse> listener) {
64-
Resource sample = request.getResource();
64+
ShareableResource sample = request.getResource();
6565
try (XContentBuilder builder = jsonBuilder()) {
6666
IndexRequest ir = nodeClient.prepareIndex(RESOURCE_INDEX_NAME)
6767
.setWaitForActiveShards(1)

sample-resource-plugin/src/main/java/org/opensearch/sample/resource/actions/transport/UpdateResourceTransportAction.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import org.opensearch.sample.resource.actions.rest.create.UpdateResourceRequest;
3131
import org.opensearch.sample.resource.client.ResourceSharingClientAccessor;
3232
import org.opensearch.security.client.resources.ResourceSharingClient;
33-
import org.opensearch.security.spi.resources.Resource;
33+
import org.opensearch.security.spi.resources.ShareableResource;
3434
import org.opensearch.security.spi.resources.exceptions.ResourceSharingException;
3535
import org.opensearch.tasks.Task;
3636
import org.opensearch.transport.TransportService;
@@ -95,7 +95,7 @@ private void updateResource(UpdateResourceRequest request, ActionListener<Create
9595
ThreadContext threadContext = this.transportService.getThreadPool().getThreadContext();
9696
try (ThreadContext.StoredContext ignore = threadContext.stashContext()) {
9797
String resourceId = request.getResourceId();
98-
Resource sample = request.getResource();
98+
ShareableResource sample = request.getResource();
9999
try (XContentBuilder builder = jsonBuilder()) {
100100
UpdateRequest ur = new UpdateRequest(RESOURCE_INDEX_NAME, resourceId).setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE)
101101
.doc(sample.toXContent(builder, ToXContent.EMPTY_PARAMS));
@@ -112,9 +112,7 @@ private void updateResource(UpdateResourceRequest request, ActionListener<Create
112112
} catch (IOException e) {
113113
listener.onFailure(new RuntimeException(e));
114114
}
115-
listener.onResponse(
116-
new CreateResourceResponse("Resource " + request.getResource().getResourceName() + " updated successfully.")
117-
);
115+
listener.onResponse(new CreateResourceResponse("Resource " + request.getResource().getName() + " updated successfully."));
118116
} catch (Exception e) {
119117
log.error("Failed to update resource: {}", request.getResourceId(), e);
120118
listener.onFailure(e);

0 commit comments

Comments
 (0)