Skip to content

Commit

Permalink
Remove SPI
Browse files Browse the repository at this point in the history
Signed-off-by: Craig Perkins <[email protected]>
  • Loading branch information
cwperks committed Jan 1, 2025
1 parent c576870 commit 36620fd
Show file tree
Hide file tree
Showing 42 changed files with 186 additions and 244 deletions.
1 change: 0 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -574,7 +574,6 @@ tasks.integrationTest.finalizedBy(jacocoTestReport) // report is always generate
check.dependsOn integrationTest

dependencies {
implementation project(path: ":${rootProject.name}-spi", configuration: 'shadow')
implementation "org.opensearch.plugin:transport-netty4-client:${opensearch_version}"
implementation "org.opensearch.client:opensearch-rest-high-level-client:${opensearch_version}"
implementation "org.apache.httpcomponents.client5:httpclient5-cache:${versions.httpclient5}"
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ import java.util.concurrent.Callable


opensearchplugin {
name 'opensearch-security-sample-extension'
description 'Sample plugin that extends OpenSearch Security Resource Sharing Extension'
classname 'org.opensearch.security.sampleextension.SampleExtensionPlugin'
extendedPlugins = ['opensearch-security']
name 'opensearch-security-sample-resource'
description 'Sample plugin that demonstrates Resource Sharing'
classname 'org.opensearch.security.sample.SampleResourcePlugin'
}

ext {
Expand Down Expand Up @@ -60,8 +59,6 @@ configurations {

// TODO Make this plugin have an integration test dependency on integrationTest from root project
dependencies {
compileOnly project(path: ":${rootProject.name}-spi", configuration: 'shadow')
// integrationTestImplementation project(":")
integrationTestImplementation rootProject.sourceSets.main.output
integrationTestImplementation rootProject.sourceSets.integrationTest.output
testImplementation "com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}"
Expand Down Expand Up @@ -177,7 +174,7 @@ integTest {
}
if (System.getProperty("tests.rest.bwcsuite") == null) {
filter {
excludeTestsMatching "org.opensearch.security.sampleextension.bwc.*IT"
excludeTestsMatching "org.opensearch.security.sample.bwc.*IT"
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* GitHub history for details.
*/

package org.opensearch.security.sampleextension;
package org.opensearch.security.sample;

import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
import org.apache.http.HttpStatus;
Expand All @@ -30,11 +30,11 @@

@RunWith(com.carrotsearch.randomizedtesting.RandomizedRunner.class)
@ThreadLeakScope(ThreadLeakScope.Scope.NONE)
public class SampleExtensionPluginTests {
public class SampleResourcePluginTests {

@ClassRule
public static LocalCluster cluster = new LocalCluster.Builder().clusterManager(ClusterManager.SINGLENODE)
.plugin(SampleExtensionPlugin.class)
.plugin(SampleResourcePlugin.class)
.anonymousAuth(true)
.authc(AUTHC_HTTPBASIC_INTERNAL)
.users(USER_ADMIN)
Expand All @@ -52,7 +52,7 @@ public void testSecurityRoles() throws Exception {
HttpResponse pluginsResponse = client.get("_cat/plugins?s=component&h=name,component,version,description");
System.out.println("pluginsResponse: " + pluginsResponse.getBody());
assertThat(pluginsResponse.getBody(), containsString("org.opensearch.security.OpenSearchSecurityPlugin"));
assertThat(pluginsResponse.getBody(), containsString("org.opensearch.security.sampleextension.SampleExtensionPlugin"));
assertThat(pluginsResponse.getBody(), containsString("org.opensearch.security.sample.SampleResourcePlugin"));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* this file be licensed under the Apache-2.0 license or a
* compatible open source license.
*/
package org.opensearch.security.sampleextension;
package org.opensearch.security.sample;

import java.util.Collection;
import java.util.Collections;
Expand All @@ -33,43 +33,39 @@
import org.opensearch.indices.SystemIndexDescriptor;
import org.opensearch.plugins.ActionPlugin;
import org.opensearch.plugins.Plugin;
import org.opensearch.plugins.ResourcePlugin;
import org.opensearch.plugins.SystemIndexPlugin;
import org.opensearch.plugins.resource.ResourceType;
import org.opensearch.repositories.RepositoriesService;
import org.opensearch.rest.RestController;
import org.opensearch.rest.RestHandler;
import org.opensearch.script.ScriptService;
import org.opensearch.security.sampleextension.actions.create.CreateSampleResourceAction;
import org.opensearch.security.sampleextension.actions.create.CreateSampleResourceRestAction;
import org.opensearch.security.sampleextension.actions.create.CreateSampleResourceTransportAction;
import org.opensearch.security.sampleextension.actions.get.GetSampleResourceAction;
import org.opensearch.security.sampleextension.actions.get.GetSampleResourceRestAction;
import org.opensearch.security.sampleextension.actions.get.GetSampleResourceTransportAction;
import org.opensearch.security.sampleextension.actions.list.ListSampleResourceAction;
import org.opensearch.security.sampleextension.actions.list.ListSampleResourceRestAction;
import org.opensearch.security.sampleextension.actions.list.ListSampleResourceTransportAction;
import org.opensearch.security.sampleextension.actions.update.UpdateSampleResourceAction;
import org.opensearch.security.sampleextension.actions.update.UpdateSampleResourceRestAction;
import org.opensearch.security.sampleextension.actions.update.UpdateSampleResourceTransportAction;
import org.opensearch.security.sampleextension.resource.SampleResource;
import org.opensearch.security.sampleextension.resource.SampleResourceParser;
import org.opensearch.security.sampleextension.resource.SampleResourceSharingServiceProvider;
import org.opensearch.security.spi.Resource;
import org.opensearch.security.spi.ResourceParser;
import org.opensearch.security.spi.ResourceSharingExtension;
import org.opensearch.security.spi.ResourceSharingService;
import org.opensearch.security.sample.actions.create.CreateSampleResourceAction;
import org.opensearch.security.sample.actions.create.CreateSampleResourceRestAction;
import org.opensearch.security.sample.actions.create.CreateSampleResourceTransportAction;
import org.opensearch.security.sample.actions.get.GetSampleResourceAction;
import org.opensearch.security.sample.actions.get.GetSampleResourceRestAction;
import org.opensearch.security.sample.actions.get.GetSampleResourceTransportAction;
import org.opensearch.security.sample.actions.list.ListSampleResourceAction;
import org.opensearch.security.sample.actions.list.ListSampleResourceRestAction;
import org.opensearch.security.sample.actions.list.ListSampleResourceTransportAction;
import org.opensearch.security.sample.actions.update.UpdateSampleResourceAction;
import org.opensearch.security.sample.actions.update.UpdateSampleResourceRestAction;
import org.opensearch.security.sample.actions.update.UpdateSampleResourceTransportAction;
import org.opensearch.security.sample.resource.SampleResourceType;
import org.opensearch.threadpool.ThreadPool;
import org.opensearch.watcher.ResourceWatcherService;

/**
* Sample Security Resource Sharing extension plugin.
* Sample Resource Plugin.
*
* It use ".sample_extension_resources" index to manage its resources, and exposes a REST API
* It use ".sample_resources" index to manage its resources, and exposes a REST API
*
*/
public class SampleExtensionPlugin extends Plugin implements ActionPlugin, SystemIndexPlugin, ResourceSharingExtension {
private static final Logger log = LogManager.getLogger(SampleExtensionPlugin.class);
public class SampleResourcePlugin extends Plugin implements ActionPlugin, SystemIndexPlugin, ResourcePlugin {
private static final Logger log = LogManager.getLogger(SampleResourcePlugin.class);

public static final String RESOURCE_INDEX_NAME = ".sample_extension_resources";
public static final String RESOURCE_INDEX_NAME = ".sample_resources";

private Client client;

Expand All @@ -88,10 +84,7 @@ public Collection<Object> createComponents(
Supplier<RepositoriesService> repositoriesServiceSupplier
) {
this.client = client;
System.out.println(
"SampleResourceSharingServiceProvider.getInstance(): " + SampleResourceSharingServiceProvider.getInstance().get()
);
return List.of(SampleResourceSharingServiceProvider.getInstance());
return Collections.emptyList();
}

@Override
Expand Down Expand Up @@ -129,23 +122,7 @@ public Collection<SystemIndexDescriptor> getSystemIndexDescriptors(Settings sett
}

@Override
public String getResourceType() {
return "sample_resource";
}

@Override
public String getResourceIndex() {
return RESOURCE_INDEX_NAME;
}

@Override
public ResourceParser<? extends Resource> getResourceParser() {
return new SampleResourceParser();
}

@SuppressWarnings("unchecked")
@Override
public void assignResourceSharingService(ResourceSharingService<? extends Resource> service) {
SampleResourceSharingServiceProvider.getInstance().set((ResourceSharingService<SampleResource>) service);
public List<ResourceType> getResourceTypes() {
return List.of(SampleResourceType.getInstance());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
* compatible open source license.
*/

package org.opensearch.security.sampleextension.actions.create;
package org.opensearch.security.sample.actions.create;

import org.opensearch.action.ActionType;
import org.opensearch.security.spi.actions.resource.create.CreateResourceResponse;
import org.opensearch.plugins.resource.action.create.CreateResourceResponse;

/**
* Action to create a sample resource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@
* compatible open source license.
*/

package org.opensearch.security.sampleextension.actions.create;
package org.opensearch.security.sample.actions.create;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import org.opensearch.client.node.NodeClient;
import org.opensearch.core.xcontent.XContentParser;
import org.opensearch.plugins.resource.action.create.CreateResourceRequest;
import org.opensearch.rest.BaseRestHandler;
import org.opensearch.rest.RestRequest;
import org.opensearch.rest.action.RestToXContentListener;
import org.opensearch.security.sampleextension.resource.SampleResource;
import org.opensearch.security.spi.actions.resource.create.CreateResourceRequest;
import org.opensearch.security.sample.resource.SampleResource;

import static java.util.Collections.singletonList;
import static org.opensearch.rest.RestRequest.Method.POST;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@
* compatible open source license.
*/

package org.opensearch.security.sampleextension.actions.create;
package org.opensearch.security.sample.actions.create;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import org.opensearch.action.support.ActionFilters;
import org.opensearch.client.Client;
import org.opensearch.common.inject.Inject;
import org.opensearch.security.sampleextension.resource.SampleResource;
import org.opensearch.security.spi.actions.resource.create.CreateResourceTransportAction;
import org.opensearch.plugins.resource.action.create.CreateResourceTransportAction;
import org.opensearch.security.sample.resource.SampleResource;
import org.opensearch.transport.TransportService;

import static org.opensearch.security.sampleextension.SampleExtensionPlugin.RESOURCE_INDEX_NAME;
import static org.opensearch.security.sample.SampleResourcePlugin.RESOURCE_INDEX_NAME;

/**
* Transport action for CreateSampleResource.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
* compatible open source license.
*/

package org.opensearch.security.sampleextension.actions.get;
package org.opensearch.security.sample.actions.get;

import org.opensearch.action.ActionType;
import org.opensearch.security.sampleextension.resource.SampleResource;
import org.opensearch.security.spi.actions.resource.get.GetResourceResponse;
import org.opensearch.plugins.resource.action.get.GetResourceResponse;
import org.opensearch.security.sample.resource.SampleResource;

/**
* Action to get a sample resource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@
* compatible open source license.
*/

package org.opensearch.security.sampleextension.actions.get;
package org.opensearch.security.sample.actions.get;

import java.io.IOException;
import java.util.List;

import org.opensearch.client.node.NodeClient;
import org.opensearch.plugins.resource.action.get.GetResourceRequest;
import org.opensearch.rest.BaseRestHandler;
import org.opensearch.rest.RestRequest;
import org.opensearch.rest.action.RestToXContentListener;
import org.opensearch.security.spi.actions.resource.get.GetResourceRequest;

import static java.util.Collections.singletonList;
import static org.opensearch.rest.RestRequest.Method.GET;
import static org.opensearch.security.sampleextension.SampleExtensionPlugin.RESOURCE_INDEX_NAME;
import static org.opensearch.security.sample.SampleResourcePlugin.RESOURCE_INDEX_NAME;

public class GetSampleResourceRestAction extends BaseRestHandler {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* compatible open source license.
*/

package org.opensearch.security.sampleextension.actions.get;
package org.opensearch.security.sample.actions.get;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
Expand All @@ -15,13 +15,13 @@
import org.opensearch.client.Client;
import org.opensearch.common.inject.Inject;
import org.opensearch.core.xcontent.NamedXContentRegistry;
import org.opensearch.security.sampleextension.resource.SampleResource;
import org.opensearch.security.sampleextension.resource.SampleResourceParser;
import org.opensearch.security.sampleextension.resource.SampleResourceSharingServiceProvider;
import org.opensearch.security.spi.actions.resource.get.GetResourceTransportAction;
import org.opensearch.plugins.resource.action.get.GetResourceTransportAction;
import org.opensearch.security.sample.resource.SampleResource;
import org.opensearch.security.sample.resource.SampleResourceParser;
import org.opensearch.security.sample.resource.SampleResourceType;
import org.opensearch.transport.TransportService;

import static org.opensearch.security.sampleextension.SampleExtensionPlugin.RESOURCE_INDEX_NAME;
import static org.opensearch.security.sample.SampleResourcePlugin.RESOURCE_INDEX_NAME;

/**
* Transport action for GetSampleResource.
Expand All @@ -33,7 +33,6 @@ public class GetSampleResourceTransportAction extends GetResourceTransportAction
public GetSampleResourceTransportAction(
TransportService transportService,
ActionFilters actionFilters,
SampleResourceSharingServiceProvider resourceSharingService,
Client client,
NamedXContentRegistry xContentRegistry
) {
Expand All @@ -42,7 +41,7 @@ public GetSampleResourceTransportAction(
actionFilters,
GetSampleResourceAction.NAME,
RESOURCE_INDEX_NAME,
resourceSharingService.get(),
SampleResourceType.getInstance().getResourceSharingService(),
new SampleResourceParser(),
client,
xContentRegistry
Expand Down
Loading

0 comments on commit 36620fd

Please sign in to comment.