Refactor grpc package by placing the services in flat structure

Change-Id: Id1c8f7bb9a60b4d58898347816df5752f30a62a5
diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/utils/GrpcNbMeterServiceUtil.java b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/meter/MeterProtoTranslator.java
similarity index 97%
rename from incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/utils/GrpcNbMeterServiceUtil.java
rename to incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/meter/MeterProtoTranslator.java
index 43c4908..85f0a97 100644
--- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/utils/GrpcNbMeterServiceUtil.java
+++ b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/meter/MeterProtoTranslator.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.grpc.nb.utils;
+package org.onosproject.incubator.protobuf.models.net.meter;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -45,8 +45,8 @@
  * gRPC message conversion related utilities for meter service.
  */
 @Beta
-public final class GrpcNbMeterServiceUtil {
-    private static final Logger log = LoggerFactory.getLogger(GrpcNbMeterServiceUtil.class);
+public final class MeterProtoTranslator {
+    private static final Logger log = LoggerFactory.getLogger(MeterProtoTranslator.class);
 
     /**
      * Translates gRPC ApplicationId to {@link ApplicationId}.
@@ -292,6 +292,6 @@
     }
 
     // Utility class not intended for instantiation.
-    private GrpcNbMeterServiceUtil() {
+    private MeterProtoTranslator() {
     }
 }
diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/net/meter/package-info.java b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/meter/package-info.java
similarity index 83%
rename from incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/net/meter/package-info.java
rename to incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/meter/package-info.java
index 3b63c95..a90c429 100644
--- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/net/meter/package-info.java
+++ b/incubator/protobuf/models/src/main/java/org/onosproject/incubator/protobuf/models/net/meter/package-info.java
@@ -14,6 +14,6 @@
  * limitations under the License.
  */
 /**
- * gRPC server implementations for northbound services.
+ * Utilities to handle ProtoBuf version of ONOS meter models.
  */
-package org.onosproject.grpc.nb.net.meter;
\ No newline at end of file
+package org.onosproject.incubator.protobuf.models.net.meter;
\ No newline at end of file
diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/app/package-info.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/app/package-info.java
deleted file mode 100644
index b5cd387..0000000
--- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/app/package-info.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-/**
- * gRPC server implementations for northbound services.
- */
-package org.onosproject.grpc.nb.app;
\ No newline at end of file
diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/package-info.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/package-info.java
deleted file mode 100644
index 9701cab..0000000
--- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-
-/**
- * gRPC server implementations for northbound services.
- */
-package org.onosproject.grpc.nb;
\ No newline at end of file
diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/utils/package-info.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/utils/package-info.java
deleted file mode 100644
index 341744c..0000000
--- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/utils/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-
-/**
- * A package contains a set of utilities that are used to convert gRPC model
- * object to ONOS data model object.
- */
-package org.onosproject.grpc.nb.utils;
\ No newline at end of file
diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/app/GrpcNbApplicationService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java
similarity index 97%
rename from incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/app/GrpcNbApplicationService.java
rename to incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java
index 4bc5a31..9bbd813 100644
--- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/app/GrpcNbApplicationService.java
+++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.grpc.nb.app;
+package org.onosproject.incubator.protobuf.services.nb;
 
 import com.google.common.annotations.Beta;
 import io.grpc.stub.StreamObserver;
@@ -27,6 +27,7 @@
 import org.onosproject.core.Application;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.grpc.nb.app.ApplicationServiceGrpc.ApplicationServiceImplBase;
+import org.onosproject.grpc.nb.app.ApplicationServiceNb;
 import org.onosproject.grpc.nb.app.ApplicationServiceNb.getApplicationReply;
 import org.onosproject.grpc.nb.app.ApplicationServiceNb.getApplicationsReply;
 import org.onosproject.grpc.nb.app.ApplicationServiceNb.getIdReply;
diff --git a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/net/meter/GrpcNbMeterService.java b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java
similarity index 87%
rename from incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/net/meter/GrpcNbMeterService.java
rename to incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java
index 64ced8a..c30accd 100644
--- a/incubator/protobuf/services/nb/src/main/java/org/onosproject/grpc/nb/net/meter/GrpcNbMeterService.java
+++ b/incubator/protobuf/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package org.onosproject.grpc.nb.net.meter;
+package org.onosproject.incubator.protobuf.services.nb;
 
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.onosproject.net.meter.MeterService;
-import org.onosproject.grpc.nb.utils.GrpcNbMeterServiceUtil;
+import org.onosproject.incubator.protobuf.models.net.meter.MeterProtoTranslator;
 
 import org.onosproject.grpc.nb.net.meter.MeterServiceGrpc.MeterServiceImplBase;
 import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.submitRequest;
@@ -46,7 +46,7 @@
 /**
  * A server that provides access to the methods exposed by {@link MeterService}.
  * TODO this requires major refactoring, translation should be delegated to calls to
- * TODO{@link GrpcNbMeterServiceUtil}.
+ * TODO{@link MeterProtoTranslator}.
  */
 @Beta
 @Component(immediate = true)
@@ -75,8 +75,8 @@
         public void submit(submitRequest request,
                            StreamObserver<submitReply> responseObserver) {
             submitReply.Builder replyBuilder = submitReply.newBuilder();
-            Meter meter = meterService.submit(GrpcNbMeterServiceUtil.translate(request.getMeter()));
-            responseObserver.onNext(replyBuilder.setSubmitMeter(GrpcNbMeterServiceUtil.translate(meter)).build());
+            Meter meter = meterService.submit(MeterProtoTranslator.translate(request.getMeter()));
+            responseObserver.onNext(replyBuilder.setSubmitMeter(MeterProtoTranslator.translate(meter)).build());
             responseObserver.onCompleted();
         }
 
@@ -84,7 +84,7 @@
         public void withdraw(withdrawRequest request,
                              StreamObserver<withdrawReply> responseObserver) {
             withdrawReply.Builder replyBuilder = withdrawReply.newBuilder();
-            meterService.withdraw(GrpcNbMeterServiceUtil.translate(request.getMeter()),
+            meterService.withdraw(MeterProtoTranslator.translate(request.getMeter()),
                     MeterId.meterId(request.getMeterId()));
             responseObserver.onNext(replyBuilder.build());
             responseObserver.onCompleted();
@@ -96,7 +96,7 @@
             getMeterReply.Builder replyBuilder = getMeterReply.newBuilder();
             Meter meter = meterService.getMeter(DeviceId.deviceId(request.getDeviceId()),
                     MeterId.meterId(request.getMeterId()));
-            responseObserver.onNext(replyBuilder.setMeter(GrpcNbMeterServiceUtil.translate(meter)).build());
+            responseObserver.onNext(replyBuilder.setMeter(MeterProtoTranslator.translate(meter)).build());
             responseObserver.onCompleted();
         }
 
@@ -105,7 +105,7 @@
                                  StreamObserver<getAllMetersReply> responseObserver) {
             getAllMetersReply.Builder replyBuilder = getAllMetersReply.newBuilder();
             meterService.getAllMeters().forEach(d -> {
-                replyBuilder.addMeters(GrpcNbMeterServiceUtil.translate(d));
+                replyBuilder.addMeters(MeterProtoTranslator.translate(d));
             });
             responseObserver.onNext(replyBuilder.build());
             responseObserver.onCompleted();
@@ -116,7 +116,7 @@
                               StreamObserver<getMetersReply> responseObserver) {
             getMetersReply.Builder replyBuilder = getMetersReply.newBuilder();
             meterService.getMeters(DeviceId.deviceId(request.getDeviceId())).forEach(d -> {
-                replyBuilder.addMeters(GrpcNbMeterServiceUtil.translate(d));
+                replyBuilder.addMeters(MeterProtoTranslator.translate(d));
             });
             responseObserver.onNext(replyBuilder.build());
             responseObserver.onCompleted();