Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion org.eclipse.sisu.inject.extender/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<parent>
<groupId>org.eclipse.sisu</groupId>
<artifactId>sisu-inject</artifactId>
<version>1.0.1-SNAPSHOT</version>
<version>2.0.0-SNAPSHOT</version>
</parent>

<artifactId>org.eclipse.sisu.inject.extender</artifactId>
Expand Down
8 changes: 2 additions & 6 deletions org.eclipse.sisu.inject/bnd.bnd
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
Bundle-Name: Sisu-Inject
Bundle-SymbolicName: org.eclipse.sisu.inject;singleton:=true
Main-Class: org.eclipse.sisu.launch.Main
-exportcontents: org.eclipse.sisu.*,\
org.sonatype.inject;x-internal:=true
-exportcontents: org.eclipse.sisu.*
# remove annotation processor dependencies (never used at runtime)
# mark all optional dependencies as optional
Import-Package: com.google.inject.servlet;resolution:=optional,\
javax.servlet.*;resolution:=optional,\
jakarta.servlet.*;resolution:=optional,\
org.slf4j.*;resolution:=optional,\
org.junit.*;resolution:=optional,\
junit.framework.*;resolution:=optional,\
org.testng.*;resolution:=optional,\
javax.enterprise.inject;resolution:=optional,\
!javax.annotation.processing.*,\
!javax.lang.model.*,\
!javax.tools.*,\
Expand Down
333 changes: 15 additions & 318 deletions org.eclipse.sisu.inject/pom.xml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
*/
package org.eclipse.sisu;

import jakarta.inject.Provider;
import jakarta.inject.Qualifier;
import java.lang.annotation.Annotation;
import java.util.Map.Entry;
import javax.inject.Provider;
import javax.inject.Qualifier;

/**
* Describes <b>Q</b>ualified bean implementations of <b>T</b>:<br>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
*/
package org.eclipse.sisu;

import jakarta.inject.Qualifier;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.inject.Qualifier;

/**
* Marks dependencies that should be dynamic proxies:<br>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
*/
package org.eclipse.sisu;

import jakarta.inject.Qualifier;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.inject.Qualifier;

/**
* {@link Qualifier} of application parameters:<br>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public <B> void hear(final TypeLiteral<B> type, final TypeEncounter<B> encounter
final Set<String> visited = new HashSet<>();

for (final BeanProperty<?> property : new BeanProperties(type.getRawType())) {
if (property.getAnnotation(javax.inject.Inject.class) != null
if (property.getAnnotation(jakarta.inject.Inject.class) != null
|| property.getAnnotation(com.google.inject.Inject.class) != null) {
continue; // these properties will have already been injected by Guice
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,6 @@
* Builds {@link BeanLifecycle}s by searching class hierarchies for JSR250 annotations.
*/
final class LifecycleBuilder {
static {
boolean hasJsr250Annotations;
try {
hasJsr250Annotations = javax.annotation.PostConstruct.class.isAnnotation()
&& javax.annotation.PreDestroy.class.isAnnotation();
} catch (final LinkageError e) {
hasJsr250Annotations = false;
}
HAS_JSR250_ANNOTATIONS = hasJsr250Annotations;
}

private static final boolean HAS_JSR250_ANNOTATIONS;

// ----------------------------------------------------------------------
// Implementation fields
Expand Down Expand Up @@ -108,15 +96,7 @@ private void addLifecycleMethods(final Class<?> clazz) {
}

private boolean isAnnotationPresent(final Method method, final Class<? extends Annotation> annotationClass) {
boolean result = method.isAnnotationPresent(annotationClass);
if (!result && HAS_JSR250_ANNOTATIONS) {
if (PostConstruct.class.equals(annotationClass)) {
result = method.isAnnotationPresent(javax.annotation.PostConstruct.class);
} else if (PreDestroy.class.equals(annotationClass)) {
result = method.isAnnotationPresent(javax.annotation.PreDestroy.class);
}
}
return result;
return method.isAnnotationPresent(annotationClass);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@

import com.google.inject.ImplementedBy;
import com.google.inject.Key;
import jakarta.inject.Qualifier;
import java.lang.annotation.Annotation;
import javax.inject.Qualifier;
import org.eclipse.sisu.BeanEntry;
import org.eclipse.sisu.Mediator;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
import com.google.inject.Key;
import com.google.inject.Singleton;
import com.google.inject.TypeLiteral;
import jakarta.inject.Inject;
import java.util.Map;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import javax.inject.Inject;
import org.eclipse.sisu.BeanEntry;
import org.eclipse.sisu.Mediator;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

import com.google.inject.Binding;
import com.google.inject.Singleton;
import javax.inject.Inject;
import jakarta.inject.Inject;
import org.eclipse.sisu.Priority;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
import com.google.inject.spi.InstanceBinding;
import com.google.inject.spi.ProviderInstanceBinding;
import com.google.inject.spi.ProvidesMethodBinding;
import jakarta.inject.Provider;
import java.security.AccessController;
import java.security.PrivilegedAction;
import javax.inject.Provider;

/**
* Utility methods for dealing with changes in the Guice 4.0 SPI.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
import com.google.inject.spi.ProviderInstanceBinding;
import com.google.inject.spi.ProviderKeyBinding;
import com.google.inject.spi.UntargettedBinding;
import jakarta.inject.Provider;
import java.lang.annotation.Annotation;
import javax.inject.Provider;
import org.eclipse.sisu.Description;
import org.eclipse.sisu.Priority;

Expand All @@ -43,14 +43,6 @@ final class Implementations {
hasGuiceServlet = false;
}
HAS_GUICE_SERVLET = hasGuiceServlet;

boolean hasJsr250Priority;
try {
hasJsr250Priority = javax.annotation.Priority.class.isAnnotation();
} catch (final LinkageError e) {
hasJsr250Priority = false;
}
HAS_JSR250_PRIORITY = hasJsr250Priority;
}

// ----------------------------------------------------------------------
Expand All @@ -59,8 +51,6 @@ final class Implementations {

private static final boolean HAS_GUICE_SERVLET;

private static final boolean HAS_JSR250_PRIORITY;

// ----------------------------------------------------------------------
// Constructors
// ----------------------------------------------------------------------
Expand Down Expand Up @@ -102,7 +92,7 @@ public static <T extends Annotation> T getAnnotation(final Binding<?> binding, f
if (null != annotationSource) {
annotation = annotationSource.getAnnotation(annotationType);
if (null == annotation) {
if (HAS_JSR250_PRIORITY && isPriority) {
if (isPriority) {
annotation = adaptJsr250(binding, annotationSource);
} else if (Description.class.equals(annotationType)) {
annotation = adaptLegacy(binding, annotationSource);
Expand All @@ -118,13 +108,13 @@ public static <T extends Annotation> T getAnnotation(final Binding<?> binding, f

@SuppressWarnings("unchecked")
private static <T extends Annotation> T adaptJsr250(final Binding<?> binding, final Class<?> clazz) {
final javax.annotation.Priority jsr250 = clazz.getAnnotation(javax.annotation.Priority.class);
final Priority jsr250 = clazz.getAnnotation(Priority.class);
return null != jsr250 ? (T) new PrioritySource(binding.getSource(), jsr250.value()) : null;
}

@SuppressWarnings({"unchecked", "deprecation"})
@SuppressWarnings("unchecked")
private static <T extends Annotation> T adaptLegacy(final Binding<?> binding, final Class<?> clazz) {
final org.sonatype.inject.Description legacy = clazz.getAnnotation(org.sonatype.inject.Description.class);
final Description legacy = clazz.getAnnotation(Description.class);
return null != legacy ? (T) new DescriptionSource(binding.getSource(), legacy.value()) : null;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
import com.google.inject.Key;
import com.google.inject.Singleton;
import com.google.inject.TypeLiteral;
import jakarta.inject.Inject;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import org.eclipse.sisu.Hidden;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@

import com.google.inject.Binding;
import com.google.inject.Scopes;
import jakarta.inject.Provider;
import java.lang.annotation.Annotation;
import javax.inject.Provider;
import org.eclipse.sisu.BeanEntry;
import org.eclipse.sisu.Description;

Expand Down Expand Up @@ -120,9 +120,9 @@ public String toString() {
// ----------------------------------------------------------------------

/**
* Implementation of @{@link javax.inject.Named} that can also act like @{@link com.google.inject.name.Named}.
* Implementation of @{@link jakarta.inject.Named} that can also act like @{@link com.google.inject.name.Named}.
*/
private static final class JsrNamed implements com.google.inject.name.Named, javax.inject.Named {
private static final class JsrNamed implements com.google.inject.name.Named, jakarta.inject.Named {
// ----------------------------------------------------------------------
// Implementation fields
// ----------------------------------------------------------------------
Expand All @@ -148,7 +148,7 @@ public String value() {

@Override
public Class<? extends Annotation> annotationType() {
return javax.inject.Named.class;
return jakarta.inject.Named.class;
}

@Override
Expand All @@ -164,15 +164,15 @@ public boolean equals(final Object rhs) {
if (rhs instanceof com.google.inject.name.Named) {
return value.equals(((com.google.inject.name.Named) rhs).value());
}
if (rhs instanceof javax.inject.Named) {
return value.equals(((javax.inject.Named) rhs).value());
if (rhs instanceof jakarta.inject.Named) {
return value.equals(((jakarta.inject.Named) rhs).value());
}
return false;
}

@Override
public String toString() {
return "@" + javax.inject.Named.class.getName() + "(value=" + value + ")";
return "@" + jakarta.inject.Named.class.getName() + "(value=" + value + ")";
}
}
}
Loading
Loading