// Path: src/test/java/org/infinispan/spark/domain/Runner.java
// @ProtoName("runner")
// @SerializeWith(Runner.RunnerExternalizer.class)
// public class Runner implements Serializable {
// 
//    private String name;
// 
//    private Boolean finished;
// 
//    private int finishTimeSeconds;
// 
//    private int age;
// 
//    public Runner() {
//    }
// 
//    public Runner(String name, Boolean finished, int finishTimeSeconds, int age) {
//       this.name = name;
//       this.finished = finished;
//       this.finishTimeSeconds = finishTimeSeconds;
//       this.age = age;
//    }
// 
//    @ProtoField(number = 1, required = true)
//    public String getName() {
//       return name;
//    }
// 
//    @ProtoField(number = 2, required = true)
//    public Boolean getFinished() {
//       return finished;
//    }
// 
//    @ProtoField(number = 3, required = true)
//    public int getFinishTimeSeconds() {
//       return finishTimeSeconds;
//    }
// 
//    @ProtoField(number = 4, required = true)
//    public int getAge() {
//       return age;
//    }
// 
//    public void setName(String name) {
//       this.name = name;
//    }
// 
//    public void setFinished(Boolean finished) {
//       this.finished = finished;
//    }
// 
//    public void setFinishTimeSeconds(int finishTimeSeconds) {
//       this.finishTimeSeconds = finishTimeSeconds;
//    }
// 
//    public void setAge(int age) {
//       this.age = age;
//    }
// 
//    @Override
//    public String toString() {
//       return "Runner{" +
//             "name='" + name + '\'' +
//             ", finished=" + finished +
//             ", finishTimeSeconds=" + finishTimeSeconds +
//             ", age=" + age +
//             '}';
//    }
// 
//    public static class RunnerExternalizer implements Externalizer<Runner> {
//       @Override
//       public void writeObject(ObjectOutput output, Runner object) throws IOException {
//          output.writeUTF(object.name);
//          output.writeBoolean(object.finished);
//          output.writeInt(object.finishTimeSeconds);
//          output.writeInt(object.age);
//       }
// 
//       @Override
//       public Runner readObject(ObjectInput input) throws IOException {
//          String name = input.readUTF();
//          boolean finished = input.readBoolean();
//          int finishedSeconds = input.readInt();
//          int age = input.readInt();
//          return new Runner(name, finished, finishedSeconds, age);
//       }
//    }
// }


import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
import org.infinispan.client.hotrod.RemoteCache;
import org.infinispan.client.hotrod.Search;
import org.infinispan.query.dsl.Query;
import org.infinispan.spark.config.ConnectorConfiguration;
import org.infinispan.spark.domain.Runner;
import org.infinispan.spark.rdd.InfinispanJavaRDD;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
package org.infinispan.spark;




/**
 * @author gustavonalle
 */
public class JavaProtobufTest {

   private final SparkSession sparkSession;
   private final RemoteCache<Integer, Runner> cache;
   private final ConnectorConfiguration config;
   private final InfinispanJavaRDD<Integer, Runner> infinispanRDD;

// Path: src/test/java/org/infinispan/spark/domain/Runner.java
// @ProtoName("runner")
// @SerializeWith(Runner.RunnerExternalizer.class)
// public class Runner implements Serializable {
// 
//    private String name;
// 
//    private Boolean finished;
// 
//    private int finishTimeSeconds;
// 
//    private int age;
// 
//    public Runner() {
//    }
// 
//    public Runner(String name, Boolean finished, int finishTimeSeconds, int age) {
//       this.name = name;
//       this.finished = finished;
//       this.finishTimeSeconds = finishTimeSeconds;
//       this.age = age;
//    }
// 
//    @ProtoField(number = 1, required = true)
//    public String getName() {
//       return name;
//    }
// 
//    @ProtoField(number = 2, required = true)
//    public Boolean getFinished() {
//       return finished;
//    }
// 
//    @ProtoField(number = 3, required = true)
//    public int getFinishTimeSeconds() {
//       return finishTimeSeconds;
//    }
// 
//    @ProtoField(number = 4, required = true)
//    public int getAge() {
//       return age;
//    }
// 
//    public void setName(String name) {
//       this.name = name;
//    }
// 
//    public void setFinished(Boolean finished) {
//       this.finished = finished;
//    }
// 
//    public void setFinishTimeSeconds(int finishTimeSeconds) {
//       this.finishTimeSeconds = finishTimeSeconds;
//    }
// 
//    public void setAge(int age) {
//       this.age = age;
//    }
// 
//    @Override
//    public String toString() {
//       return "Runner{" +
//             "name='" + name + '\'' +
//             ", finished=" + finished +
//             ", finishTimeSeconds=" + finishTimeSeconds +
//             ", age=" + age +
//             '}';
//    }
// 
//    public static class RunnerExternalizer implements Externalizer<Runner> {
//       @Override
//       public void writeObject(ObjectOutput output, Runner object) throws IOException {
//          output.writeUTF(object.name);
//          output.writeBoolean(object.finished);
//          output.writeInt(object.finishTimeSeconds);
//          output.writeInt(object.age);
//       }
// 
//       @Override
//       public Runner readObject(ObjectInput input) throws IOException {
//          String name = input.readUTF();
//          boolean finished = input.readBoolean();
//          int finishedSeconds = input.readInt();
//          int age = input.readInt();
//          return new Runner(name, finished, finishedSeconds, age);
//       }
//    }
// }


// Path: src/test/java/org/infinispan/spark/JavaProtobufTest.java
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
import org.infinispan.client.hotrod.RemoteCache;
import org.infinispan.client.hotrod.Search;
import org.infinispan.query.dsl.Query;
import org.infinispan.spark.config.ConnectorConfiguration;
import org.infinispan.spark.domain.Runner;
import org.infinispan.spark.rdd.InfinispanJavaRDD;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

package org.infinispan.spark;




/**
 * @author gustavonalle
 */
public class JavaProtobufTest {

   private final SparkSession sparkSession;
   private final RemoteCache<Integer, Runner> cache;
   private final ConnectorConfiguration config;
   private final InfinispanJavaRDD<Integer, Runner> infinispanRDD;

   public JavaProtobufTest(SparkSession session, RemoteCache<Integer, Runner> cache, ConnectorConfiguration config) {