Skip to content

Commit

Permalink
Remove unnecessary internal interfaces
Browse files Browse the repository at this point in the history
The Jakartars*Provider interfaces would make sense if multiple implementations were possible, or if other bundles needed to interact with the implementations, however the types are purely internal and can be removed to reduce the complexity of the implementation

Signed-off-by: Tim Ward <timothyjward@apache.org>
  • Loading branch information
timothyjward authored and maho7791 committed Jul 13, 2023
1 parent 1a0b8ae commit d3e9a24
Show file tree
Hide file tree
Showing 23 changed files with 358 additions and 1,050 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,9 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;

import org.eclipse.osgitech.rest.provider.application.JakartarsApplicationContentProvider;
import org.eclipse.osgitech.rest.provider.application.JakartarsApplicationProvider;
import org.eclipse.osgitech.rest.provider.application.JakartarsExtensionProvider;
import org.eclipse.osgitech.rest.provider.application.JakartarsResourceProvider;
import org.eclipse.osgitech.rest.runtime.application.JerseyApplication;
import org.eclipse.osgitech.rest.runtime.application.JerseyApplicationContentProvider;
import org.eclipse.osgitech.rest.runtime.application.JerseyApplicationProvider;
import org.eclipse.osgitech.rest.runtime.application.JerseyExtensionProvider;
import org.eclipse.osgitech.rest.runtime.application.JerseyResourceProvider;
import org.eclipse.osgitech.rest.runtime.application.feature.WhiteboardFeature;
Expand Down Expand Up @@ -105,7 +103,7 @@ public class DTOConverter {
* @param svc the service reference
* @return the service reference dto
*/
public static ApplicationDTO toApplicationDTO(JakartarsApplicationProvider applicationProvider) {
public static ApplicationDTO toApplicationDTO(JerseyApplicationProvider applicationProvider) {
if (applicationProvider == null) {
throw new IllegalArgumentException("Expected an application provider to create an ApplicationDTO");
}
Expand Down Expand Up @@ -163,16 +161,16 @@ public static ApplicationDTO toApplicationDTO(JakartarsApplicationProvider appli

if (applicationProvider.getContentProviders() != null) {

for (JakartarsApplicationContentProvider contentProvider : applicationProvider.getContentProviders()) {
for (JerseyApplicationContentProvider contentProvider : applicationProvider.getContentProviders()) {

if (contentProvider instanceof JerseyResourceProvider) {
ResourceDTO resDTO = toResourceDTO((JakartarsResourceProvider) contentProvider);
ResourceDTO resDTO = toResourceDTO((JerseyResourceProvider) contentProvider);
rdtos.add(resDTO);
if(resDTO.resourceMethods != null) {
rmidtos.addAll(Arrays.asList(resDTO.resourceMethods));
}
} else if (contentProvider instanceof JerseyExtensionProvider) {
edtos.add(toExtensionDTO((JerseyExtensionProvider<?>) contentProvider));
edtos.add(toExtensionDTO((JerseyExtensionProvider) contentProvider));
}
}
}
Expand All @@ -189,7 +187,7 @@ public static ApplicationDTO toApplicationDTO(JakartarsApplicationProvider appli
* @param svc the service reference
* @return the service reference dto
*/
public static FailedApplicationDTO toFailedApplicationDTO(JakartarsApplicationProvider applicationProvider, int reason) {
public static FailedApplicationDTO toFailedApplicationDTO(JerseyApplicationProvider applicationProvider, int reason) {
if (applicationProvider == null) {
throw new IllegalArgumentException("Expected an application provider to create a FailedApplicationDTO");
}
Expand All @@ -207,7 +205,7 @@ public static FailedApplicationDTO toFailedApplicationDTO(JakartarsApplicationPr
* @param resourceProvider the resource provider instance, needed to be inspect
* @return a {@link ResourceDTO} or <code>null</code>, if the given object is no Jakartars resource
*/
public static <T> ResourceDTO toResourceDTO(JakartarsResourceProvider resourceProvider) {
public static <T> ResourceDTO toResourceDTO(JerseyResourceProvider resourceProvider) {
if (resourceProvider == null) {
throw new IllegalArgumentException("Expected an resource provider to create an ResourceDTO");
}
Expand Down Expand Up @@ -272,7 +270,7 @@ public static <T> BaseDTO toDTO(Class<?> clazz) {
* @param reason the error reason
* @return a {@link FailedResourceDTO} or <code>null</code>, if the given object is no Jakartars resource
*/
public static FailedResourceDTO toFailedResourceDTO(JakartarsResourceProvider resourceProvider, int reason) {
public static FailedResourceDTO toFailedResourceDTO(JerseyResourceProvider resourceProvider, int reason) {
if (resourceProvider == null) {
throw new IllegalArgumentException("Expected an resource provider to create an FailedResourceDTO");
}
Expand All @@ -289,7 +287,7 @@ public static FailedResourceDTO toFailedResourceDTO(JakartarsResourceProvider re
* @param provider the extension provider instance, needed to be inspect
* @return a {@link ExtensionDTO} or <code>null</code>, if the given object is no Jakartars extension
*/
public static <T> ExtensionDTO toExtensionDTO(JakartarsExtensionProvider provider) {
public static <T> ExtensionDTO toExtensionDTO(JerseyExtensionProvider provider) {
if (provider == null) {
throw new IllegalArgumentException("Expected an application content provider to create an ExtensionDTO");
}
Expand Down Expand Up @@ -343,7 +341,7 @@ private static <T> ExtensionDTO toExtensionDTO(Class<?> clazz, ExtensionDTO dto)
* @param reason the error reason
* @return a {@link FailedExtensionDTO} or <code>null</code>, if the given object is no Jakartars extension
*/
public static FailedExtensionDTO toFailedExtensionDTO(JakartarsExtensionProvider provider, int reason) {
public static FailedExtensionDTO toFailedExtensionDTO(JerseyExtensionProvider provider, int reason) {
if (provider == null) {
throw new IllegalArgumentException("Expected an application content provider to create an FailedExtensionDTO");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import java.util.Set;

import org.eclipse.osgitech.rest.binder.PrototypeServiceBinder;
import org.eclipse.osgitech.rest.provider.application.JakartarsApplicationContentProvider;
import org.eclipse.osgitech.rest.runtime.application.JerseyApplicationContentProvider;
import org.glassfish.jersey.internal.inject.InjectionManager;
import org.osgi.framework.ServiceObjects;

Expand All @@ -30,18 +30,18 @@
*/
public class JerseyResourceInstanceFactory<T> implements InjectableFactory<T> {

private volatile Set<T> instanceCache = new HashSet<>();
private JakartarsApplicationContentProvider provider;
private ServiceObjects<T> serviceObjects;
private volatile Set<Object> instanceCache = new HashSet<>();
private JerseyApplicationContentProvider provider;
private ServiceObjects<Object> serviceObjects;
private InjectionManager injectionManager;

/**
* Creates a new instance. A service reference will be cached lazily, on the first request
* @param clazz the resource class
*/
public JerseyResourceInstanceFactory(JakartarsApplicationContentProvider provider) {
public JerseyResourceInstanceFactory(JerseyApplicationContentProvider provider) {
this.provider = provider;
serviceObjects = provider.getProviderObject();;
serviceObjects = provider.getProviderObject();
}

/* (non-Javadoc)
Expand All @@ -55,14 +55,15 @@ public void dispose(T object) {
/* (non-Javadoc)
* @see org.glassfish.hk2.api.Factory#provide()
*/
@SuppressWarnings("unchecked")
@Override
public T provide() {
try {
// If the service objects is null, the service is obviously gone and we return null to avoid exception in jersey
if (serviceObjects == null) {
return null;
}
T instance = serviceObjects.getService();
Object instance = serviceObjects.getService();
if(instance == null) {
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import java.util.Set;
import java.util.stream.Collectors;

import org.eclipse.osgitech.rest.provider.application.JakartarsApplicationProvider;
import org.eclipse.osgitech.rest.runtime.application.JerseyApplicationProvider;

/**
* Helper class for the dispatcher
Expand All @@ -34,13 +34,13 @@ public class DispatcherHelper {
* @param applications the {@link Collection} of applications
* @return a {@link Set} of application or an empty {@link Set}
*/
public static Set<JakartarsApplicationProvider> getDefaultApplications(Collection<JakartarsApplicationProvider> applications) {
public static Set<JerseyApplicationProvider> getDefaultApplications(Collection<JerseyApplicationProvider> applications) {
if (applications == null) {
return Collections.emptySet();
}

Set<JakartarsApplicationProvider> resultSet = applications.stream()
.filter(JakartarsApplicationProvider::isDefault)
Set<JerseyApplicationProvider> resultSet = applications.stream()
.filter(JerseyApplicationProvider::isDefault)
.sorted()
.collect(Collectors.toCollection(LinkedHashSet::new));
return resultSet;
Expand All @@ -51,7 +51,7 @@ public static Set<JakartarsApplicationProvider> getDefaultApplications(Collectio
* @param applications the {@link Collection} of applications
* @return a {@link Optional} of application
*/
public static Optional<JakartarsApplicationProvider> getDefaultApplication(Collection<JakartarsApplicationProvider> applications) {
public static Optional<JerseyApplicationProvider> getDefaultApplication(Collection<JerseyApplicationProvider> applications) {
if (applications == null) {
return Optional.empty();
}
Expand Down

This file was deleted.

Loading

0 comments on commit d3e9a24

Please sign in to comment.