【ONOS-1223】【ONOS-1870】the implements of label resource APIs.it include
commands
used to test
if there is any bug,LabelResourceManager,LabelResourceStore using
copycat,and junit test code.
the distribution strategy is that the master of devices handle all the
requests if applied label belongs to it.except for query request.
label store uses copycat instead of hazelcast to keep strong consistency

Change-Id: I77bde6a96f33098063573d37ed1ba787ae21973f
diff --git a/core/api/src/test/java/org/onosproject/net/resource/LabelResourceRequestTest.java b/core/api/src/test/java/org/onosproject/net/resource/LabelResourceRequestTest.java
new file mode 100644
index 0000000..bc538b2
--- /dev/null
+++ b/core/api/src/test/java/org/onosproject/net/resource/LabelResourceRequestTest.java
@@ -0,0 +1,44 @@
+package org.onosproject.net.resource;
+
+import java.util.Collections;
+
+import org.junit.Test;
+import org.onosproject.event.AbstractEventTest;
+import org.onosproject.net.DeviceId;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.testing.EqualsTester;
+
+/**
+ * Tests of the label resource request.
+ */
+public class LabelResourceRequestTest extends AbstractEventTest {
+
+    @Test
+    public void testEquality() {
+        DeviceId deviceId1 = DeviceId.deviceId("of:0001");
+        DeviceId deviceId2 = DeviceId.deviceId("of:0002");
+        long apply = 2;
+        ImmutableSet<LabelResource> releaseCollection = ImmutableSet
+                .copyOf(Collections.emptySet());
+        LabelResourceRequest h1 = new LabelResourceRequest(
+                                                           deviceId1,
+                                                           LabelResourceRequest.Type.APPLY,
+                                                           apply, null);
+        LabelResourceRequest h2 = new LabelResourceRequest(
+                                                           deviceId1,
+                                                           LabelResourceRequest.Type.APPLY,
+                                                           apply, null);
+        LabelResourceRequest h3 = new LabelResourceRequest(
+                                                           deviceId2,
+                                                           LabelResourceRequest.Type.RELEASE,
+                                                           0, releaseCollection);
+        LabelResourceRequest h4 = new LabelResourceRequest(
+                                                           deviceId2,
+                                                           LabelResourceRequest.Type.RELEASE,
+                                                           0, releaseCollection);
+
+        new EqualsTester().addEqualityGroup(h1, h2).addEqualityGroup(h3, h4)
+                .testEquals();
+    }
+}