Toggle navigation
Toggle navigation
This project
Loading...
Sign in
홍길동
/
onos
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
Yuta HIGUCHI
2014-11-19 13:56:19 -0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
75fb1f4a7504084eba6507140925f01da6384b58
75fb1f4a
1 parent
9b228cbb
Slice out byte[] printer
Change-Id: I095575df5f03057c386be77328897be59c96eaf9
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
130 additions
and
4 deletions
core/api/src/main/java/org/onlab/onos/store/service/VersionedValue.java
core/api/src/main/java/org/onlab/onos/store/service/WriteRequest.java
utils/misc/src/main/java/org/onlab/util/ByteArraySizeHashPrinter.java
utils/misc/src/test/java/org/onlab/util/ByteArraySizeHashPrinterTest.java
core/api/src/main/java/org/onlab/onos/store/service/VersionedValue.java
View file @
75fb1f4
...
...
@@ -2,6 +2,8 @@ package org.onlab.onos.store.service;
import
java.util.Arrays
;
import
org.onlab.util.ByteArraySizeHashPrinter
;
import
com.google.common.base.MoreObjects
;
/**
...
...
@@ -64,7 +66,7 @@ public class VersionedValue {
public
String
toString
()
{
return
MoreObjects
.
toStringHelper
(
getClass
())
.
add
(
"version"
,
version
)
.
add
(
"value"
,
value
!=
null
?
"["
+
value
.
length
+
" bytes]"
:
value
)
.
add
(
"value"
,
ByteArraySizeHashPrinter
.
orNull
(
value
)
)
.
toString
();
}
}
...
...
core/api/src/main/java/org/onlab/onos/store/service/WriteRequest.java
View file @
75fb1f4
...
...
@@ -6,6 +6,8 @@ import static org.onlab.onos.store.service.WriteRequest.Type.*;
import
java.util.Objects
;
import
org.onlab.util.ByteArraySizeHashPrinter
;
import
com.google.common.base.MoreObjects
;
/**
...
...
@@ -185,13 +187,13 @@ public class WriteRequest {
@Override
public
String
toString
()
{
return
MoreObjects
.
toStringHelper
(
getClass
())
return
MoreObjects
.
toStringHelper
(
getClass
())
.
add
(
"type"
,
type
)
.
add
(
"tableName"
,
tableName
)
.
add
(
"key"
,
key
)
.
add
(
"newValue"
,
newValue
!=
null
?
"["
+
newValue
.
length
+
" bytes]"
:
newValue
)
.
add
(
"newValue"
,
ByteArraySizeHashPrinter
.
orNull
(
newValue
)
)
.
add
(
"previousVersion"
,
previousVersion
)
.
add
(
"oldValue"
,
oldValue
!=
null
?
"["
+
oldValue
.
length
+
" bytes]"
:
oldValue
)
.
add
(
"oldValue"
,
ByteArraySizeHashPrinter
.
orNull
(
oldValue
)
)
.
toString
();
}
...
...
utils/misc/src/main/java/org/onlab/util/ByteArraySizeHashPrinter.java
0 → 100644
View file @
75fb1f4
/*
* Copyright 2014 Open Networking Laboratory
*
* Licensed 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
.
onlab
.
util
;
import
java.util.Arrays
;
import
com.google.common.base.MoreObjects
;
import
com.google.common.base.MoreObjects.ToStringHelper
;
/**
* Helper to print byte[] length and hashCode.
*/
public
final
class
ByteArraySizeHashPrinter
{
private
final
byte
[]
bytes
;
/**
* Returns ByteArraySizeHashPrinter wrapping given byte[].
*
* @param bytes bytes to wrap around
* @return ByteArraySizeHashPrinter
*/
public
static
ByteArraySizeHashPrinter
of
(
byte
[]
bytes
)
{
return
new
ByteArraySizeHashPrinter
(
bytes
);
}
/**
* Returns ByteArraySizeHashPrinter wrapping given byte[].
*
* @param bytes bytes to wrap around
* @return null if {@code bytes == null}, ByteArraySizeHashPrinter otherwise
*/
public
static
ByteArraySizeHashPrinter
orNull
(
byte
[]
bytes
)
{
if
(
bytes
==
null
)
{
return
null
;
}
return
new
ByteArraySizeHashPrinter
(
bytes
);
}
public
ByteArraySizeHashPrinter
(
byte
[]
bytes
)
{
this
.
bytes
=
bytes
;
}
@Override
public
String
toString
()
{
ToStringHelper
helper
=
MoreObjects
.
toStringHelper
(
"byte[]"
);
if
(
bytes
!=
null
)
{
helper
.
add
(
"length"
,
bytes
.
length
)
.
add
(
"hash"
,
Arrays
.
hashCode
(
bytes
));
}
else
{
helper
.
addValue
(
bytes
);
}
return
helper
.
toString
();
}
}
utils/misc/src/test/java/org/onlab/util/ByteArraySizeHashPrinterTest.java
0 → 100644
View file @
75fb1f4
/*
* Copyright 2014 Open Networking Laboratory
*
* Licensed 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
.
onlab
.
util
;
import
static
org
.
junit
.
Assert
.*;
import
java.util.Arrays
;
import
org.junit.Test
;
/**
* Test cases for byte[] pretty printer.
*/
public
class
ByteArraySizeHashPrinterTest
{
/**
* Test method for {@link org.onlab.util.ByteArraySizeHashPrinter#toString()}.
*/
@Test
public
void
testToStringNull
()
{
final
byte
[]
none
=
null
;
assertEquals
(
"byte[]{null}"
,
String
.
valueOf
(
ByteArraySizeHashPrinter
.
of
(
none
)));
assertNull
(
ByteArraySizeHashPrinter
.
orNull
(
none
));
}
/**
* Test method for {@link org.onlab.util.ByteArraySizeHashPrinter#toString()}.
*/
@Test
public
void
testToString
()
{
final
byte
[]
some
=
new
byte
[]
{
2
,
5
,
0
,
1
};
final
String
expected
=
"byte[]{length="
+
some
.
length
+
", hash="
+
Arrays
.
hashCode
(
some
)
+
"}"
;
assertEquals
(
expected
,
String
.
valueOf
(
ByteArraySizeHashPrinter
.
of
(
some
)));
assertNotNull
(
ByteArraySizeHashPrinter
.
orNull
(
some
));
}
}
Please
register
or
login
to post a comment