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); -}