summaryrefslogtreecommitdiffstats
path: root/vpp-api/java/jvpp-registry/org/openvpp/jvpp/JVppRegistryImpl.java
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2016-09-28 10:12:04 +0200
committerDamjan Marion <dmarion.lists@gmail.com>2016-09-29 08:54:43 +0000
commite85581cd07cf70d19870d8f858420f252ced3405 (patch)
tree58c4e2fcaa02c7f324e684687e328b76f2e8bbe1 /vpp-api/java/jvpp-registry/org/openvpp/jvpp/JVppRegistryImpl.java
parent85ecc810ca98550a250c74f32244760e459e3f87 (diff)
VPP-378: rename jvpp package to the same as groupId of deployed jars
Related changes: - NSH: https://gerrit.fd.io/r/#/c/3181/ - Honeycomb: https://gerrit.fd.io/r/#/c/3182 Change-Id: Ifdd6b8b575916fdf99794618dbe604c2e17e8e82 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'vpp-api/java/jvpp-registry/org/openvpp/jvpp/JVppRegistryImpl.java')
-rw-r--r--vpp-api/java/jvpp-registry/org/openvpp/jvpp/JVppRegistryImpl.java133
1 files changed, 0 insertions, 133 deletions
diff --git a/vpp-api/java/jvpp-registry/org/openvpp/jvpp/JVppRegistryImpl.java b/vpp-api/java/jvpp-registry/org/openvpp/jvpp/JVppRegistryImpl.java
deleted file mode 100644
index bb6730f4cae..00000000000
--- a/vpp-api/java/jvpp-registry/org/openvpp/jvpp/JVppRegistryImpl.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * 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.openvpp.jvpp;
-
-import static java.util.Objects.requireNonNull;
-
-import java.io.IOException;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.openvpp.jvpp.callback.ControlPingCallback;
-import org.openvpp.jvpp.callback.JVppCallback;
-import org.openvpp.jvpp.dto.ControlPingReply;
-
-/**
- * Default implementation of JVppRegistry.
- */
-public final class JVppRegistryImpl implements JVppRegistry, ControlPingCallback {
-
- private static final Logger LOG = Logger.getLogger(JVppRegistryImpl.class.getName());
-
- private final VppJNIConnection connection;
- private final ConcurrentMap<String, JVppCallback> pluginRegistry;
- private final ConcurrentMap<Integer, ControlPingCallback> pingCalls;
-
- public JVppRegistryImpl(final String clientName) throws IOException {
- connection = new VppJNIConnection(clientName);
- connection.connect();
- pluginRegistry = new ConcurrentHashMap<>();
- pingCalls = new ConcurrentHashMap<>();
- }
-
- @Override
- public VppConnection getConnection() {
- return connection;
- }
-
- @Override
- public void register(final JVpp jvpp, final JVppCallback callback) {
- requireNonNull(jvpp, "jvpp should not be null");
- requireNonNull(callback, "Callback should not be null");
- final String name = jvpp.getClass().getName();
- if (pluginRegistry.putIfAbsent(name, callback) != null) {
- throw new IllegalArgumentException(String.format("Callback for plugin %s was already registered", name));
- }
- jvpp.init(this, callback, connection.getConnectionInfo().queueAddress,
- connection.getConnectionInfo().clientIndex);
- }
-
- @Override
- public void unregister(final String name) {
- requireNonNull(name, "Plugin name should not be null");
- final JVppCallback previous = pluginRegistry.remove(name);
- assertPluginWasRegistered(name, previous);
- }
-
- @Override
- public JVppCallback get(final String name) {
- requireNonNull(name, "Plugin name should not be null");
- JVppCallback value = pluginRegistry.get(name);
- assertPluginWasRegistered(name, value);
- return value;
- }
-
- private native int controlPing0() throws VppInvocationException;
-
- @Override
- public int controlPing(final Class<? extends JVpp> clazz) throws VppInvocationException {
- connection.checkActive();
- final String name = clazz.getName();
-
- final ControlPingCallback callback = (ControlPingCallback) pluginRegistry.get(clazz.getName());
- assertPluginWasRegistered(name, callback);
-
- int context = controlPing0();
- if (context < 0) {
- throw new VppInvocationException("controlPing", context);
- }
-
- pingCalls.put(context, callback);
- return context;
- }
-
-
- @Override
- public void onControlPingReply(final ControlPingReply reply) {
- final ControlPingCallback callback = pingCalls.get(reply.context);
- if (callback == null) {
- LOG.log(Level.WARNING, "No callback was registered for reply id={0} ", reply.context);
- return;
- }
- // pass the reply to the callback registered by the ping caller
- callback.onControlPingReply(reply);
- }
-
- @Override
- public void onError(final VppCallbackException ex) {
- final int ctxId = ex.getCtxId();
- final ControlPingCallback callback = pingCalls.get(ctxId);
- if (callback == null) {
- LOG.log(Level.WARNING, "No callback was registered for reply id={0} ", ctxId);
- return;
- }
- // pass the error to the callback registered by the ping caller
- callback.onError(ex);
- }
-
- private static void assertPluginWasRegistered(final String name, final JVppCallback value) {
- if (value == null) {
- throw new IllegalArgumentException(String.format("Callback for plugin %s is not registered", name));
- }
- }
-
- @Override
- public void close() throws Exception {
- connection.close();
- }
-}