Adapt to changes in Gerrit plugin API
With [1] the package for NativeString and Natives was changed so that
the imports needed to be adapted.
NativeMap and TransformCallback are now available in the plugin API.
[1] https://gerrit-review.googlesource.com/54375
Change-Id: I6116f21fe2f1778c608ee100fd94c1f479f94976
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/NativeMap.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/NativeMap.java
deleted file mode 100644
index 27bb222..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/NativeMap.java
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright (C) 2012 The Android Open Source Project
-//
-// 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 com.googlesource.gerrit.plugins.serviceuser.client;
-
-import com.google.gerrit.plugin.client.rpc.Natives;
-import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.core.client.JsArray;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-
-import java.util.Set;
-
-/** A map of native JSON objects, keyed by a string. */
-public class NativeMap<T extends JavaScriptObject> extends JavaScriptObject {
- public static <T extends JavaScriptObject> NativeMap<T> create() {
- return createObject().cast();
- }
-
- /**
- * Loop through the result map's entries and copy the key strings into the
- * "name" property of the corresponding child object. This only runs on the
- * top level map of the result, and requires the children to be JSON objects
- * and not a JSON primitive (e.g. boolean or string).
- */
- public static <T extends JavaScriptObject,
- M extends NativeMap<T>> AsyncCallback<M> copyKeysIntoChildren(
- AsyncCallback<M> callback) {
- return copyKeysIntoChildren("name", callback);
- }
-
- /** Loop through the result map and set asProperty on the children. */
- public static <T extends JavaScriptObject,
- M extends NativeMap<T>> AsyncCallback<M> copyKeysIntoChildren(
- final String asProperty, AsyncCallback<M> callback) {
- return new TransformCallback<M, M>(callback) {
- @Override
- protected M transform(M result) {
- result.copyKeysIntoChildren(asProperty);
- return result;
- }
- };
- }
-
- protected NativeMap() {
- }
-
- public final Set<String> keySet() {
- return Natives.keys(this);
- }
-
- public final native JsArray<T> values()
- /*-{
- var s = this;
- var v = [];
- var i = 0;
- for (var k in s) {
- if (s.hasOwnProperty(k)) {
- v[i++] = s[k];
- }
- }
- return v;
- }-*/;
-
- public final int size() {
- return keySet().size();
- }
-
- public final boolean isEmpty() {
- return size() == 0;
- }
-
- public final boolean containsKey(String n) {
- return get(n) != null;
- }
-
- public final native T get(String n) /*-{ return this[n]; }-*/;
- public final native void put(String n, T v) /*-{ this[n] = v; }-*/;
-
- public final native void copyKeysIntoChildren(String p)
- /*-{
- var s = this;
- for (var k in s) {
- if (s.hasOwnProperty(k)) {
- var c = s[k];
- c[p] = k;
- }
- }
- }-*/;
-}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserListScreen.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserListScreen.java
index 0f767cc..aae6a29 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserListScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserListScreen.java
@@ -14,6 +14,7 @@
package com.googlesource.gerrit.plugins.serviceuser.client;
+import com.google.gerrit.client.rpc.NativeMap;
import com.google.gerrit.plugin.client.Plugin;
import com.google.gerrit.plugin.client.rpc.RestApi;
import com.google.gerrit.plugin.client.screen.Screen;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserScreen.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserScreen.java
index cbc77b3..d96c416 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/ServiceUserScreen.java
@@ -14,8 +14,8 @@
package com.googlesource.gerrit.plugins.serviceuser.client;
+import com.google.gerrit.client.rpc.NativeString;
import com.google.gerrit.plugin.client.Plugin;
-import com.google.gerrit.plugin.client.rpc.NativeString;
import com.google.gerrit.plugin.client.rpc.NoContent;
import com.google.gerrit.plugin.client.rpc.RestApi;
import com.google.gerrit.plugin.client.screen.Screen;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/SshPanel.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/SshPanel.java
index bad75b8..53db9e9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/SshPanel.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/SshPanel.java
@@ -14,8 +14,8 @@
package com.googlesource.gerrit.plugins.serviceuser.client;
+import com.google.gerrit.client.rpc.Natives;
import com.google.gerrit.plugin.client.Plugin;
-import com.google.gerrit.plugin.client.rpc.Natives;
import com.google.gerrit.plugin.client.rpc.NoContent;
import com.google.gerrit.plugin.client.rpc.RestApi;
import com.google.gwt.core.client.JsArray;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/TransformCallback.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/TransformCallback.java
deleted file mode 100644
index b7d601c..0000000
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/client/TransformCallback.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (C) 2012 The Android Open Source Project
-//
-// 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 com.googlesource.gerrit.plugins.serviceuser.client;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
-
-/** Transforms a value and passes it on to another callback. */
-public abstract class TransformCallback<I, O> implements AsyncCallback<I>{
- private final AsyncCallback<O> callback;
-
- protected TransformCallback(AsyncCallback<O> callback) {
- this.callback = callback;
- }
-
- @Override
- public void onSuccess(I result) {
- callback.onSuccess(transform(result));
- }
-
- @Override
- public void onFailure(Throwable caught) {
- callback.onFailure(caught);
- }
-
- protected abstract O transform(I result);
-}