From 8095b671da0897f79918f974c731deafd8a2e7c5 Mon Sep 17 00:00:00 2001 From: Craig Perkins Date: Thu, 9 Jan 2025 12:01:19 -0500 Subject: [PATCH] Clean up branch Signed-off-by: Craig Perkins --- .../SampleExtensionPlugin.java | 13 +-- .../get/GetSampleResourceTransportAction.java | 3 - .../ListSampleResourceTransportAction.java | 3 - .../SampleResourceSharingServiceProvider.java | 62 ------------ .../spi/NoopResourceSharingService.java | 11 --- .../security/spi/ResourceDocVersion.java | 96 ------------------- .../spi/ResourceSharingExtension.java | 2 - .../security/spi/ResourceSharingService.java | 7 -- .../get/GetResourceTransportAction.java | 5 - .../list/ListResourceTransportAction.java | 6 -- 10 files changed, 1 insertion(+), 207 deletions(-) delete mode 100644 sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/resource/SampleResourceSharingServiceProvider.java delete mode 100644 spi/src/main/java/org/opensearch/security/spi/NoopResourceSharingService.java delete mode 100644 spi/src/main/java/org/opensearch/security/spi/ResourceDocVersion.java delete mode 100644 spi/src/main/java/org/opensearch/security/spi/ResourceSharingService.java diff --git a/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/SampleExtensionPlugin.java b/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/SampleExtensionPlugin.java index 94ca518991..580a8c06bc 100644 --- a/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/SampleExtensionPlugin.java +++ b/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/SampleExtensionPlugin.java @@ -50,9 +50,7 @@ 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.SampleResourceSharingServiceProvider; import org.opensearch.security.spi.ResourceSharingExtension; -import org.opensearch.security.spi.ResourceSharingService; import org.opensearch.threadpool.ThreadPool; import org.opensearch.watcher.ResourceWatcherService; @@ -84,10 +82,7 @@ public Collection createComponents( Supplier repositoriesServiceSupplier ) { this.client = client; - System.out.println( - "SampleResourceSharingServiceProvider.getInstance(): " + SampleResourceSharingServiceProvider.getInstance().get() - ); - return List.of(SampleResourceSharingServiceProvider.getInstance()); + return List.of(); } @Override @@ -133,10 +128,4 @@ public String getResourceType() { public String getResourceIndex() { return RESOURCE_INDEX_NAME; } - - @SuppressWarnings("unchecked") - @Override - public void assignResourceSharingService(ResourceSharingService service) { - SampleResourceSharingServiceProvider.getInstance().set(service); - } } diff --git a/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/actions/get/GetSampleResourceTransportAction.java b/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/actions/get/GetSampleResourceTransportAction.java index 12d470abf5..b9ff4b4343 100644 --- a/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/actions/get/GetSampleResourceTransportAction.java +++ b/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/actions/get/GetSampleResourceTransportAction.java @@ -17,7 +17,6 @@ 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.transport.TransportService; @@ -33,7 +32,6 @@ public class GetSampleResourceTransportAction extends GetResourceTransportAction public GetSampleResourceTransportAction( TransportService transportService, ActionFilters actionFilters, - SampleResourceSharingServiceProvider resourceSharingService, Client client, NamedXContentRegistry xContentRegistry ) { @@ -42,7 +40,6 @@ public GetSampleResourceTransportAction( actionFilters, GetSampleResourceAction.NAME, RESOURCE_INDEX_NAME, - resourceSharingService.get(), new SampleResourceParser(), client, xContentRegistry diff --git a/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/actions/list/ListSampleResourceTransportAction.java b/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/actions/list/ListSampleResourceTransportAction.java index 821a26a2b7..c80c49a52e 100644 --- a/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/actions/list/ListSampleResourceTransportAction.java +++ b/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/actions/list/ListSampleResourceTransportAction.java @@ -17,7 +17,6 @@ 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.list.ListResourceTransportAction; import org.opensearch.transport.TransportService; @@ -33,7 +32,6 @@ public class ListSampleResourceTransportAction extends ListResourceTransportActi public ListSampleResourceTransportAction( TransportService transportService, ActionFilters actionFilters, - SampleResourceSharingServiceProvider resourceSharingService, NamedXContentRegistry xContentRegistry, Client client ) { @@ -42,7 +40,6 @@ public ListSampleResourceTransportAction( actionFilters, ListSampleResourceAction.NAME, RESOURCE_INDEX_NAME, - resourceSharingService.get(), new SampleResourceParser(), client, xContentRegistry diff --git a/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/resource/SampleResourceSharingServiceProvider.java b/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/resource/SampleResourceSharingServiceProvider.java deleted file mode 100644 index 92a1939274..0000000000 --- a/sample-extension-plugin/src/main/java/org/opensearch/security/sampleextension/resource/SampleResourceSharingServiceProvider.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.opensearch.security.sampleextension.resource; - -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import org.opensearch.common.inject.Provider; -import org.opensearch.security.spi.ResourceSharingService; - -/** - * Provider for ResourceSharingService that handles SampleResource instances. - * This provider allows for flexible injection of different ResourceSharingService - * implementations based on runtime conditions. - */ -public final class SampleResourceSharingServiceProvider implements Provider { - - private volatile ResourceSharingService resourceSharingService; - - private static final Map instances = new ConcurrentHashMap<>(); - - private SampleResourceSharingServiceProvider() {} - - @SuppressWarnings("removal") - public static SampleResourceSharingServiceProvider getInstance() { - ClassLoader classLoader = AccessController.doPrivileged( - (PrivilegedAction) () -> Thread.currentThread().getContextClassLoader() - ); - instances.computeIfAbsent(classLoader, cl -> new SampleResourceSharingServiceProvider()); - return instances.get(classLoader); - } - - /** - * Sets the resource sharing service implementation. - * This method is thread-safe and ensures the service is only set once. - * - * @param resourceSharingService the service implementation to use - * @throws IllegalStateException if the service has already been set - * @throws IllegalArgumentException if the provided service is null - */ - public void set(ResourceSharingService resourceSharingService) { - if (resourceSharingService == null) { - throw new IllegalArgumentException("ResourceSharingService cannot be null"); - } - - if (this.resourceSharingService != null) { - throw new IllegalStateException("ResourceSharingService has already been set"); - } - - this.resourceSharingService = resourceSharingService; - } - - /** - * {@inheritDoc} - * - * @return the configured ResourceSharingService - */ - @Override - public ResourceSharingService get() { - return resourceSharingService; - } -} diff --git a/spi/src/main/java/org/opensearch/security/spi/NoopResourceSharingService.java b/spi/src/main/java/org/opensearch/security/spi/NoopResourceSharingService.java deleted file mode 100644 index 0b38533b60..0000000000 --- a/spi/src/main/java/org/opensearch/security/spi/NoopResourceSharingService.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.opensearch.security.spi; - -import org.opensearch.core.action.ActionListener; - -public class NoopResourceSharingService implements ResourceSharingService { - - @Override - public void isSharedWithCurrentUser(String resourceId, ActionListener resourceSharingListener) { - resourceSharingListener.onResponse(Boolean.TRUE); - } -} diff --git a/spi/src/main/java/org/opensearch/security/spi/ResourceDocVersion.java b/spi/src/main/java/org/opensearch/security/spi/ResourceDocVersion.java deleted file mode 100644 index f321c2de0b..0000000000 --- a/spi/src/main/java/org/opensearch/security/spi/ResourceDocVersion.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright OpenSearch Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - */ - -package org.opensearch.security.spi; - -import java.io.IOException; -import java.util.Locale; - -import org.opensearch.core.common.io.stream.StreamInput; -import org.opensearch.core.common.io.stream.StreamOutput; -import org.opensearch.core.common.io.stream.Writeable; - -// TODO Job Scheduler keeps track of doc version. Should this keep track of version similarly? - -/** - * Structure to represent resource document version. - */ -public class ResourceDocVersion implements Comparable, Writeable { - private final long primaryTerm; - private final long seqNo; - private final long version; - - public ResourceDocVersion(long primaryTerm, long seqNo, long version) { - this.primaryTerm = primaryTerm; - this.seqNo = seqNo; - this.version = version; - } - - public ResourceDocVersion(StreamInput in) throws IOException { - this.primaryTerm = in.readLong(); - this.seqNo = in.readLong(); - this.version = in.readLong(); - } - - @Override - public void writeTo(StreamOutput out) throws IOException { - out.writeLong(this.primaryTerm); - out.writeLong(this.seqNo); - out.writeLong(this.version); - } - - public long getPrimaryTerm() { - return primaryTerm; - } - - public long getSeqNo() { - return seqNo; - } - - public long getVersion() { - return version; - } - - /** - * Compare two doc versions. Refer to https://github.com/elastic/elasticsearch/issues/10708 - * - * @param v the doc version to compare. - * @return -1 if this < v, 0 if this == v, otherwise 1; - */ - @Override - public int compareTo(ResourceDocVersion v) { - if (v == null) { - return 1; - } - if (this.seqNo < v.seqNo) { - return -1; - } - if (this.seqNo > v.seqNo) { - return 1; - } - if (this.primaryTerm < v.primaryTerm) { - return -1; - } - if (this.primaryTerm > v.primaryTerm) { - return 1; - } - return 0; - } - - @Override - public String toString() { - return String.format( - Locale.getDefault(), - "{_version: %s, _primary_term: %s, _seq_no: %s}", - this.version, - this.primaryTerm, - this.seqNo - ); - } -} diff --git a/spi/src/main/java/org/opensearch/security/spi/ResourceSharingExtension.java b/spi/src/main/java/org/opensearch/security/spi/ResourceSharingExtension.java index c7e1757f81..cddc9bfc7e 100644 --- a/spi/src/main/java/org/opensearch/security/spi/ResourceSharingExtension.java +++ b/spi/src/main/java/org/opensearch/security/spi/ResourceSharingExtension.java @@ -21,6 +21,4 @@ public interface ResourceSharingExtension { * @return resource index name. */ String getResourceIndex(); - - void assignResourceSharingService(ResourceSharingService service); } diff --git a/spi/src/main/java/org/opensearch/security/spi/ResourceSharingService.java b/spi/src/main/java/org/opensearch/security/spi/ResourceSharingService.java deleted file mode 100644 index 999cad0593..0000000000 --- a/spi/src/main/java/org/opensearch/security/spi/ResourceSharingService.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.opensearch.security.spi; - -import org.opensearch.core.action.ActionListener; - -public interface ResourceSharingService { - void isSharedWithCurrentUser(String resourceId, ActionListener shareListener); -} diff --git a/spi/src/main/java/org/opensearch/security/spi/actions/resource/get/GetResourceTransportAction.java b/spi/src/main/java/org/opensearch/security/spi/actions/resource/get/GetResourceTransportAction.java index d6b713803c..a8150c463c 100644 --- a/spi/src/main/java/org/opensearch/security/spi/actions/resource/get/GetResourceTransportAction.java +++ b/spi/src/main/java/org/opensearch/security/spi/actions/resource/get/GetResourceTransportAction.java @@ -28,7 +28,6 @@ import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.security.spi.ResourceParser; -import org.opensearch.security.spi.ResourceSharingService; import org.opensearch.security.spi.SharableResource; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; @@ -41,8 +40,6 @@ public class GetResourceTransportAction extends Hand GetResourceResponse> { private static final Logger log = LogManager.getLogger(GetResourceTransportAction.class); - private final ResourceSharingService resourceSharingService; - private final ResourceParser resourceParser; private final String resourceIndex; @@ -56,13 +53,11 @@ public GetResourceTransportAction( ActionFilters actionFilters, String actionName, String resourceIndex, - ResourceSharingService resourceSharingService, ResourceParser resourceParser, Client client, NamedXContentRegistry xContentRegistry ) { super(actionName, transportService, actionFilters, GetResourceRequest::new); - this.resourceSharingService = resourceSharingService; Objects.requireNonNull(resourceParser); this.resourceParser = resourceParser; this.resourceIndex = resourceIndex; diff --git a/spi/src/main/java/org/opensearch/security/spi/actions/resource/list/ListResourceTransportAction.java b/spi/src/main/java/org/opensearch/security/spi/actions/resource/list/ListResourceTransportAction.java index e0caa8f8c9..01a8e03bbd 100644 --- a/spi/src/main/java/org/opensearch/security/spi/actions/resource/list/ListResourceTransportAction.java +++ b/spi/src/main/java/org/opensearch/security/spi/actions/resource/list/ListResourceTransportAction.java @@ -29,9 +29,7 @@ import org.opensearch.index.query.MatchAllQueryBuilder; import org.opensearch.search.SearchHit; import org.opensearch.search.builder.SearchSourceBuilder; -import org.opensearch.security.spi.NoopResourceSharingService; import org.opensearch.security.spi.ResourceParser; -import org.opensearch.security.spi.ResourceSharingService; import org.opensearch.security.spi.SharableResource; import org.opensearch.tasks.Task; import org.opensearch.transport.TransportService; @@ -42,7 +40,6 @@ public class ListResourceTransportAction extends HandledTransportAction< ListResourceRequest, ListResourceResponse> { - private final ResourceSharingService resourceSharingService; private final ResourceParser resourceParser; @@ -57,14 +54,12 @@ public ListResourceTransportAction( ActionFilters actionFilters, String actionName, String resourceIndex, - ResourceSharingService resourceSharingService, ResourceParser resourceParser, Client client, NamedXContentRegistry xContentRegistry ) { super(actionName, transportService, actionFilters, ListResourceRequest::new); this.client = client; - this.resourceSharingService = resourceSharingService != null ? resourceSharingService : new NoopResourceSharingService(); this.resourceIndex = resourceIndex; this.xContentRegistry = xContentRegistry; Objects.requireNonNull(resourceParser); @@ -97,7 +92,6 @@ public void onResponse(SearchResponse searchResponse) { for (SearchHit hit : hits) { System.out.println("hit: " + hit.getSourceAsMap()); - System.out.println("hit score: " + hit.getScore()); try { XContentParser parser = XContentHelper.createParser( xContentRegistry,