, P extends PersistentProperty> {
@Alias
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_BeanWrapperPropertyAccessorFactory.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_BeanWrapperPropertyAccessorFactory.java
index dfde771aa..fe0fcfe5e 100644
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_BeanWrapperPropertyAccessorFactory.java
+++ b/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_BeanWrapperPropertyAccessorFactory.java
@@ -5,10 +5,9 @@
import org.springframework.data.mapping.PersistentEntity;
import org.springframework.data.mapping.PersistentPropertyAccessor;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveCglibSupport;
+import org.springframework.graalvm.substitutions.OnlyIfPresent;
-@TargetClass(className = "org.springframework.data.mapping.model.BeanWrapperPropertyAccessorFactory", onlyWith = { OnlyPresent.class, RemoveCglibSupport.class })
+@TargetClass(className = "org.springframework.data.mapping.model.BeanWrapperPropertyAccessorFactory", onlyWith = { OnlyIfPresent.class })
public final class Target_BeanWrapperPropertyAccessorFactory implements PersistentPropertyAccessorFactory {
@Alias
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_ClassGeneratingEntityInstantiator.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_ClassGeneratingEntityInstantiator.java
index 848a46ba3..276f9a882 100644
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_ClassGeneratingEntityInstantiator.java
+++ b/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_ClassGeneratingEntityInstantiator.java
@@ -6,10 +6,9 @@
import com.oracle.svm.core.annotate.TargetClass;
import org.springframework.data.mapping.PersistentEntity;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveCglibSupport;
+import org.springframework.graalvm.substitutions.OnlyIfPresent;
-@TargetClass(className = "org.springframework.data.mapping.model.ClassGeneratingEntityInstantiator", onlyWith = { OnlyPresent.class, RemoveCglibSupport.class })
+@TargetClass(className = "org.springframework.data.mapping.model.ClassGeneratingEntityInstantiator", onlyWith = { OnlyIfPresent.class })
final class Target_ClassGeneratingEntityInstantiator {
@Substitute
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_ClassGeneratingPropertyAccessorFactory.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_ClassGeneratingPropertyAccessorFactory.java
index 457d5c141..cf41bfdd0 100644
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_ClassGeneratingPropertyAccessorFactory.java
+++ b/spring-graalvm-native-substitutions/src/main/java/org/springframework/data/mapping/model/Target_ClassGeneratingPropertyAccessorFactory.java
@@ -4,10 +4,9 @@
import com.oracle.svm.core.annotate.Delete;
import com.oracle.svm.core.annotate.TargetClass;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveCglibSupport;
+import org.springframework.graalvm.substitutions.OnlyIfPresent;
@Delete
-@TargetClass(className = "org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory", onlyWith = { OnlyPresent.class, RemoveCglibSupport.class })
+@TargetClass(className = "org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory", onlyWith = { OnlyIfPresent.class })
final class Target_ClassGeneratingPropertyAccessorFactory {
}
diff --git a/spring-graalvm-native-substitutions/src/main/java/io/micrometer/core/instrument/binder/tomcat/CatalinaManagerPresent.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/CatalinaManagerIsAround.java
similarity index 88%
rename from spring-graalvm-native-substitutions/src/main/java/io/micrometer/core/instrument/binder/tomcat/CatalinaManagerPresent.java
rename to spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/CatalinaManagerIsAround.java
index 23ee9d2c9..395c805df 100644
--- a/spring-graalvm-native-substitutions/src/main/java/io/micrometer/core/instrument/binder/tomcat/CatalinaManagerPresent.java
+++ b/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/CatalinaManagerIsAround.java
@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package io.micrometer.core.instrument.binder.tomcat;
+package org.springframework.graalvm.substitutions;
import java.util.function.BooleanSupplier;
-public class CatalinaManagerPresent implements BooleanSupplier {
+public class CatalinaManagerIsAround implements BooleanSupplier {
@Override
public boolean getAsBoolean() {
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/OnlyPresent.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/OnlyIfPresent.java
similarity index 94%
rename from spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/OnlyPresent.java
rename to spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/OnlyIfPresent.java
index 59ca61d7d..edbb654c3 100644
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/OnlyPresent.java
+++ b/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/OnlyIfPresent.java
@@ -18,7 +18,7 @@
import java.util.function.Predicate;
-public class OnlyPresent implements Predicate {
+public class OnlyIfPresent implements Predicate {
@Override
public boolean test(String type) {
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveCglibSupport.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveCglibSupport.java
deleted file mode 100644
index fe920c902..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveCglibSupport.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.springframework.graalvm.substitutions;
-
-import java.util.function.BooleanSupplier;
-
-public class RemoveCglibSupport implements BooleanSupplier {
-
- @Override
- public boolean getAsBoolean() {
- return Boolean.valueOf(System.getProperty("spring.native.remove-cglib-support", "true"));
- }
-
-}
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveSpelSupport.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveSpelSupport.java
deleted file mode 100644
index ccda17d77..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveSpelSupport.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.springframework.graalvm.substitutions;
-
-import java.util.function.BooleanSupplier;
-
-public class RemoveSpelSupport implements BooleanSupplier {
-
- @Override
- public boolean getAsBoolean() {
- return Boolean.valueOf(System.getProperty("spring.native.remove-spel-support", "false"));
- }
-
-}
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveXmlSupport.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveXmlSupport.java
index 999fa4153..3b9e8e92c 100644
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveXmlSupport.java
+++ b/spring-graalvm-native-substitutions/src/main/java/org/springframework/graalvm/substitutions/RemoveXmlSupport.java
@@ -6,7 +6,7 @@ public class RemoveXmlSupport implements BooleanSupplier {
@Override
public boolean getAsBoolean() {
- return Boolean.valueOf(System.getProperty("spring.native.remove-xml-support", "false"));
+ return Boolean.valueOf(System.getProperty("spring.xml.ignore", "false"));
}
}
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/http/codec/support/Target_BaseDefaultCodecs.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/http/codec/support/Target_BaseDefaultCodecs.java
deleted file mode 100644
index 8529dad3d..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/http/codec/support/Target_BaseDefaultCodecs.java
+++ /dev/null
@@ -1,184 +0,0 @@
-package org.springframework.http.codec.support;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-
-import org.springframework.core.codec.AbstractDataBufferDecoder;
-import org.springframework.core.codec.Decoder;
-import org.springframework.core.codec.Encoder;
-import org.springframework.http.codec.DecoderHttpMessageReader;
-import org.springframework.http.codec.EncoderHttpMessageWriter;
-import org.springframework.http.codec.FormHttpMessageReader;
-import org.springframework.http.codec.FormHttpMessageWriter;
-import org.springframework.http.codec.HttpMessageReader;
-import org.springframework.http.codec.HttpMessageWriter;
-import org.springframework.http.codec.ServerSentEventHttpMessageReader;
-import org.springframework.http.codec.json.AbstractJackson2Decoder;
-import org.springframework.http.codec.json.Jackson2SmileDecoder;
-import org.springframework.http.codec.json.Jackson2SmileEncoder;
-import org.springframework.http.codec.multipart.MultipartHttpMessageReader;
-import org.springframework.http.codec.multipart.MultipartHttpMessageWriter;
-import org.springframework.http.codec.multipart.SynchronossPartHttpMessageReader;
-import org.springframework.http.codec.protobuf.ProtobufDecoder;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveXmlSupport;
-import org.springframework.lang.Nullable;
-
-@TargetClass(className = "org.springframework.http.codec.support.BaseDefaultCodecs", onlyWith = { OnlyPresent.class, RemoveXmlSupport.class })
-final class Target_BaseDefaultCodecs {
-
- @Alias
- static boolean jackson2Present;
-
- @Alias
- private static boolean jackson2SmilePresent;
-
- @Alias
- private static boolean jaxb2Present;
-
- @Alias
- private static boolean protobufPresent;
-
- @Alias
- static boolean synchronossMultipartPresent;
-
- @Alias
- private Integer maxInMemorySize;
-
- @Alias
- private Boolean enableLoggingRequestDetails;
-
- @Alias
- private Encoder> jackson2SmileEncoder;
-
- @Alias
- private boolean registerDefaults;
-
- @Alias
- private Decoder> jackson2SmileDecoder;
-
- @Substitute
- private void initCodec(@Nullable Object codec) {
-
- if (codec instanceof DecoderHttpMessageReader) {
- codec = ((DecoderHttpMessageReader) codec).getDecoder();
- }
-
- if (codec == null) {
- return;
- }
-
- Integer size = this.maxInMemorySize;
- if (size != null) {
- if (codec instanceof AbstractDataBufferDecoder) {
- ((AbstractDataBufferDecoder>) codec).setMaxInMemorySize(size);
- }
- if (protobufPresent) {
- if (codec instanceof ProtobufDecoder) {
- ((ProtobufDecoder) codec).setMaxMessageSize(size);
- }
- }
- if (jackson2Present) {
- if (codec instanceof AbstractJackson2Decoder) {
- ((AbstractJackson2Decoder) codec).setMaxInMemorySize(size);
- }
- }
- if (codec instanceof FormHttpMessageReader) {
- ((FormHttpMessageReader) codec).setMaxInMemorySize(size);
- }
- if (codec instanceof ServerSentEventHttpMessageReader) {
- ((ServerSentEventHttpMessageReader) codec).setMaxInMemorySize(size);
- initCodec(((ServerSentEventHttpMessageReader) codec).getDecoder());
- }
- if (synchronossMultipartPresent) {
- if (codec instanceof SynchronossPartHttpMessageReader) {
- ((SynchronossPartHttpMessageReader) codec).setMaxInMemorySize(size);
- }
- }
- }
-
- Boolean enable = this.enableLoggingRequestDetails;
- if (enable != null) {
- if (codec instanceof FormHttpMessageReader) {
- ((FormHttpMessageReader) codec).setEnableLoggingRequestDetails(enable);
- }
- if (codec instanceof MultipartHttpMessageReader) {
- ((MultipartHttpMessageReader) codec).setEnableLoggingRequestDetails(enable);
- }
- if (synchronossMultipartPresent) {
- if (codec instanceof SynchronossPartHttpMessageReader) {
- ((SynchronossPartHttpMessageReader) codec).setEnableLoggingRequestDetails(enable);
- }
- }
- if (codec instanceof FormHttpMessageWriter) {
- ((FormHttpMessageWriter) codec).setEnableLoggingRequestDetails(enable);
- }
- if (codec instanceof MultipartHttpMessageWriter) {
- ((MultipartHttpMessageWriter) codec).setEnableLoggingRequestDetails(enable);
- }
- }
-
- if (codec instanceof MultipartHttpMessageReader) {
- initCodec(((MultipartHttpMessageReader) codec).getPartReader());
- }
- else if (codec instanceof MultipartHttpMessageWriter) {
- initCodec(((MultipartHttpMessageWriter) codec).getFormWriter());
- }
- }
-
- @Substitute
- final List> getObjectReaders() {
- if (!this.registerDefaults) {
- return Collections.emptyList();
- }
- List> readers = new ArrayList<>();
- if (jackson2Present) {
- addCodec(readers, new DecoderHttpMessageReader<>(getJackson2JsonDecoder()));
- }
- if (jackson2SmilePresent) {
- addCodec(readers, new DecoderHttpMessageReader<>(this.jackson2SmileDecoder != null ?
- (Jackson2SmileDecoder) this.jackson2SmileDecoder : new Jackson2SmileDecoder()));
- }
-
- // client vs server..
- extendObjectReaders(readers);
-
- return readers;
- }
-
- @Alias
- protected void addCodec(List codecs, T codec) {
- }
-
- @Alias
- protected void extendObjectReaders(List> objectReaders) {
- }
-
- @Substitute
- final List> getBaseObjectWriters() {
- List> writers = new ArrayList<>();
- if (jackson2Present) {
- writers.add(new EncoderHttpMessageWriter<>(getJackson2JsonEncoder()));
- }
- if (jackson2SmilePresent) {
- writers.add(new EncoderHttpMessageWriter<>(this.jackson2SmileEncoder != null ?
- (Jackson2SmileEncoder) this.jackson2SmileEncoder : new Jackson2SmileEncoder()));
- }
- return writers;
- }
-
- @Alias
- protected Decoder> getJackson2JsonDecoder() {
- return null;
- }
-
- @Alias
- protected Encoder> getJackson2JsonEncoder() {
- return null;
- }
-}
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/orm/jpa/persistenceunit/Target_DefaultPersistenceUnitManager.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/orm/jpa/persistenceunit/Target_DefaultPersistenceUnitManager.java
index 45c098e94..3e23fe6a5 100644
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/orm/jpa/persistenceunit/Target_DefaultPersistenceUnitManager.java
+++ b/spring-graalvm-native-substitutions/src/main/java/org/springframework/orm/jpa/persistenceunit/Target_DefaultPersistenceUnitManager.java
@@ -20,7 +20,7 @@
import com.oracle.svm.core.annotate.Substitute;
import com.oracle.svm.core.annotate.TargetClass;
-import org.springframework.graalvm.substitutions.OnlyPresent;
+import org.springframework.graalvm.substitutions.OnlyIfPresent;
/**
* Workaround for
@@ -44,7 +44,7 @@
* org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl(DefaultPersistenceUnitManager.java:636)
* @author Andy Clement
*/
-@TargetClass(className = "org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager", onlyWith = OnlyPresent.class)
+@TargetClass(className = "org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager", onlyWith = OnlyIfPresent.class)
public final class Target_DefaultPersistenceUnitManager {
@Substitute
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/util/Target_DefaultPropertiesPersister.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/util/Target_DefaultPropertiesPersister.java
deleted file mode 100644
index 63ebf60d2..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/util/Target_DefaultPropertiesPersister.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.springframework.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Properties;
-
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveXmlSupport;
-
-@TargetClass(className = "org.springframework.util.DefaultPropertiesPersister", onlyWith = { OnlyPresent.class, RemoveXmlSupport.class })
-final class Target_DefaultPropertiesPersister {
-
- @Substitute
- public void loadFromXml(Properties props, InputStream is) throws IOException {
- throw new UnsupportedOperationException("XML support disabled");
- }
-
- @Substitute
- public void storeToXml(Properties props, OutputStream os, String header) throws IOException {
- throw new UnsupportedOperationException("XML support disabled");
- }
-
- @Substitute
- public void storeToXml(Properties props, OutputStream os, String header, String encoding) throws IOException {
- throw new UnsupportedOperationException("XML support disabled");
- }
-}
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/client/Target_RestTemplate.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/client/Target_RestTemplate.java
deleted file mode 100644
index f99ac87c6..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/client/Target_RestTemplate.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.springframework.web.client;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.client.ClientHttpResponse;
-import org.springframework.http.converter.ByteArrayHttpMessageConverter;
-import org.springframework.http.converter.FormHttpMessageConverter;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.ResourceHttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
-import org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter;
-import org.springframework.http.converter.feed.AtomFeedHttpMessageConverter;
-import org.springframework.http.converter.feed.RssChannelHttpMessageConverter;
-import org.springframework.http.converter.json.GsonHttpMessageConverter;
-import org.springframework.http.converter.json.JsonbHttpMessageConverter;
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
-import org.springframework.http.converter.smile.MappingJackson2SmileHttpMessageConverter;
-import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter;
-import org.springframework.graalvm.substitutions.FormHttpMessageConverterIsAround;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveXmlSupport;
-import org.springframework.web.util.DefaultUriBuilderFactory;
-import org.springframework.web.util.UriTemplateHandler;
-
-@TargetClass(className = "org.springframework.web.client.RestTemplate", onlyWith = { OnlyPresent.class, FormHttpMessageConverterIsAround.class, RemoveXmlSupport.class })
-final class Target_RestTemplate {
-
- @Alias
- private List> messageConverters;
-
- @Alias
- private UriTemplateHandler uriTemplateHandler;
-
- @Alias
- private static boolean romePresent;
-
- @Alias
- private static boolean jaxb2Present;
-
- @Alias
- private static boolean jackson2Present;
-
- @Alias
- private static boolean jackson2XmlPresent;
-
- @Alias
- private static boolean jackson2SmilePresent;
-
- @Alias
- private static boolean jackson2CborPresent;
-
- @Alias
- private static boolean gsonPresent;
-
- @Alias
- private static boolean jsonbPresent;
-
- @Alias
- private ResponseErrorHandler errorHandler;
-
- @Alias
- private ResponseExtractor headersExtractor;
-
-
- @Substitute
- public Target_RestTemplate() {
- this.messageConverters = new ArrayList<>();
- this.errorHandler = new DefaultResponseErrorHandler();
- this.headersExtractor = new Target_RestTemplate_HeadersExtractor();
-
- this.messageConverters.add(new ByteArrayHttpMessageConverter());
- this.messageConverters.add(new StringHttpMessageConverter());
- this.messageConverters.add(new ResourceHttpMessageConverter(false));
- this.messageConverters.add(new FormHttpMessageConverter()); // Impossible to create a substitution for AllEncompassingFormHttpMessageConverter for now so we use that one
-
- if (romePresent) {
- this.messageConverters.add(new AtomFeedHttpMessageConverter());
- this.messageConverters.add(new RssChannelHttpMessageConverter());
- }
-
- if (jackson2XmlPresent) {
- this.messageConverters.add(new MappingJackson2XmlHttpMessageConverter());
- }
-
- if (jackson2Present) {
- this.messageConverters.add(new MappingJackson2HttpMessageConverter());
- }
- else if (gsonPresent) {
- this.messageConverters.add(new GsonHttpMessageConverter());
- }
- else if (jsonbPresent) {
- this.messageConverters.add(new JsonbHttpMessageConverter());
- }
-
- if (jackson2SmilePresent) {
- this.messageConverters.add(new MappingJackson2SmileHttpMessageConverter());
- }
- if (jackson2CborPresent) {
- this.messageConverters.add(new MappingJackson2CborHttpMessageConverter());
- }
-
- this.uriTemplateHandler = initUriTemplateHandler();
- }
-
- @Alias
- private static DefaultUriBuilderFactory initUriTemplateHandler() {
- return null;
- }
-
-}
-
-@TargetClass(className = "org.springframework.web.client.RestTemplate", innerClass ="HeadersExtractor", onlyWith = { OnlyPresent.class, FormHttpMessageConverterIsAround.class, RemoveXmlSupport.class })
-final class Target_RestTemplate_HeadersExtractor implements ResponseExtractor {
-
- @Alias
- public HttpHeaders extractData(ClientHttpResponse response) throws IOException {
- return null;
- }
-}
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/filter/Target_FormContentFilter.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/filter/Target_FormContentFilter.java
deleted file mode 100644
index c9e68aa16..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/filter/Target_FormContentFilter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.springframework.web.filter;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.RecomputeFieldValue;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.springframework.http.converter.FormHttpMessageConverter;
-import org.springframework.graalvm.substitutions.FormHttpMessageConverterIsAround;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveXmlSupport;
-
-@TargetClass(className = "org.springframework.web.filter.FormContentFilter", onlyWith = { OnlyPresent.class, FormHttpMessageConverterIsAround.class, RemoveXmlSupport.class })
-final class Target_FormContentFilter {
-
- @Alias
- @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.NewInstance, declClass = HashSet.class, isFinal = true)
- private Set requiredProperties;
-
- @Alias
- @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.NewInstance, declClass = Log.class, isFinal = true)
- protected Log logger;
-
- @Alias
- @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.NewInstance, declClass = FormHttpMessageConverter.class)
- private FormHttpMessageConverter formConverter;
-
- @Substitute
- public Target_FormContentFilter() {
- this.formConverter = new FormHttpMessageConverter();
- this.logger = LogFactory.getLog(getClass());
- this.requiredProperties = new HashSet<>(4);
- }
-}
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/Target_DispatcherServlet.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/Target_DispatcherServlet.java
deleted file mode 100644
index 6cc10aca0..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/Target_DispatcherServlet.java
+++ /dev/null
@@ -1,348 +0,0 @@
-package org.springframework.web.servlet;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.function.Supplier;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.RecomputeFieldValue;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-import org.apache.commons.logging.Log;
-
-import org.springframework.beans.factory.BeanFactoryUtils;
-import org.springframework.beans.factory.NoSuchBeanDefinitionException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.annotation.AnnotationAwareOrderComparator;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.web.multipart.MultipartResolver;
-import org.springframework.web.servlet.function.support.HandlerFunctionAdapter;
-import org.springframework.web.servlet.function.support.RouterFunctionMapping;
-import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping;
-import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;
-import org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter;
-import org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter;
-import org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver;
-import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
-import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
-import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
-import org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver;
-import org.springframework.web.servlet.support.SessionFlashMapManager;
-import org.springframework.web.servlet.theme.FixedThemeResolver;
-import org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator;
-import org.springframework.web.servlet.view.InternalResourceViewResolver;
-
-@TargetClass(className = "org.springframework.web.servlet.DispatcherServlet", onlyWith = { OnlyPresent.class })
-final class Target_DispatcherServlet {
-
- @Alias
- protected Log logger;
-
- @Alias
- @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.Reset, isFinal = true)
- private static Properties defaultStrategies;
-
- @Alias
- private MultipartResolver multipartResolver;
-
- @Alias
- private LocaleResolver localeResolver;
-
- @Alias
- private ThemeResolver themeResolver;
-
- @Alias
- private List handlerMappings;
-
- @Alias
- private List handlerAdapters;
-
- @Alias
- private List handlerExceptionResolvers;
-
- @Alias
- private RequestToViewNameTranslator viewNameTranslator;
-
- @Alias
- private FlashMapManager flashMapManager;
-
- @Alias
- private List viewResolvers;
-
- @Alias
- private boolean detectAllHandlerMappings;
-
- @Alias
- private boolean detectAllHandlerAdapters;
-
- @Alias
- private boolean detectAllHandlerExceptionResolvers;
-
- @Alias
- private boolean detectAllViewResolvers;
-
- @Alias
- private boolean throwExceptionIfNoHandlerFound;
-
- @Alias
- private boolean cleanupAfterInclude;
-
-
- @Substitute
- private void initMultipartResolver(ApplicationContext context) {
- try {
- this.multipartResolver = context.getBean("multipartResolver", MultipartResolver.class);
- if (logger.isTraceEnabled()) {
- logger.trace("Detected " + this.multipartResolver);
- }
- else if (logger.isDebugEnabled()) {
- logger.debug("Detected " + this.multipartResolver.getClass().getSimpleName());
- }
- }
- catch (NoSuchBeanDefinitionException ex) {
- // Default is no multipart resolver.
- this.multipartResolver = null;
- if (logger.isTraceEnabled()) {
- logger.trace("No MultipartResolver multipartResolver declared");
- }
- }
- }
-
- @Substitute
- private void initLocaleResolver(ApplicationContext context) {
- try {
- this.localeResolver = context.getBean("localeResolver", LocaleResolver.class);
- if (logger.isTraceEnabled()) {
- logger.trace("Detected " + this.localeResolver);
- }
- else if (logger.isDebugEnabled()) {
- logger.debug("Detected " + this.localeResolver.getClass().getSimpleName());
- }
- }
- catch (NoSuchBeanDefinitionException ex) {
- // We need to use the default.
- ((GenericApplicationContext)context).registerBean("localeResolver", LocaleResolver.class, AcceptHeaderLocaleResolver::new);
- this.localeResolver = context.getBean("localeResolver", LocaleResolver.class);
- if (logger.isTraceEnabled()) {
- logger.trace("No LocaleResolver 'localeResolver': using default [" + this.localeResolver.getClass().getSimpleName() + "]");
- }
- }
- }
-
- @Substitute
- private void initThemeResolver(ApplicationContext context) {
- try {
- this.themeResolver = context.getBean("themeResolver", ThemeResolver.class);
- if (logger.isTraceEnabled()) {
- logger.trace("Detected " + this.themeResolver);
- }
- else if (logger.isDebugEnabled()) {
- logger.debug("Detected " + this.themeResolver.getClass().getSimpleName());
- }
- }
- catch (NoSuchBeanDefinitionException ex) {
- // We need to use the default.
- ((GenericApplicationContext)context).registerBean("themeResolver", ThemeResolver.class, FixedThemeResolver::new);
- this.themeResolver = context.getBean("themeResolver", ThemeResolver.class);
- if (logger.isTraceEnabled()) {
- logger.trace("No ThemeResolver 'themeResolver': using default [" + this.themeResolver.getClass().getSimpleName() + "]");
- }
- }
- }
-
- @Substitute
- private void initHandlerMappings(ApplicationContext context) {
- this.handlerMappings = null;
-
- if (this.detectAllHandlerMappings) {
- // Find all HandlerMappings in the ApplicationContext, including ancestor contexts.
- Map matchingBeans =
- BeanFactoryUtils.beansOfTypeIncludingAncestors(context, HandlerMapping.class, true, false);
- if (!matchingBeans.isEmpty()) {
- this.handlerMappings = new ArrayList<>(matchingBeans.values());
- // We keep HandlerMappings in sorted order.
- AnnotationAwareOrderComparator.sort(this.handlerMappings);
- }
- }
- else {
- try {
- HandlerMapping hm = context.getBean("handlerMapping", HandlerMapping.class);
- this.handlerMappings = Collections.singletonList(hm);
- }
- catch (NoSuchBeanDefinitionException ex) {
- // Ignore, we'll add a default HandlerMapping later.
- }
- }
-
- // Ensure we have at least one HandlerMapping, by registering
- // a default HandlerMapping if no other mappings are found.
- if (this.handlerMappings == null) {
- ((GenericApplicationContext)context).registerBean(HandlerMapping.class, BeanNameUrlHandlerMapping::new);
- ((GenericApplicationContext)context).registerBean(HandlerMapping.class, RequestMappingHandlerMapping::new);
- ((GenericApplicationContext)context).registerBean(HandlerMapping.class, (Supplier) RouterFunctionMapping::new);
- this.handlerMappings = (List) context.getBeansOfType(HandlerMapping.class).values();
- if (logger.isTraceEnabled()) {
- logger.trace("No HandlerMappings declared, using default strategies from DispatcherServlet.properties");
- }
- }
- }
-
- @Substitute
- private void initHandlerAdapters(ApplicationContext context) {
- this.handlerAdapters = null;
-
- if (this.detectAllHandlerAdapters) {
- // Find all HandlerAdapters in the ApplicationContext, including ancestor contexts.
- Map matchingBeans =
- BeanFactoryUtils.beansOfTypeIncludingAncestors(context, HandlerAdapter.class, true, false);
- if (!matchingBeans.isEmpty()) {
- this.handlerAdapters = new ArrayList<>(matchingBeans.values());
- // We keep HandlerAdapters in sorted order.
- AnnotationAwareOrderComparator.sort(this.handlerAdapters);
- }
- }
- else {
- try {
- HandlerAdapter ha = context.getBean("handlerAdapter", HandlerAdapter.class);
- this.handlerAdapters = Collections.singletonList(ha);
- }
- catch (NoSuchBeanDefinitionException ex) {
- // Ignore, we'll add a default HandlerAdapter later.
- }
- }
-
- // Ensure we have at least some HandlerAdapters, by registering
- // default HandlerAdapters if no other adapters are found.
- if (this.handlerAdapters == null) {
- ((GenericApplicationContext)context).registerBean(HandlerAdapter.class, HttpRequestHandlerAdapter::new);
- ((GenericApplicationContext)context).registerBean(HandlerAdapter.class, SimpleControllerHandlerAdapter::new);
- ((GenericApplicationContext)context).registerBean(HandlerAdapter.class, RequestMappingHandlerAdapter::new);
- ((GenericApplicationContext)context).registerBean(HandlerAdapter.class, HandlerFunctionAdapter::new);
- this.handlerAdapters = (List) context.getBeansOfType(HandlerAdapter.class).values();
- if (logger.isTraceEnabled()) {
- logger.trace("No HandlerAdapters declared using default strategies from DispatcherServlet.properties");
- }
- }
- }
-
- @Substitute
- private void initHandlerExceptionResolvers(ApplicationContext context) {
- this.handlerExceptionResolvers = null;
-
- if (this.detectAllHandlerExceptionResolvers) {
- // Find all HandlerExceptionResolvers in the ApplicationContext, including ancestor contexts.
- Map matchingBeans = BeanFactoryUtils
- .beansOfTypeIncludingAncestors(context, HandlerExceptionResolver.class, true, false);
- if (!matchingBeans.isEmpty()) {
- this.handlerExceptionResolvers = new ArrayList<>(matchingBeans.values());
- // We keep HandlerExceptionResolvers in sorted order.
- AnnotationAwareOrderComparator.sort(this.handlerExceptionResolvers);
- }
- }
- else {
- try {
- HandlerExceptionResolver her =
- context.getBean("handlerExceptionResolver", HandlerExceptionResolver.class);
- this.handlerExceptionResolvers = Collections.singletonList(her);
- }
- catch (NoSuchBeanDefinitionException ex) {
- // Ignore, no HandlerExceptionResolver is fine too.
- }
- }
-
- // Ensure we have at least some HandlerExceptionResolvers, by registering
- // default HandlerExceptionResolvers if no other resolvers are found.
- if (this.handlerExceptionResolvers == null) {
- ((GenericApplicationContext)context).registerBean(HandlerExceptionResolver.class, ExceptionHandlerExceptionResolver::new);
- ((GenericApplicationContext)context).registerBean(HandlerExceptionResolver.class, ResponseStatusExceptionResolver::new);
- ((GenericApplicationContext)context).registerBean(HandlerExceptionResolver.class, DefaultHandlerExceptionResolver::new);
- this.handlerExceptionResolvers = (List) context.getBeansOfType(HandlerExceptionResolver.class).values();
- if (logger.isTraceEnabled()) {
- logger.trace("No HandlerExceptionResolvers declared using default strategies from DispatcherServlet.properties");
- }
- }
- }
-
- @Substitute
- private void initRequestToViewNameTranslator(ApplicationContext context) {
- try {
- this.viewNameTranslator =
- context.getBean("viewNameTranslator", RequestToViewNameTranslator.class);
- if (logger.isTraceEnabled()) {
- logger.trace("Detected " + this.viewNameTranslator.getClass().getSimpleName());
- }
- else if (logger.isDebugEnabled()) {
- logger.debug("Detected " + this.viewNameTranslator);
- }
- }
- catch (NoSuchBeanDefinitionException ex) {
- // We need to use the default.
- ((GenericApplicationContext)context).registerBean("viewNameTranslator", RequestToViewNameTranslator.class, DefaultRequestToViewNameTranslator::new);
- this.viewNameTranslator = context.getBean("viewNameTranslator", RequestToViewNameTranslator.class);
- if (logger.isTraceEnabled()) {
- logger.trace("No RequestToViewNameTranslator 'viewNameTranslator': using default [" + this.viewNameTranslator.getClass().getSimpleName() + "]");
- }
- }
- }
-
- @Substitute
- private void initViewResolvers(ApplicationContext context) {
- this.viewResolvers = null;
-
- if (this.detectAllViewResolvers) {
- // Find all ViewResolvers in the ApplicationContext, including ancestor contexts.
- Map matchingBeans =
- BeanFactoryUtils.beansOfTypeIncludingAncestors(context, ViewResolver.class, true, false);
- if (!matchingBeans.isEmpty()) {
- this.viewResolvers = new ArrayList<>(matchingBeans.values());
- // We keep ViewResolvers in sorted order.
- AnnotationAwareOrderComparator.sort(this.viewResolvers);
- }
- }
- else {
- try {
- ViewResolver vr = context.getBean("viewResolver", ViewResolver.class);
- this.viewResolvers = Collections.singletonList(vr);
- }
- catch (NoSuchBeanDefinitionException ex) {
- // Ignore, we'll add a default ViewResolver later.
- }
- }
-
- // Ensure we have at least one ViewResolver, by registering
- // a default ViewResolver if no other resolvers are found.
- if (this.viewResolvers == null) {
- ((GenericApplicationContext)context).registerBean("viewResolver", ViewResolver.class, InternalResourceViewResolver::new);
- this.viewResolvers = (List) context.getBeansOfType(ViewResolver.class).values();
- if (logger.isTraceEnabled()) {
- logger.trace("No ViewResolvers declared using default strategies from DispatcherServlet.properties");
- }
- }
- }
-
- @Substitute
- private void initFlashMapManager(ApplicationContext context) {
- try {
- this.flashMapManager = context.getBean("flashMapManager", FlashMapManager.class);
- if (logger.isTraceEnabled()) {
- logger.trace("Detected " + this.flashMapManager.getClass().getSimpleName());
- }
- else if (logger.isDebugEnabled()) {
- logger.debug("Detected " + this.flashMapManager);
- }
- }
- catch (NoSuchBeanDefinitionException ex) {
- // We need to use the default.
- ((GenericApplicationContext)context).registerBean("flashMapManager", FlashMapManager.class, SessionFlashMapManager::new);
- this.flashMapManager = context.getBean("flashMapManager", FlashMapManager.class);
- if (logger.isTraceEnabled()) {
- logger.trace("No FlashMapManager 'flashMapManager': using default [" + this.flashMapManager.getClass().getSimpleName() + "]");
- }
- }
- }
-
-}
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/config/annotation/Target_WebMvcConfigurationSupport.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/config/annotation/Target_WebMvcConfigurationSupport.java
deleted file mode 100644
index 1ee9dc2fb..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/config/annotation/Target_WebMvcConfigurationSupport.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.springframework.web.servlet.config.annotation;
-
-import java.util.List;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-
-import org.springframework.context.ApplicationContext;
-import org.springframework.http.converter.ByteArrayHttpMessageConverter;
-import org.springframework.http.converter.FormHttpMessageConverter;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.ResourceHttpMessageConverter;
-import org.springframework.http.converter.ResourceRegionHttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
-import org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter;
-import org.springframework.http.converter.feed.AtomFeedHttpMessageConverter;
-import org.springframework.http.converter.feed.RssChannelHttpMessageConverter;
-import org.springframework.http.converter.json.GsonHttpMessageConverter;
-import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
-import org.springframework.http.converter.json.JsonbHttpMessageConverter;
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
-import org.springframework.http.converter.smile.MappingJackson2SmileHttpMessageConverter;
-import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter;
-import org.springframework.graalvm.substitutions.FormHttpMessageConverterIsAround;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveXmlSupport;
-
-@TargetClass(className = "org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport", onlyWith = { OnlyPresent.class, FormHttpMessageConverterIsAround.class, RemoveXmlSupport.class })
-final class Target_WebMvcConfigurationSupport {
-
- @Alias
- private static boolean romePresent;
-
- @Alias
- private static boolean jaxb2Present;
-
- @Alias
- private static boolean jackson2Present;
-
- @Alias
- private static boolean jackson2XmlPresent;
-
- @Alias
- private static boolean jackson2SmilePresent;
-
- @Alias
- private static boolean jackson2CborPresent;
-
- @Alias
- private static boolean gsonPresent;
-
- @Alias
- private static boolean jsonbPresent;
-
- @Alias
- private ApplicationContext applicationContext;
-
- @Substitute
- protected final void addDefaultHttpMessageConverters(List> messageConverters) {
- messageConverters.add(new ByteArrayHttpMessageConverter());
- messageConverters.add(new StringHttpMessageConverter());
- messageConverters.add(new ResourceHttpMessageConverter());
- messageConverters.add(new ResourceRegionHttpMessageConverter());
- messageConverters.add(new FormHttpMessageConverter()); // Impossible to create a substitution for AllEncompassingFormHttpMessageConverter for now so we use that one
-
- if (romePresent) {
- messageConverters.add(new AtomFeedHttpMessageConverter());
- messageConverters.add(new RssChannelHttpMessageConverter());
- }
-
- if (jackson2XmlPresent) {
- Jackson2ObjectMapperBuilder builder = Jackson2ObjectMapperBuilder.xml();
- if (this.applicationContext != null) {
- builder.applicationContext(this.applicationContext);
- }
- messageConverters.add(new MappingJackson2XmlHttpMessageConverter(builder.build()));
- }
-
- if (jackson2Present) {
- Jackson2ObjectMapperBuilder builder = Jackson2ObjectMapperBuilder.json();
- if (this.applicationContext != null) {
- builder.applicationContext(this.applicationContext);
- }
- messageConverters.add(new MappingJackson2HttpMessageConverter(builder.build()));
- }
- else if (gsonPresent) {
- messageConverters.add(new GsonHttpMessageConverter());
- }
- else if (jsonbPresent) {
- messageConverters.add(new JsonbHttpMessageConverter());
- }
-
- if (jackson2SmilePresent) {
- Jackson2ObjectMapperBuilder builder = Jackson2ObjectMapperBuilder.smile();
- if (this.applicationContext != null) {
- builder.applicationContext(this.applicationContext);
- }
- messageConverters.add(new MappingJackson2SmileHttpMessageConverter(builder.build()));
- }
- if (jackson2CborPresent) {
- Jackson2ObjectMapperBuilder builder = Jackson2ObjectMapperBuilder.cbor();
- if (this.applicationContext != null) {
- builder.applicationContext(this.applicationContext);
- }
- messageConverters.add(new MappingJackson2CborHttpMessageConverter(builder.build()));
- }
- }
-
-}
\ No newline at end of file
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/function/support/Target_RouterFunctionMapping.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/function/support/Target_RouterFunctionMapping.java
deleted file mode 100644
index d53db7e66..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/function/support/Target_RouterFunctionMapping.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.springframework.web.servlet.function.support;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-
-import org.springframework.http.converter.ByteArrayHttpMessageConverter;
-import org.springframework.http.converter.FormHttpMessageConverter;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
-import org.springframework.graalvm.substitutions.FormHttpMessageConverterIsAround;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveXmlSupport;
-
-@TargetClass(className = "org.springframework.web.servlet.function.support.RouterFunctionMapping", onlyWith = { OnlyPresent.class, FormHttpMessageConverterIsAround.class, RemoveXmlSupport.class })
-final class Target_RouterFunctionMapping {
-
- @Alias
- private List> messageConverters;
-
- @Substitute
- private void initMessageConverters() {
- List> messageConverters = new ArrayList<>(4);
- messageConverters.add(new ByteArrayHttpMessageConverter());
- messageConverters.add(new StringHttpMessageConverter());
- messageConverters.add(new FormHttpMessageConverter()); // Impossible to create a substitution for AllEncompassingFormHttpMessageConverter for now so we use that one
-
- this.messageConverters = messageConverters;
- }
-
-}
diff --git a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/mvc/method/annotation/Target_ExceptionHandlerExceptionResolver.java b/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/mvc/method/annotation/Target_ExceptionHandlerExceptionResolver.java
deleted file mode 100644
index 0ed3bd711..000000000
--- a/spring-graalvm-native-substitutions/src/main/java/org/springframework/web/servlet/mvc/method/annotation/Target_ExceptionHandlerExceptionResolver.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.springframework.web.servlet.mvc.method.annotation;
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.RecomputeFieldValue;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.springframework.http.converter.ByteArrayHttpMessageConverter;
-import org.springframework.http.converter.FormHttpMessageConverter;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
-import org.springframework.graalvm.substitutions.FormHttpMessageConverterIsAround;
-import org.springframework.graalvm.substitutions.OnlyPresent;
-import org.springframework.graalvm.substitutions.RemoveXmlSupport;
-import org.springframework.web.accept.ContentNegotiationManager;
-import org.springframework.web.method.ControllerAdviceBean;
-import org.springframework.web.method.annotation.ExceptionHandlerMethodResolver;
-
-@TargetClass(className = "org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver", onlyWith = { OnlyPresent.class, FormHttpMessageConverterIsAround.class, RemoveXmlSupport.class })
-final class Target_ExceptionHandlerExceptionResolver {
-
- @Alias
- @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.NewInstance, declClass = ArrayList.class)
- private ContentNegotiationManager contentNegotiationManager;
-
- @Alias
- @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.NewInstance, declClass = ArrayList.class)
- private List