You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/01/26 01:24:19 UTC
[incubator-servicecomb-java-chassis] 01/02: [SCB-177] merge
redundant access log element
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git
commit badb1474847bc7f0211ec2ccd93171321a233e94
Author: yaohaishi <ya...@huawei.com>
AuthorDate: Wed Jan 24 23:26:58 2018 +0800
[SCB-177] merge redundant access log element
---
...ttenV1Element.java => BytesWrittenElement.java} | 16 ++---
.../element/impl/BytesWrittenV2Element.java | 46 -------------
.../parser/matcher/impl/BytesWrittenV1Matcher.java | 4 +-
.../parser/matcher/impl/BytesWrittenV2Matcher.java | 4 +-
...ementTest.java => BytesWrittenElementTest.java} | 9 ++-
.../element/impl/BytesWrittenV2ElementTest.java | 78 ----------------------
.../impl/DefaultAccessLogPatternParserTest.java | 7 +-
.../matcher/impl/BytesWrittenV1MatcherTest.java | 4 +-
.../matcher/impl/BytesWrittenV2MatcherTest.java | 4 +-
9 files changed, 23 insertions(+), 149 deletions(-)
diff --git a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1Element.java b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenElement.java
similarity index 80%
rename from transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1Element.java
rename to transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenElement.java
index 58ac15f..2d88feb 100644
--- a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1Element.java
+++ b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenElement.java
@@ -22,22 +22,22 @@ import org.apache.servicecomb.transport.rest.vertx.accesslog.element.AccessLogEl
import io.vertx.core.http.HttpServerResponse;
-/**
- * Zero bytes written as 0
- */
-public class BytesWrittenV1Element implements AccessLogElement {
+public class BytesWrittenElement implements AccessLogElement {
+ // print zeroBytes when bytes is zero
+ private final String zeroBytes;
- public static final String ZERO_BYTES = "0";
+ public BytesWrittenElement(String zeroBytesPlaceholder) {
+ zeroBytes = zeroBytesPlaceholder;
+ }
@Override
public String getFormattedElement(AccessLogParam accessLogParam) {
HttpServerResponse response = accessLogParam.getRoutingContext().response();
if (null == response) {
- return ZERO_BYTES;
+ return zeroBytes;
}
long bytesWritten = response.bytesWritten();
-
- return String.valueOf(bytesWritten);
+ return 0 == bytesWritten ? zeroBytes : String.valueOf(bytesWritten);
}
}
diff --git a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2Element.java b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2Element.java
deleted file mode 100644
index c2f0338..0000000
--- a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2Element.java
+++ /dev/null
@@ -1,46 +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.servicecomb.transport.rest.vertx.accesslog.element.impl;
-
-import org.apache.servicecomb.transport.rest.vertx.accesslog.AccessLogParam;
-import org.apache.servicecomb.transport.rest.vertx.accesslog.element.AccessLogElement;
-
-import io.vertx.core.http.HttpServerResponse;
-
-/**
- * Zero bytes written as -
- */
-public class BytesWrittenV2Element implements AccessLogElement {
-
- public static final String ZERO_BYTES = "-";
-
- @Override
- public String getFormattedElement(AccessLogParam accessLogParam) {
- HttpServerResponse response = accessLogParam.getRoutingContext().response();
- if (null == response) {
- return ZERO_BYTES;
- }
-
- long bytesWritten = response.bytesWritten();
- if (0 == bytesWritten) {
- return ZERO_BYTES;
- }
-
- return String.valueOf(bytesWritten);
- }
-}
diff --git a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1Matcher.java b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1Matcher.java
index 406a60a..258d5b1 100644
--- a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1Matcher.java
+++ b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1Matcher.java
@@ -18,11 +18,11 @@
package org.apache.servicecomb.transport.rest.vertx.accesslog.parser.matcher.impl;
import org.apache.servicecomb.transport.rest.vertx.accesslog.element.AccessLogElement;
-import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenV1Element;
+import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenElement;
public class BytesWrittenV1Matcher extends SinglePatternImmutableElementMatcher {
- public static final BytesWrittenV1Element ELEMENT = new BytesWrittenV1Element();
+ public static final BytesWrittenElement ELEMENT = new BytesWrittenElement("0");
@Override
protected String getPlaceholderPattern() {
diff --git a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2Matcher.java b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2Matcher.java
index 2bba577..8b3307a 100644
--- a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2Matcher.java
+++ b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2Matcher.java
@@ -18,11 +18,11 @@
package org.apache.servicecomb.transport.rest.vertx.accesslog.parser.matcher.impl;
import org.apache.servicecomb.transport.rest.vertx.accesslog.element.AccessLogElement;
-import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenV2Element;
+import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenElement;
public class BytesWrittenV2Matcher extends SinglePatternImmutableElementMatcher {
- public static final BytesWrittenV2Element ELEMENT = new BytesWrittenV2Element();
+ public static final BytesWrittenElement ELEMENT = new BytesWrittenElement("-");
@Override
protected String getPlaceholderPattern() {
diff --git a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1ElementTest.java b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenElementTest.java
similarity index 93%
rename from transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1ElementTest.java
rename to transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenElementTest.java
index 91880a1..a85e080 100644
--- a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV1ElementTest.java
+++ b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenElementTest.java
@@ -26,16 +26,16 @@ import org.mockito.Mockito;
import io.vertx.core.http.HttpServerResponse;
import io.vertx.ext.web.RoutingContext;
-public class BytesWrittenV1ElementTest {
+public class BytesWrittenElementTest {
- private static final BytesWrittenV1Element ELEMENT = new BytesWrittenV1Element();
+ private static final BytesWrittenElement ELEMENT = new BytesWrittenElement("0");
@Test
public void getFormattedElement() {
AccessLogParam param = new AccessLogParam();
RoutingContext mockContext = Mockito.mock(RoutingContext.class);
HttpServerResponse mockResponse = Mockito.mock(HttpServerResponse.class);
- long bytesWritten = 16l;
+ long bytesWritten = 16L;
param.setRoutingContext(mockContext);
Mockito.when(mockContext.response()).thenReturn(mockResponse);
@@ -46,7 +46,6 @@ public class BytesWrittenV1ElementTest {
assertEquals(String.valueOf(bytesWritten), result);
}
-
@Test
public void getFormattedElementOnResponseIsNull() {
AccessLogParam param = new AccessLogParam();
@@ -66,7 +65,7 @@ public class BytesWrittenV1ElementTest {
AccessLogParam param = new AccessLogParam();
RoutingContext mockContext = Mockito.mock(RoutingContext.class);
HttpServerResponse mockResponse = Mockito.mock(HttpServerResponse.class);
- long bytesWritten = 0l;
+ long bytesWritten = 0L;
param.setRoutingContext(mockContext);
Mockito.when(mockContext.response()).thenReturn(mockResponse);
diff --git a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2ElementTest.java b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2ElementTest.java
deleted file mode 100644
index 691ee5c..0000000
--- a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/element/impl/BytesWrittenV2ElementTest.java
+++ /dev/null
@@ -1,78 +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.servicecomb.transport.rest.vertx.accesslog.element.impl;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.servicecomb.transport.rest.vertx.accesslog.AccessLogParam;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import io.vertx.core.http.HttpServerResponse;
-import io.vertx.ext.web.RoutingContext;
-
-public class BytesWrittenV2ElementTest {
-
- public static final BytesWrittenV2Element ELEMENT = new BytesWrittenV2Element();
-
- @Test
- public void getFormattedElement() {
- AccessLogParam param = new AccessLogParam();
- RoutingContext mockContext = Mockito.mock(RoutingContext.class);
- HttpServerResponse mockResponse = Mockito.mock(HttpServerResponse.class);
- long bytesWritten = 16L;
-
- param.setRoutingContext(mockContext);
- Mockito.when(mockContext.response()).thenReturn(mockResponse);
- Mockito.when(mockResponse.bytesWritten()).thenReturn(bytesWritten);
-
- String result = ELEMENT.getFormattedElement(param);
-
- assertEquals(String.valueOf(bytesWritten), result);
- }
-
-
- @Test
- public void getFormattedElementOnResponseIsNull() {
- AccessLogParam param = new AccessLogParam();
- RoutingContext mockContext = Mockito.mock(RoutingContext.class);
-
- param.setRoutingContext(mockContext);
- Mockito.when(mockContext.response()).thenReturn(null);
-
- String result = ELEMENT.getFormattedElement(param);
-
- assertEquals("-", result);
- }
-
-
- @Test
- public void getFormattedElementOnBytesWrittenIsZero() {
- AccessLogParam param = new AccessLogParam();
- RoutingContext mockContext = Mockito.mock(RoutingContext.class);
- HttpServerResponse mockResponse = Mockito.mock(HttpServerResponse.class);
- long bytesWritten = 0l;
-
- param.setRoutingContext(mockContext);
- Mockito.when(mockContext.response()).thenReturn(mockResponse);
- Mockito.when(mockResponse.bytesWritten()).thenReturn(bytesWritten);
-
- String result = ELEMENT.getFormattedElement(param);
- assertEquals("-", result);
- }
-}
diff --git a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/impl/DefaultAccessLogPatternParserTest.java b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/impl/DefaultAccessLogPatternParserTest.java
index 0566f0c..dd2f625 100644
--- a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/impl/DefaultAccessLogPatternParserTest.java
+++ b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/impl/DefaultAccessLogPatternParserTest.java
@@ -23,8 +23,7 @@ import static org.junit.Assert.fail;
import java.util.ArrayList;
import java.util.List;
-import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenV1Element;
-import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenV2Element;
+import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenElement;
import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.CookieElement;
import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.DatetimeConfigurableElement;
import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.DurationMillisecondElement;
@@ -72,8 +71,8 @@ public class DefaultAccessLogPatternParserTest {
assertEquals(RemoteHostElement.class, result.get(8).getAccessLogElement().getClass());
assertEquals(LocalHostElement.class, result.get(9).getAccessLogElement().getClass());
assertEquals(LocalPortElement.class, result.get(10).getAccessLogElement().getClass());
- assertEquals(BytesWrittenV1Element.class, result.get(11).getAccessLogElement().getClass());
- assertEquals(BytesWrittenV2Element.class, result.get(12).getAccessLogElement().getClass());
+ assertEquals(BytesWrittenElement.class, result.get(11).getAccessLogElement().getClass());
+ assertEquals(BytesWrittenElement.class, result.get(12).getAccessLogElement().getClass());
assertEquals(FirstLineOfRequestElement.class, result.get(13).getAccessLogElement().getClass());
assertEquals(UriPathOnlyElement.class, result.get(14).getAccessLogElement().getClass());
assertEquals(QueryOnlyElement.class, result.get(15).getAccessLogElement().getClass());
diff --git a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1MatcherTest.java b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1MatcherTest.java
index 4ae6681..3a52def 100644
--- a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1MatcherTest.java
+++ b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV1MatcherTest.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.assertTrue;
import java.util.List;
-import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenV1Element;
+import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenElement;
import org.apache.servicecomb.transport.rest.vertx.accesslog.parser.AccessLogElementExtraction;
import org.junit.Test;
@@ -57,6 +57,6 @@ public class BytesWrittenV1MatcherTest {
@Test
public void getAccessLogElement() {
- assertTrue(BytesWrittenV1Element.class.equals(MATCHER.getAccessLogElement().getClass()));
+ assertTrue(BytesWrittenElement.class.equals(MATCHER.getAccessLogElement().getClass()));
}
}
diff --git a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2MatcherTest.java b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2MatcherTest.java
index d8418f1..01f8789 100644
--- a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2MatcherTest.java
+++ b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/accesslog/parser/matcher/impl/BytesWrittenV2MatcherTest.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.assertTrue;
import java.util.List;
-import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenV2Element;
+import org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.BytesWrittenElement;
import org.apache.servicecomb.transport.rest.vertx.accesslog.parser.AccessLogElementExtraction;
import org.junit.Test;
@@ -57,6 +57,6 @@ public class BytesWrittenV2MatcherTest {
@Test
public void getAccessLogElement() {
- assertTrue(BytesWrittenV2Element.class.equals(MATCHER.getAccessLogElement().getClass()));
+ assertTrue(BytesWrittenElement.class.equals(MATCHER.getAccessLogElement().getClass()));
}
}
--
To stop receiving notification emails like this one, please contact
liubao@apache.org.