This is an automated email from the ASF dual-hosted git repository.

bmahler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git

commit 286d7bd1cd3a62d244c0ac3216d4a130d1408a99
Author: Andrei Sekretenko <[email protected]>
AuthorDate: Thu Jul 4 18:05:53 2019 -0400

    Added reviveOffers(roles) to V0 Java bindings.
    
    Review: https://reviews.apache.org/r/70947/
---
 .../jni/org_apache_mesos_MesosSchedulerDriver.cpp  | 24 +++++++++++++++++++++-
 .../src/org/apache/mesos/MesosSchedulerDriver.java |  2 ++
 src/java/src/org/apache/mesos/SchedulerDriver.java | 15 ++++++++++++++
 3 files changed, 40 insertions(+), 1 deletion(-)

diff --git a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
index f81a69a..fd852fd 100644
--- a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
+++ b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
@@ -938,7 +938,7 @@ Java_org_apache_mesos_MesosSchedulerDriver_declineOffer(
  * Signature: ()Lorg/apache/mesos/Protos/Status;
  */
 JNIEXPORT jobject JNICALL
-Java_org_apache_mesos_MesosSchedulerDriver_reviveOffers(
+Java_org_apache_mesos_MesosSchedulerDriver_reviveOffers__(
     JNIEnv* env, jobject thiz)
 {
   jclass clazz = env->GetObjectClass(thiz);
@@ -955,6 +955,28 @@ Java_org_apache_mesos_MesosSchedulerDriver_reviveOffers(
 
 /*
  * Class:     org_apache_mesos_MesosSchedulerDriver
+ * Method:    reviveOffersForRoles
+ * Signature: (Ljava/util/Collection;)Lorg/apache/mesos/Protos/Status;
+ */
+JNIEXPORT jobject JNICALL
+Java_org_apache_mesos_MesosSchedulerDriver_reviveOffers__Ljava_util_Collection_2(
 // NOLINT(whitespace/line_length)
+    JNIEnv* env, jobject thiz, jobject jroles)
+{
+  jclass clazz = env->GetObjectClass(thiz);
+
+  jfieldID __driver = env->GetFieldID(clazz, "__driver", "J");
+  MesosSchedulerDriver* driver =
+    (MesosSchedulerDriver*) env->GetLongField(thiz, __driver);
+
+  Status status =
+    driver->reviveOffers(constructFromIterable<string>(env, jroles));
+
+  return convert<Status>(env, status);
+}
+
+
+/*
+ * Class:     org_apache_mesos_MesosSchedulerDriver
  * Method:    suppressOffers
  * Signature: ()Lorg/apache/mesos/Protos/Status;
  */
diff --git a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java 
b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
index 772a738..c373436 100644
--- a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
+++ b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
@@ -393,6 +393,8 @@ public class MesosSchedulerDriver implements 
SchedulerDriver {
 
   public native Status reviveOffers();
 
+  public native Status reviveOffers(Collection<String> roles);
+
   public native Status suppressOffers();
 
   public native Status acknowledgeStatusUpdate(TaskStatus status);
diff --git a/src/java/src/org/apache/mesos/SchedulerDriver.java 
b/src/java/src/org/apache/mesos/SchedulerDriver.java
index 155e4ac..25ba439 100644
--- a/src/java/src/org/apache/mesos/SchedulerDriver.java
+++ b/src/java/src/org/apache/mesos/SchedulerDriver.java
@@ -269,6 +269,21 @@ public interface SchedulerDriver {
   Status reviveOffers();
 
   /**
+   * Removes filters for the specified roles and removes these roles from
+   * the suppressed set. If the framework is not connected to the master,
+   * an up-to-date set of suppressed roles will be sent to the master
+   * during re-registration.
+   *
+   * @param roles The collection of the framework roles to be revivied.
+   *              If empty, this method does nothing.
+   *
+   * @return    The state of the driver after the call.
+   *
+   * @see Status
+   */
+  Status reviveOffers(Collection<String> roles);
+
+  /**
    * Informs Mesos master to stop sending offers to the framework (i.e.
    * to suppress all roles of the framework). To resume getting offers,
    * the scheduler can call reviveOffers() or set the suppressed roles

Reply via email to