This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch coheigea/SimpleTypeJsonProvider
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 5d8531e64eddc0cda4ca546b6ba910c4d5aad54b
Author: Colm O hEigeartaigh <[email protected]>
AuthorDate: Fri Oct 30 09:18:32 2026 +0000

    Removing SimpleTypeJsonProvider
---
 .../provider/json/SimpleTypeJsonProvider.java      | 125 ---------------------
 1 file changed, 125 deletions(-)

diff --git 
a/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/SimpleTypeJsonProvider.java
 
b/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/SimpleTypeJsonProvider.java
deleted file mode 100644
index 9641e487a06..00000000000
--- 
a/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/SimpleTypeJsonProvider.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.cxf.jaxrs.provider.json;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-
-import jakarta.ws.rs.Consumes;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.WebApplicationException;
-import jakarta.ws.rs.core.Context;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.MultivaluedMap;
-import jakarta.ws.rs.ext.MessageBodyReader;
-import jakarta.ws.rs.ext.MessageBodyWriter;
-import jakarta.ws.rs.ext.Providers;
-import org.apache.cxf.common.util.StringUtils;
-import org.apache.cxf.helpers.IOUtils;
-import org.apache.cxf.jaxrs.provider.AbstractConfigurableProvider;
-import org.apache.cxf.jaxrs.provider.PrimitiveTextProvider;
-import org.apache.cxf.jaxrs.provider.ProviderFactory;
-import org.apache.cxf.jaxrs.utils.InjectionUtils;
-import org.apache.cxf.jaxrs.utils.JAXRSUtils;
-
-@Produces("application/json")
-@Consumes("application/json")
-public class SimpleTypeJsonProvider<T> extends AbstractConfigurableProvider
-    implements MessageBodyWriter<T>, MessageBodyReader<T> {
-
-    @Context
-    private Providers providers;
-    private boolean supportSimpleTypesOnly;
-    private PrimitiveTextProvider<T> primitiveHelper = new 
PrimitiveTextProvider<>();
-    @Override
-    public boolean isWriteable(Class<?> type, Type genericType, Annotation[] 
annotations, MediaType mediaType) {
-        return !supportSimpleTypesOnly || primitiveHelper.isReadable(type, 
genericType, annotations, mediaType);
-    }
-
-    @Override
-    public long getSize(T t, Class<?> type, Type genericType, Annotation[] 
annotations, MediaType mediaType) {
-        return -1;
-    }
-
-    @Override
-    public void writeTo(T t, Class<?> type, Type genericType, Annotation[] 
annotations, MediaType mediaType,
-                        MultivaluedMap<String, Object> headers, OutputStream 
os)
-        throws IOException, WebApplicationException {
-        if (!supportSimpleTypesOnly && !InjectionUtils.isPrimitive(type)) {
-            @SuppressWarnings("unchecked")
-            MessageBodyWriter<T> next =
-                (MessageBodyWriter<T>)providers.getMessageBodyWriter(type, 
genericType, annotations, mediaType);
-            
JAXRSUtils.getCurrentMessage().put(ProviderFactory.ACTIVE_JAXRS_PROVIDER_KEY, 
this);
-            try {
-                next.writeTo(t, type, genericType, annotations, mediaType, 
headers, os);
-            } finally {
-                
JAXRSUtils.getCurrentMessage().put(ProviderFactory.ACTIVE_JAXRS_PROVIDER_KEY, 
null);
-            }
-        } else {
-            os.write(StringUtils.toBytesASCII("{\"" + 
type.getSimpleName().toLowerCase() + "\":"));
-            writeQuote(os, type);
-            primitiveHelper.writeTo(t, type, genericType, annotations, 
mediaType, headers, os);
-            writeQuote(os, type);
-            os.write(StringUtils.toBytesASCII("}"));
-        }
-    }
-
-    private void writeQuote(OutputStream os, Class<?> type) throws IOException 
{
-        if (type == String.class) {
-            os.write(StringUtils.toBytesASCII("\""));
-        }
-    }
-    public void setSupportSimpleTypesOnly(boolean supportSimpleTypesOnly) {
-        this.supportSimpleTypesOnly = supportSimpleTypesOnly;
-    }
-
-    @Override
-    public boolean isReadable(Class<?> type, Type genericType, Annotation[] 
annotations, MediaType mediaType) {
-        return isWriteable(type, genericType, annotations, mediaType);
-    }
-
-    @Override
-    public T readFrom(Class<T> type, Type genericType, Annotation[] 
annotations, MediaType mediaType,
-                      MultivaluedMap<String, String> headers, InputStream is)
-        throws IOException, WebApplicationException {
-        if (!supportSimpleTypesOnly && !InjectionUtils.isPrimitive(type)) {
-            MessageBodyReader<T> next =
-                providers.getMessageBodyReader(type, genericType, annotations, 
mediaType);
-            
JAXRSUtils.getCurrentMessage().put(ProviderFactory.ACTIVE_JAXRS_PROVIDER_KEY, 
this);
-            try {
-                return next.readFrom(type, genericType, annotations, 
mediaType, headers, is);
-            } finally {
-                
JAXRSUtils.getCurrentMessage().put(ProviderFactory.ACTIVE_JAXRS_PROVIDER_KEY, 
null);
-            }
-        }
-        String data = IOUtils.toString(is).trim();
-        int index = data.indexOf(':');
-        data = data.substring(index + 1, data.length() - 1).trim();
-        if (data.startsWith("\"")) {
-            data = data.substring(1, data.length() - 1);
-        }
-        return primitiveHelper.readFrom(type, genericType, annotations, 
mediaType, headers,
-                                        new 
ByteArrayInputStream(StringUtils.toBytesUTF8(data)));
-    }
-
-}

Reply via email to