FELIX-4060 : Minor refactoring; code cleanup
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1663237 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BaseDTOBuilder.java b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BaseDTOBuilder.java
index 9546e6a..86fe97b 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BaseDTOBuilder.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BaseDTOBuilder.java
@@ -22,10 +22,7 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import org.osgi.dto.DTO;
@@ -44,11 +41,6 @@
abstract U buildDTO(T whiteboardService, long servletContextId);
- protected <K, V> Map<K, V> copyWithDefault(Map<K, V> map)
- {
- return map == null ? Collections.<K, V>emptyMap() : new HashMap<K, V>(map);
- }
-
protected <V> V[] copyWithDefault(V[] array, V[] defaultArray)
{
return array == null ? defaultArray : copyOf(array, array.length);
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BaseServletDTOBuilder.java b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BaseServletDTOBuilder.java
index 50d5d94..34a26d4 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BaseServletDTOBuilder.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BaseServletDTOBuilder.java
@@ -32,7 +32,7 @@
Servlet servlet = servletHandler.getServlet();
dto.asyncSupported = info.isAsyncSupported();
- dto.initParams = copyWithDefault(info.getInitParameters());
+ dto.initParams = info.getInitParameters();
dto.name = info.getName();
dto.serviceId = servletHandler.getServletInfo().getServiceId();
dto.servletContextId = servletContextId;
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BuilderConstants.java b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BuilderConstants.java
new file mode 100644
index 0000000..ae9cb15
--- /dev/null
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/BuilderConstants.java
@@ -0,0 +1,40 @@
+/*
+ * 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.felix.http.base.internal.runtime.dto;
+
+import org.osgi.service.http.runtime.dto.ErrorPageDTO;
+import org.osgi.service.http.runtime.dto.FilterDTO;
+import org.osgi.service.http.runtime.dto.ListenerDTO;
+import org.osgi.service.http.runtime.dto.ResourceDTO;
+import org.osgi.service.http.runtime.dto.ServletContextDTO;
+import org.osgi.service.http.runtime.dto.ServletDTO;
+
+public abstract class BuilderConstants
+{
+
+ public static final String[] STRING_ARRAY = new String[0];
+
+ public static final ServletContextDTO[] CONTEXT_DTO_ARRAY = new ServletContextDTO[0];
+
+ public static final ServletDTO[] SERVLET_DTO_ARRAY = new ServletDTO[0];
+ public static final ResourceDTO[] RESOURCE_DTO_ARRAY = new ResourceDTO[0];
+ public static final FilterDTO[] FILTER_DTO_ARRAY = new FilterDTO[0];
+ public static final ErrorPageDTO[] ERROR_PAGE_DTO_ARRAY = new ErrorPageDTO[0];
+ public static final ListenerDTO[] LISTENER_DTO_ARRAY = new ListenerDTO[0];
+}
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ErrorPageDTOBuilder.java b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ErrorPageDTOBuilder.java
index 5fef87e..b17d320 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ErrorPageDTOBuilder.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ErrorPageDTOBuilder.java
@@ -26,15 +26,13 @@
final class ErrorPageDTOBuilder extends BaseServletDTOBuilder<ErrorPage, ErrorPageDTO>
{
- private static final String[] STRING_ARRAY = new String[0];
-
@Override
ErrorPageDTO buildDTO(ErrorPage errorPage, long servletConextId)
{
ErrorPageDTO errorPageDTO = new ErrorPageDTO();
setBaseFields(errorPageDTO, errorPage.getServletHandler(), servletConextId);
errorPageDTO.errorCodes = getErrorCodes(errorPage.getErrorCodes());
- errorPageDTO.exceptions = errorPage.getExceptions().toArray(STRING_ARRAY);
+ errorPageDTO.exceptions = errorPage.getExceptions().toArray(BuilderConstants.STRING_ARRAY);
return errorPageDTO;
}
@@ -44,7 +42,7 @@
long[] result = new long[errorCodes.size()];
for (int i = 0; i < result.length; i++)
{
- result[i] = (long) itr.next();
+ result[i] = itr.next();
}
return result;
}
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/FilterDTOBuilder.java b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/FilterDTOBuilder.java
index 6c1f9a4..1023f5b 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/FilterDTOBuilder.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/FilterDTOBuilder.java
@@ -26,8 +26,6 @@
final class FilterDTOBuilder extends BaseDTOBuilder<FilterHandler, FilterDTO>
{
- private static final String[] STRING_ARRAY = new String[0];
-
@Override
FilterDTO buildDTO(FilterHandler filterHandler, long servletContextId)
{
@@ -36,13 +34,13 @@
FilterDTO filterDTO = new FilterDTO();
filterDTO.asyncSupported = info.isAsyncSupported();
filterDTO.dispatcher = getNames(info.getDispatcher());
- filterDTO.initParams = copyWithDefault(info.getInitParameters());
+ filterDTO.initParams = info.getInitParameters();
filterDTO.name = info.getName();
- filterDTO.patterns = copyWithDefault(info.getPatterns(), STRING_ARRAY);
- filterDTO.regexs = copyWithDefault(info.getRegexs(), STRING_ARRAY);
+ filterDTO.patterns = copyWithDefault(info.getPatterns(), BuilderConstants.STRING_ARRAY);
+ filterDTO.regexs = copyWithDefault(info.getRegexs(), BuilderConstants.STRING_ARRAY);
filterDTO.serviceId = filterHandler.getFilterInfo().getServiceId();
filterDTO.servletContextId = servletContextId;
- filterDTO.servletNames = copyWithDefault(info.getServletNames(), STRING_ARRAY);
+ filterDTO.servletNames = copyWithDefault(info.getServletNames(), BuilderConstants.STRING_ARRAY);
return filterDTO;
}
@@ -51,7 +49,7 @@
{
if (dispatcher == null)
{
- return STRING_ARRAY;
+ return BuilderConstants.STRING_ARRAY;
}
String[] names = new String[dispatcher.length];
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ResourceDTOBuilder.java b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ResourceDTOBuilder.java
index 5fa0156..e9b7e09 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ResourceDTOBuilder.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ResourceDTOBuilder.java
@@ -24,15 +24,13 @@
final class ResourceDTOBuilder extends BaseDTOBuilder<ServletHandler, ResourceDTO>
{
- private static final String[] STRING_ARRAY = new String[0];
-
@Override
ResourceDTO buildDTO(ServletHandler handler, long servletContextId)
{
ServletInfo servletInfo = handler.getServletInfo();
ResourceDTO resourceDTO = new ResourceDTO();
- resourceDTO.patterns = copyWithDefault(servletInfo.getPatterns(), STRING_ARRAY);
+ resourceDTO.patterns = copyWithDefault(servletInfo.getPatterns(), BuilderConstants.STRING_ARRAY);
resourceDTO.prefix = servletInfo.getPrefix();
resourceDTO.serviceId = servletInfo.getServiceId();
resourceDTO.servletContextId = servletContextId;
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/RuntimeDTOBuilder.java b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/RuntimeDTOBuilder.java
index 6959fdc..2e8b320 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/RuntimeDTOBuilder.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/RuntimeDTOBuilder.java
@@ -51,7 +51,6 @@
public final class RuntimeDTOBuilder
{
- private static final ServletContextDTO[] CONTEXT_DTO_ARRAY = new ServletContextDTO[0];
private static final ServletDTOBuilder SERVLET_DTO_BUILDER = new ServletDTOBuilder();
private static final ResourceDTOBuilder RESOURCE_DTO_BUILDER = new ResourceDTOBuilder();
@@ -87,15 +86,15 @@
final FailedServletContextDTO dto = new FailedServletContextDTO();
dto.attributes = Collections.emptyMap();
dto.contextPath = sch.getPath();
- dto.errorPageDTOs = new ErrorPageDTO[0];
+ dto.errorPageDTOs = BuilderConstants.ERROR_PAGE_DTO_ARRAY;
dto.failureReason = DTOConstants.FAILURE_REASON_VALIDATION_FAILED;
- dto.filterDTOs = new FilterDTO[0];
+ dto.filterDTOs = BuilderConstants.FILTER_DTO_ARRAY;
dto.initParams = sch.getInitParameters();
- dto.listenerDTOs = new ListenerDTO[0];
+ dto.listenerDTOs = BuilderConstants.LISTENER_DTO_ARRAY;
dto.name = sch.getName();
- dto.resourceDTOs = new ResourceDTO[0];
+ dto.resourceDTOs = BuilderConstants.RESOURCE_DTO_ARRAY;
dto.serviceId = sch.getServiceId();
- dto.servletDTOs = new ServletDTO[0];
+ dto.servletDTOs = BuilderConstants.SERVLET_DTO_ARRAY;
failedServletContextDTOs.add(dto);
}
@@ -131,7 +130,7 @@
registry.getHandlerRuntime(context),
registry.getListenerRuntime(context)));
}
- return contextDTOs.toArray(CONTEXT_DTO_ARRAY);
+ return contextDTOs.toArray(BuilderConstants.CONTEXT_DTO_ARRAY);
}
private ServletContextDTO createContextDTO(ContextHandler context,
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ServletContextDTOBuilder.java b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ServletContextDTOBuilder.java
index 83b76c2..f32f815 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ServletContextDTOBuilder.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/runtime/dto/ServletContextDTOBuilder.java
@@ -38,11 +38,6 @@
final class ServletContextDTOBuilder
{
- private static final ServletDTO[] SERVLET_DTO_ARRAY = new ServletDTO[0];
- private static final ResourceDTO[] RESOURCE_DTO_ARRAY = new ResourceDTO[0];
- private static final FilterDTO[] FILTER_DTO_ARRAY = new FilterDTO[0];
- private static final ErrorPageDTO[] ERROR_PAGE_DTO_ARRAY = new ErrorPageDTO[0];
- private static final ListenerDTO[] LISTENER_DTO_ARRAY = new ListenerDTO[0];
private final ContextHandler contextHandler;
private final ServletDTO[] servletDTOs;
@@ -60,15 +55,15 @@
{
this.contextHandler = contextHandler;
this.servletDTOs = servletDTOs != null ?
- servletDTOs.toArray(SERVLET_DTO_ARRAY) : SERVLET_DTO_ARRAY;
+ servletDTOs.toArray(BuilderConstants.SERVLET_DTO_ARRAY) : BuilderConstants.SERVLET_DTO_ARRAY;
this.resourceDTOs = resourceDTOs != null ?
- resourceDTOs.toArray(RESOURCE_DTO_ARRAY) : RESOURCE_DTO_ARRAY;
+ resourceDTOs.toArray(BuilderConstants.RESOURCE_DTO_ARRAY) : BuilderConstants.RESOURCE_DTO_ARRAY;
this.filterDTOs = filterDTOs != null ?
- filterDTOs.toArray(FILTER_DTO_ARRAY) : FILTER_DTO_ARRAY;
+ filterDTOs.toArray(BuilderConstants.FILTER_DTO_ARRAY) : BuilderConstants.FILTER_DTO_ARRAY;
this.errorPageDTOs = errorPageDTOs != null ?
- errorPageDTOs.toArray(ERROR_PAGE_DTO_ARRAY) : ERROR_PAGE_DTO_ARRAY;
+ errorPageDTOs.toArray(BuilderConstants.ERROR_PAGE_DTO_ARRAY) : BuilderConstants.ERROR_PAGE_DTO_ARRAY;
this.listenerDTOs = listenerDTOs != null ?
- listenerDTOs.toArray(LISTENER_DTO_ARRAY) : LISTENER_DTO_ARRAY;
+ listenerDTOs.toArray(BuilderConstants.LISTENER_DTO_ARRAY) : BuilderConstants.LISTENER_DTO_ARRAY;
}
ServletContextDTO build()
@@ -82,12 +77,13 @@
contextDTO.contextPath = context.getContextPath();
contextDTO.errorPageDTOs = errorPageDTOs;
contextDTO.filterDTOs = filterDTOs;
- contextDTO.initParams = getInitParameters(context);
+ contextDTO.initParams = contextInfo.getInitParameters();
contextDTO.listenerDTOs = listenerDTOs;
contextDTO.name = context.getServletContextName();
contextDTO.resourceDTOs = resourceDTOs;
contextDTO.servletDTOs = servletDTOs;
contextDTO.serviceId = contextId;
+
return contextDTO;
}
@@ -124,14 +120,4 @@
byte.class.isAssignableFrom(type) ||
char.class.isAssignableFrom(type);
}
-
- private Map<String, String> getInitParameters(ServletContext context)
- {
- Map<String, String> initParameters = new HashMap<String, String>();
- for (String name : list(context.getInitParameterNames()))
- {
- initParameters.put(name, context.getInitParameter(name));
- }
- return initParameters;
- }
}