[OLINGO-936] fix sonar issues

This commit is contained in:
Christian Amend 2016-04-28 13:48:18 +02:00
parent ff87212deb
commit f18a489f97
6 changed files with 47 additions and 34 deletions

View File

@ -20,6 +20,7 @@ package org.apache.olingo.server.core.debug;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -39,6 +40,7 @@ import org.apache.olingo.server.api.uri.UriInfo;
public class ServerCoreDebugger { public class ServerCoreDebugger {
private static final Charset DEFAULT_ENCODING = Charset.forName("UTF-8");
private final List<RuntimeMeasurement> runtimeInformation = new ArrayList<RuntimeMeasurement>(); private final List<RuntimeMeasurement> runtimeInformation = new ArrayList<RuntimeMeasurement>();
private final OData odata; private final OData odata;
@ -82,7 +84,8 @@ public class ServerCoreDebugger {
ODataResponse odResponse = new ODataResponse(); ODataResponse odResponse = new ODataResponse();
odResponse.setStatusCode(HttpStatusCode.INTERNAL_SERVER_ERROR.getStatusCode()); odResponse.setStatusCode(HttpStatusCode.INTERNAL_SERVER_ERROR.getStatusCode());
odResponse.setHeader(HttpHeader.CONTENT_TYPE, ContentType.TEXT_PLAIN.toContentTypeString()); odResponse.setHeader(HttpHeader.CONTENT_TYPE, ContentType.TEXT_PLAIN.toContentTypeString());
InputStream content = new ByteArrayInputStream("ODataLibrary: Could not assemble debug response.".getBytes()); InputStream content = new ByteArrayInputStream("ODataLibrary: Could not assemble debug response."
.getBytes(DEFAULT_ENCODING));
odResponse.setContent(content); odResponse.setContent(content);
return odResponse; return odResponse;
} }

View File

@ -49,12 +49,6 @@ public class BatchParser {
return parseBatch(in, boundary, transformator); return parseBatch(in, boundary, transformator);
} catch (IOException e) { } catch (IOException e) {
throw new ODataRuntimeException(e); throw new ODataRuntimeException(e);
} finally {
try {
in.close();
} catch (IOException e) {
throw new ODataRuntimeException(e);
}
} }
} }

View File

@ -26,7 +26,7 @@ import java.util.Locale;
import java.util.Map; import java.util.Map;
public class Header implements Iterable<HeaderField>, Cloneable { public class Header implements Iterable<HeaderField>, Cloneable {
private final Map<String, HeaderField> headers = new HashMap<String, HeaderField>(); private Map<String, HeaderField> headers = new HashMap<String, HeaderField>();
private int lineNumber; private int lineNumber;
public Header(final int lineNumer) { public Header(final int lineNumer) {
@ -111,7 +111,6 @@ public class Header implements Iterable<HeaderField>, Cloneable {
private HeaderField getHeaderFieldOrDefault(final String name, final int lineNumber) { private HeaderField getHeaderFieldOrDefault(final String name, final int lineNumber) {
HeaderField headerField = headers.get(name.toLowerCase(Locale.ENGLISH)); HeaderField headerField = headers.get(name.toLowerCase(Locale.ENGLISH));
if (headerField == null) { if (headerField == null) {
headerField = new HeaderField(name, lineNumber); headerField = new HeaderField(name, lineNumber);
headers.put(name.toLowerCase(Locale.ENGLISH), headerField); headers.put(name.toLowerCase(Locale.ENGLISH), headerField);
@ -121,14 +120,15 @@ public class Header implements Iterable<HeaderField>, Cloneable {
} }
@Override @Override
public Header clone() { public Header clone() throws CloneNotSupportedException{
final Header newInstance = new Header(lineNumber); Header clone = (Header) super.clone();
clone.lineNumber = lineNumber;
clone.headers = new HashMap<String, HeaderField>();
for (final Map.Entry<String, HeaderField> entries : headers.entrySet()) { for (final Map.Entry<String, HeaderField> entries : headers.entrySet()) {
newInstance.headers.put(entries.getKey(), entries.getValue().clone()); clone.headers.put(entries.getKey(), entries.getValue().clone());
} }
return newInstance; return clone;
} }
@Override @Override

View File

@ -23,8 +23,8 @@ import java.util.List;
public class HeaderField implements Cloneable { public class HeaderField implements Cloneable {
private final String fieldName; private final String fieldName;
private final List<String> values;
private final int lineNumber; private final int lineNumber;
private List<String> values;
public HeaderField(final String fieldName, final int lineNumber) { public HeaderField(final String fieldName, final int lineNumber) {
this(fieldName, new ArrayList<String>(), lineNumber); this(fieldName, new ArrayList<String>(), lineNumber);
@ -60,11 +60,11 @@ public class HeaderField implements Cloneable {
} }
@Override @Override
public HeaderField clone() { public HeaderField clone() throws CloneNotSupportedException{
List<String> newValues = new ArrayList<String>(values.size()); HeaderField clone = (HeaderField) super.clone();
newValues.addAll(values); clone.values = new ArrayList<String>(values.size());
clone.values.addAll(values);
return new HeaderField(fieldName, newValues, lineNumber); return clone;
} }
public int getLineNumber() { public int getLineNumber() {

View File

@ -234,11 +234,11 @@ public class BatchResponseSerializer {
content = getBody(response); content = getBody(response);
} }
public int getLength() { private int getLength() {
return content.length; return content.length;
} }
public byte[] getContent() { private byte[] getContent() {
return content; return content;
} }

View File

@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -86,7 +87,7 @@ public class HeaderTest {
} }
@Test @Test
public void deepCopy() { public void deepCopy() throws Exception {
Header header = new Header(1); Header header = new Header(1);
header.addHeader(HttpHeader.CONTENT_TYPE, ContentType.MULTIPART_MIXED + ";boundary=123", 1); header.addHeader(HttpHeader.CONTENT_TYPE, ContentType.MULTIPART_MIXED + ";boundary=123", 1);
@ -99,6 +100,21 @@ public class HeaderTest {
assertTrue(header.getHeaderField(HttpHeader.CONTENT_TYPE) != copy.getHeaderField(HttpHeader.CONTENT_TYPE)); assertTrue(header.getHeaderField(HttpHeader.CONTENT_TYPE) != copy.getHeaderField(HttpHeader.CONTENT_TYPE));
} }
@Test
public void deepCopyHeaderField() throws Exception {
List<String> values = new ArrayList<String>();
values.add("abc");
values.add("def");
HeaderField field = new HeaderField("name", values, 17);
HeaderField clone = field.clone();
assertEquals(field.getFieldName(), clone.getFieldName());
assertEquals(field.getLineNumber(), clone.getLineNumber());
assertEquals(field.getValues(), clone.getValues());
assertTrue(field.getValues() != clone.getValues());
}
@Test @Test
public void duplicatedAddList() { public void duplicatedAddList() {
Header header = new Header(1); Header header = new Header(1);