diff --git a/.gitignore b/.gitignore
index e841cc4bf5..784627b616 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,5 @@ target/
spring-openid/src/main/resources/application.properties
.recommenders/
+/spring-hibernate4/nbproject/
+spring-security-openid/src/main/resources/application.properties
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000..c2a369a1b3
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,17 @@
+language: java
+
+install: travis_wait 40 mvn -q clean install -Dgib.enabled=true
+
+jdk:
+ - oraclejdk8
+
+sudo: false
+addons:
+ apt:
+ packages:
+ - oracle-java8-installer
+
+cache:
+ directories:
+ - .autoconf
+ - $HOME/.m2
\ No newline at end of file
diff --git a/JGit/pom.xml b/JGit/pom.xml
new file mode 100644
index 0000000000..93c49edb92
--- /dev/null
+++ b/JGit/pom.xml
@@ -0,0 +1,63 @@
+
+
+ 4.0.0
+ com.baeldung
+ JGitSnippets
+ 1.0-SNAPSHOT
+ jar
+ http://maven.apache.org
+
+ UTF-8
+ 1.8
+ 1.8
+
+
+
+ jgit-repository
+ https://repo.eclipse.org/content/groups/releases/
+
+
+
+
+
+
+ org.eclipse.jgit
+ org.eclipse.jgit
+ 4.5.0.201609210915-r
+
+
+ org.eclipse.jgit
+ org.eclipse.jgit.archive
+ 4.5.0.201609210915-r
+
+
+ commons-io
+ commons-io
+ 2.5
+
+
+ org.slf4j
+ slf4j-simple
+ 1.7.21
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.2
+
+ 1.7
+ 1.7
+
+
+
+
+
\ No newline at end of file
diff --git a/JGit/src/main/java/com/baeldung/jgit/CreateNewRepository.java b/JGit/src/main/java/com/baeldung/jgit/CreateNewRepository.java
new file mode 100644
index 0000000000..1702efc315
--- /dev/null
+++ b/JGit/src/main/java/com/baeldung/jgit/CreateNewRepository.java
@@ -0,0 +1,30 @@
+package com.baeldung.jgit;
+
+import java.io.File;
+import java.io.IOException;
+import org.apache.commons.io.FileUtils;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.GitAPIException;
+
+/**
+ * Simple snippet which shows how to create a new repository
+ *
+ *
+ */
+public class CreateNewRepository {
+
+ public static void main(String[] args) throws IOException, IllegalStateException, GitAPIException {
+ // prepare a new folder
+ File localPath = File.createTempFile("TestGitRepository", "");
+ if(!localPath.delete()) {
+ throw new IOException("Could not delete temporary file " + localPath);
+ }
+
+ // create the directory
+ try (Git git = Git.init().setDirectory(localPath).call()) {
+ System.out.println("Having repository: " + git.getRepository().getDirectory());
+ }
+
+ FileUtils.deleteDirectory(localPath);
+ }
+}
diff --git a/JGit/src/main/java/com/baeldung/jgit/OpenRepository.java b/JGit/src/main/java/com/baeldung/jgit/OpenRepository.java
new file mode 100644
index 0000000000..671df2a844
--- /dev/null
+++ b/JGit/src/main/java/com/baeldung/jgit/OpenRepository.java
@@ -0,0 +1,65 @@
+package com.baeldung.jgit;
+
+import com.baeldung.jgit.helper.Helper;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.lib.Ref;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Simple snippet which shows how to open an existing repository
+ *
+ *
+ */
+public class OpenRepository {
+
+ public static void main(String[] args) throws IOException, GitAPIException {
+ // first create a test-repository, the return is including the .get directory here!
+ File repoDir = createSampleGitRepo();
+
+ // now open the resulting repository with a FileRepositoryBuilder
+ FileRepositoryBuilder builder = new FileRepositoryBuilder();
+ try (Repository repository = builder.setGitDir(repoDir)
+ .readEnvironment() // scan environment GIT_* variables
+ .findGitDir() // scan up the file system tree
+ .build()) {
+ System.out.println("Having repository: " + repository.getDirectory());
+
+ // the Ref holds an ObjectId for any type of object (tree, commit, blob, tree)
+ Ref head = repository.exactRef("refs/heads/master");
+ System.out.println("Ref of refs/heads/master: " + head);
+ }
+ }
+
+ private static File createSampleGitRepo() throws IOException, GitAPIException {
+ try (Repository repository = Helper.createNewRepository()) {
+ System.out.println("Temporary repository at " + repository.getDirectory());
+
+ // create the file
+ File myfile = new File(repository.getDirectory().getParent(), "testfile");
+ if(!myfile.createNewFile()) {
+ throw new IOException("Could not create file " + myfile);
+ }
+
+ // run the add-call
+ try (Git git = new Git(repository)) {
+ git.add()
+ .addFilepattern("testfile")
+ .call();
+
+
+ // and then commit the changes
+ git.commit()
+ .setMessage("Added testfile")
+ .call();
+ }
+
+ System.out.println("Added file " + myfile + " to repository at " + repository.getDirectory());
+
+ return repository.getDirectory();
+ }
+ }
+}
diff --git a/JGit/src/main/java/com/baeldung/jgit/helper/Helper.java b/JGit/src/main/java/com/baeldung/jgit/helper/Helper.java
new file mode 100644
index 0000000000..39d7b767d2
--- /dev/null
+++ b/JGit/src/main/java/com/baeldung/jgit/helper/Helper.java
@@ -0,0 +1,33 @@
+
+package com.baeldung.jgit.helper;
+
+import java.io.File;
+import java.io.IOException;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
+
+public class Helper {
+
+ public static Repository openJGitRepository() throws IOException {
+ FileRepositoryBuilder builder = new FileRepositoryBuilder();
+ return builder
+ .readEnvironment() // scan environment GIT_* variables
+ .findGitDir() // scan up the file system tree
+ .build();
+ }
+
+ public static Repository createNewRepository() throws IOException {
+ // prepare a new folder
+ File localPath = File.createTempFile("TestGitRepository", "");
+ if(!localPath.delete()) {
+ throw new IOException("Could not delete temporary file " + localPath);
+ }
+
+ // create the directory
+ Repository repository = FileRepositoryBuilder.create(new File(localPath, ".git"));
+ repository.create();
+
+ return repository;
+ }
+
+}
diff --git a/JGit/src/main/java/com/baeldung/jgit/porcelain/AddFile.java b/JGit/src/main/java/com/baeldung/jgit/porcelain/AddFile.java
new file mode 100644
index 0000000000..314366f08c
--- /dev/null
+++ b/JGit/src/main/java/com/baeldung/jgit/porcelain/AddFile.java
@@ -0,0 +1,36 @@
+package com.baeldung.jgit.porcelain;
+
+import java.io.File;
+import java.io.IOException;
+import com.baeldung.jgit.helper.Helper;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.lib.Repository;
+
+/**
+ * Simple snippet which shows how to add a file to the index
+ *
+ *
+ */
+public class AddFile {
+
+ public static void main(String[] args) throws IOException, GitAPIException {
+ // prepare a new test-repository
+ try (Repository repository = Helper.createNewRepository()) {
+ try (Git git = new Git(repository)) {
+ // create the file
+ File myfile = new File(repository.getDirectory().getParent(), "testfile");
+ if(!myfile.createNewFile()) {
+ throw new IOException("Could not create file " + myfile);
+ }
+
+ // run the add-call
+ git.add()
+ .addFilepattern("testfile")
+ .call();
+
+ System.out.println("Added file " + myfile + " to repository at " + repository.getDirectory());
+ }
+ }
+ }
+}
diff --git a/JGit/src/main/java/com/baeldung/jgit/porcelain/CommitAll.java b/JGit/src/main/java/com/baeldung/jgit/porcelain/CommitAll.java
new file mode 100644
index 0000000000..4c0956ebf8
--- /dev/null
+++ b/JGit/src/main/java/com/baeldung/jgit/porcelain/CommitAll.java
@@ -0,0 +1,51 @@
+package com.baeldung.jgit.porcelain;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import com.baeldung.jgit.helper.Helper;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.lib.Repository;
+
+/**
+ * Simple snippet which shows how to commit all files
+ *
+ *
+ */
+public class CommitAll {
+
+ public static void main(String[] args) throws IOException, GitAPIException {
+ // prepare a new test-repository
+ try (Repository repository = Helper.createNewRepository()) {
+ try (Git git = new Git(repository)) {
+ // create the file
+ File myfile = new File(repository.getDirectory().getParent(), "testfile");
+ if(!myfile.createNewFile()) {
+ throw new IOException("Could not create file " + myfile);
+ }
+
+ // Stage all files in the repo including new files
+ git.add().addFilepattern(".").call();
+
+ // and then commit the changes.
+ git.commit()
+ .setMessage("Commit all changes including additions")
+ .call();
+
+ try(PrintWriter writer = new PrintWriter(myfile)) {
+ writer.append("Hello, world!");
+ }
+
+ // Stage all changed files, omitting new files, and commit with one command
+ git.commit()
+ .setAll(true)
+ .setMessage("Commit changes to all files")
+ .call();
+
+
+ System.out.println("Committed all changes to repository at " + repository.getDirectory());
+ }
+ }
+ }
+}
diff --git a/JGit/src/main/java/com/baeldung/jgit/porcelain/CreateAndDeleteTag.java b/JGit/src/main/java/com/baeldung/jgit/porcelain/CreateAndDeleteTag.java
new file mode 100644
index 0000000000..0f735daf8c
--- /dev/null
+++ b/JGit/src/main/java/com/baeldung/jgit/porcelain/CreateAndDeleteTag.java
@@ -0,0 +1,56 @@
+package com.baeldung.jgit.porcelain;
+
+import java.io.IOException;
+import com.baeldung.jgit.helper.Helper;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.lib.ObjectId;
+import org.eclipse.jgit.lib.Ref;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.jgit.revwalk.RevWalk;
+
+/**
+ * Simple snippet which shows how to create a tag
+ *
+ *
+ */
+public class CreateAndDeleteTag {
+
+ public static void main(String[] args) throws IOException, GitAPIException {
+ // prepare test-repository
+ try (Repository repository = Helper.openJGitRepository()) {
+ try (Git git = new Git(repository)) {
+ // remove the tag before creating it
+ git.tagDelete().setTags("tag_for_testing").call();
+
+ // set it on the current HEAD
+ Ref tag = git.tag().setName("tag_for_testing").call();
+ System.out.println("Created/moved tag " + tag + " to repository at " + repository.getDirectory());
+
+ // remove the tag again
+ git.tagDelete().setTags("tag_for_testing").call();
+
+ // read some other commit and set the tag on it
+ ObjectId id = repository.resolve("HEAD^");
+ try (RevWalk walk = new RevWalk(repository)) {
+ RevCommit commit = walk.parseCommit(id);
+ tag = git.tag().setObjectId(commit).setName("tag_for_testing").call();
+ System.out.println("Created/moved tag " + tag + " to repository at " + repository.getDirectory());
+
+ // remove the tag again
+ git.tagDelete().setTags("tag_for_testing").call();
+
+ // create an annotated tag
+ tag = git.tag().setName("tag_for_testing").setAnnotated(true).call();
+ System.out.println("Created/moved tag " + tag + " to repository at " + repository.getDirectory());
+
+ // remove the tag again
+ git.tagDelete().setTags("tag_for_testing").call();
+
+ walk.dispose();
+ }
+ }
+ }
+ }
+}
diff --git a/JGit/src/main/java/com/baeldung/jgit/porcelain/Log.java b/JGit/src/main/java/com/baeldung/jgit/porcelain/Log.java
new file mode 100644
index 0000000000..cb476b9d9e
--- /dev/null
+++ b/JGit/src/main/java/com/baeldung/jgit/porcelain/Log.java
@@ -0,0 +1,74 @@
+package com.baeldung.jgit.porcelain;
+
+import java.io.IOException;
+import com.baeldung.jgit.helper.Helper;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.revwalk.RevCommit;
+
+/**
+ * Simple snippet which shows how to get the commit-ids for a file to provide log information.
+ *
+ *
+ */
+public class Log {
+
+ @SuppressWarnings("unused")
+ public static void main(String[] args) throws IOException, GitAPIException {
+ try (Repository repository = Helper.openJGitRepository()) {
+ try (Git git = new Git(repository)) {
+ Iterable logs = git.log()
+ .call();
+ int count = 0;
+ for (RevCommit rev : logs) {
+ //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */);
+ count++;
+ }
+ System.out.println("Had " + count + " commits overall on current branch");
+
+ logs = git.log()
+ .add(repository.resolve("remotes/origin/testbranch"))
+ .call();
+ count = 0;
+ for (RevCommit rev : logs) {
+ System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */);
+ count++;
+ }
+ System.out.println("Had " + count + " commits overall on test-branch");
+
+ logs = git.log()
+ .all()
+ .call();
+ count = 0;
+ for (RevCommit rev : logs) {
+ //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */);
+ count++;
+ }
+ System.out.println("Had " + count + " commits overall in repository");
+
+ logs = git.log()
+ // for all log.all()
+ .addPath("README.md")
+ .call();
+ count = 0;
+ for (RevCommit rev : logs) {
+ //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */);
+ count++;
+ }
+ System.out.println("Had " + count + " commits on README.md");
+
+ logs = git.log()
+ // for all log.all()
+ .addPath("pom.xml")
+ .call();
+ count = 0;
+ for (RevCommit rev : logs) {
+ //System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */);
+ count++;
+ }
+ System.out.println("Had " + count + " commits on pom.xml");
+ }
+ }
+ }
+}
diff --git a/JGit/src/test/java/com/baeldung/jgit/JGitBugTest.java b/JGit/src/test/java/com/baeldung/jgit/JGitBugTest.java
new file mode 100644
index 0000000000..acad4e395f
--- /dev/null
+++ b/JGit/src/test/java/com/baeldung/jgit/JGitBugTest.java
@@ -0,0 +1,31 @@
+import com.baeldung.jgit.helper.Helper;
+import org.eclipse.jgit.lib.ObjectLoader;
+import org.eclipse.jgit.lib.ObjectReader;
+import org.eclipse.jgit.lib.Ref;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.revwalk.RevWalk;
+import org.junit.Test;
+import java.io.IOException;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * Tests which show issues with JGit that we reported upstream.
+ */
+public class JGitBugTest {
+ @Test
+ public void testRevWalkDisposeClosesReader() throws IOException {
+ try (Repository repo = Helper.openJGitRepository()) {
+ try (ObjectReader reader = repo.newObjectReader()) {
+ try (RevWalk walk = new RevWalk(reader)) {
+ walk.dispose();
+
+ Ref head = repo.exactRef("refs/heads/master");
+ System.out.println("Found head: " + head);
+
+ ObjectLoader loader = reader.open(head.getObjectId());
+ assertNotNull(loader);
+ }
+ }
+ }
+ }
+}
diff --git a/JGit/src/test/java/com/baeldung/jgit/porcelain/PorcelainTest.java b/JGit/src/test/java/com/baeldung/jgit/porcelain/PorcelainTest.java
new file mode 100644
index 0000000000..ce3a41e657
--- /dev/null
+++ b/JGit/src/test/java/com/baeldung/jgit/porcelain/PorcelainTest.java
@@ -0,0 +1,17 @@
+package com.baeldung.jgit.porcelain;
+
+import org.junit.Test;
+
+public class PorcelainTest {
+ @Test
+ public void runSamples() throws Exception {
+ // simply call all the samples to see any severe problems with the samples
+ AddFile.main(null);
+
+ CommitAll.main(null);
+
+ CreateAndDeleteTag.main(null);
+
+ Log.main(null);
+ }
+}
diff --git a/algorithms/pom.xml b/algorithms/pom.xml
new file mode 100644
index 0000000000..0c85a19534
--- /dev/null
+++ b/algorithms/pom.xml
@@ -0,0 +1,44 @@
+
+ 4.0.0
+ com.baeldung
+ algorithms
+ 0.0.1-SNAPSHOT
+
+
+ 4.12
+ 3.6.0
+ 1.5.0
+
+
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+
+
+ install
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ 1.8
+ 1.8
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ ${exec-maven-plugin.version}
+
+
+
+
+
\ No newline at end of file
diff --git a/algorithms/src/main/java/com/baeldung/algorithms/dijkstra/Dijkstra.java b/algorithms/src/main/java/com/baeldung/algorithms/dijkstra/Dijkstra.java
new file mode 100644
index 0000000000..1d41f46adb
--- /dev/null
+++ b/algorithms/src/main/java/com/baeldung/algorithms/dijkstra/Dijkstra.java
@@ -0,0 +1,57 @@
+package com.baeldung.algorithms.dijkstra;
+
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.Map.Entry;
+import java.util.Set;
+
+public class Dijkstra {
+
+ public static Graph calculateShortestPathFromSource(Graph graph, Node source) {
+
+ source.setDistance(0);
+
+ Set settledNodes = new HashSet<>();
+ Set unsettledNodes = new HashSet<>();
+ unsettledNodes.add(source);
+
+ while (unsettledNodes.size() != 0) {
+ Node currentNode = getLowestDistanceNode(unsettledNodes);
+ unsettledNodes.remove(currentNode);
+ for (Entry adjacencyPair : currentNode.getAdjacentNodes().entrySet()) {
+ Node adjacentNode = adjacencyPair.getKey();
+ Integer edgeWeigh = adjacencyPair.getValue();
+
+ if (!settledNodes.contains(adjacentNode)) {
+ CalculateMinimumDistance(adjacentNode, edgeWeigh, currentNode);
+ unsettledNodes.add(adjacentNode);
+ }
+ }
+ settledNodes.add(currentNode);
+ }
+ return graph;
+ }
+
+ private static void CalculateMinimumDistance(Node evaluationNode, Integer edgeWeigh, Node sourceNode) {
+ Integer sourceDistance = sourceNode.getDistance();
+ if (sourceDistance + edgeWeigh < evaluationNode.getDistance()) {
+ evaluationNode.setDistance(sourceDistance + edgeWeigh);
+ LinkedList shortestPath = new LinkedList<>(sourceNode.getShortestPath());
+ shortestPath.add(sourceNode);
+ evaluationNode.setShortestPath(shortestPath);
+ }
+ }
+
+ private static Node getLowestDistanceNode(Set unsettledNodes) {
+ Node lowestDistanceNode = null;
+ int lowestDistance = Integer.MAX_VALUE;
+ for (Node node : unsettledNodes) {
+ int nodeDistance = node.getDistance();
+ if (nodeDistance < lowestDistance) {
+ lowestDistance = nodeDistance;
+ lowestDistanceNode = node;
+ }
+ }
+ return lowestDistanceNode;
+ }
+}
diff --git a/algorithms/src/main/java/com/baeldung/algorithms/dijkstra/Graph.java b/algorithms/src/main/java/com/baeldung/algorithms/dijkstra/Graph.java
new file mode 100644
index 0000000000..f24d6ae60e
--- /dev/null
+++ b/algorithms/src/main/java/com/baeldung/algorithms/dijkstra/Graph.java
@@ -0,0 +1,21 @@
+package com.baeldung.algorithms.dijkstra;
+
+import java.util.HashSet;
+import java.util.Set;
+
+public class Graph {
+
+ private Set nodes = new HashSet<>();
+
+ public void addNode(Node nodeA) {
+ nodes.add(nodeA);
+ }
+
+ public Set getNodes() {
+ return nodes;
+ }
+
+ public void setNodes(Set nodes) {
+ this.nodes = nodes;
+ }
+}
diff --git a/algorithms/src/main/java/com/baeldung/algorithms/dijkstra/Node.java b/algorithms/src/main/java/com/baeldung/algorithms/dijkstra/Node.java
new file mode 100644
index 0000000000..b00127a259
--- /dev/null
+++ b/algorithms/src/main/java/com/baeldung/algorithms/dijkstra/Node.java
@@ -0,0 +1,58 @@
+package com.baeldung.algorithms.dijkstra;
+
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+public class Node {
+
+ private String name;
+
+ private LinkedList shortestPath = new LinkedList<>();
+
+ private Integer distance = Integer.MAX_VALUE;
+
+ private Map adjacentNodes = new HashMap<>();
+
+ public Node(String name) {
+ this.name = name;
+ }
+
+ public void addDestination(Node destination, int distance) {
+ adjacentNodes.put(destination, distance);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Map getAdjacentNodes() {
+ return adjacentNodes;
+ }
+
+ public void setAdjacentNodes(Map adjacentNodes) {
+ this.adjacentNodes = adjacentNodes;
+ }
+
+ public Integer getDistance() {
+ return distance;
+ }
+
+ public void setDistance(Integer distance) {
+ this.distance = distance;
+ }
+
+ public List getShortestPath() {
+ return shortestPath;
+ }
+
+ public void setShortestPath(LinkedList shortestPath) {
+ this.shortestPath = shortestPath;
+ }
+
+}
diff --git a/algorithms/src/test/java/algorithms/DijkstraAlgorithmTest.java b/algorithms/src/test/java/algorithms/DijkstraAlgorithmTest.java
new file mode 100644
index 0000000000..07606bde4b
--- /dev/null
+++ b/algorithms/src/test/java/algorithms/DijkstraAlgorithmTest.java
@@ -0,0 +1,75 @@
+package algorithms;
+
+import com.baeldung.algorithms.dijkstra.Dijkstra;
+import com.baeldung.algorithms.dijkstra.Graph;
+import com.baeldung.algorithms.dijkstra.Node;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.assertTrue;
+
+public class DijkstraAlgorithmTest {
+
+ @Test
+ public void whenSPPSolved_thenCorrect() {
+
+ Node nodeA = new Node("A");
+ Node nodeB = new Node("B");
+ Node nodeC = new Node("C");
+ Node nodeD = new Node("D");
+ Node nodeE = new Node("E");
+ Node nodeF = new Node("F");
+
+ nodeA.addDestination(nodeB, 10);
+ nodeA.addDestination(nodeC, 15);
+
+ nodeB.addDestination(nodeD, 12);
+ nodeB.addDestination(nodeF, 15);
+
+ nodeC.addDestination(nodeE, 10);
+
+ nodeD.addDestination(nodeE, 2);
+ nodeD.addDestination(nodeF, 1);
+
+ nodeF.addDestination(nodeE, 5);
+
+ Graph graph = new Graph();
+
+ graph.addNode(nodeA);
+ graph.addNode(nodeB);
+ graph.addNode(nodeC);
+ graph.addNode(nodeD);
+ graph.addNode(nodeE);
+ graph.addNode(nodeF);
+
+ graph = Dijkstra.calculateShortestPathFromSource(graph, nodeA);
+
+ List shortestPathForNodeB = Arrays.asList(nodeA);
+ List shortestPathForNodeC = Arrays.asList(nodeA);
+ List shortestPathForNodeD = Arrays.asList(nodeA, nodeB);
+ List shortestPathForNodeE = Arrays.asList(nodeA, nodeB, nodeD);
+ List shortestPathForNodeF = Arrays.asList(nodeA, nodeB, nodeD);
+
+ for (Node node : graph.getNodes()) {
+ switch (node.getName()) {
+ case "B":
+ assertTrue(node.getShortestPath().equals(shortestPathForNodeB));
+ break;
+ case "C":
+ assertTrue(node.getShortestPath().equals(shortestPathForNodeC));
+ break;
+ case "D":
+ assertTrue(node.getShortestPath().equals(shortestPathForNodeD));
+ break;
+ case "E":
+ assertTrue(node.getShortestPath().equals(shortestPathForNodeE));
+ break;
+ case "F":
+ assertTrue(node.getShortestPath().equals(shortestPathForNodeF));
+ break;
+ }
+ }
+ }
+}
diff --git a/annotations/annotation-processing/src/main/java/com/baeldung/annotation/processor/BuilderProcessor.java b/annotations/annotation-processing/src/main/java/com/baeldung/annotation/processor/BuilderProcessor.java
index 0883e108e7..18d8f9a8a9 100644
--- a/annotations/annotation-processing/src/main/java/com/baeldung/annotation/processor/BuilderProcessor.java
+++ b/annotations/annotation-processing/src/main/java/com/baeldung/annotation/processor/BuilderProcessor.java
@@ -27,17 +27,12 @@ public class BuilderProcessor extends AbstractProcessor {
Set extends Element> annotatedElements = roundEnv.getElementsAnnotatedWith(annotation);
- Map> annotatedMethods = annotatedElements.stream()
- .collect(Collectors.partitioningBy(element ->
- ((ExecutableType) element.asType()).getParameterTypes().size() == 1
- && element.getSimpleName().toString().startsWith("set")));
+ Map> annotatedMethods = annotatedElements.stream().collect(Collectors.partitioningBy(element -> ((ExecutableType) element.asType()).getParameterTypes().size() == 1 && element.getSimpleName().toString().startsWith("set")));
List setters = annotatedMethods.get(true);
List otherMethods = annotatedMethods.get(false);
- otherMethods.forEach(element ->
- processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR,
- "@BuilderProperty must be applied to a setXxx method with a single argument", element));
+ otherMethods.forEach(element -> processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "@BuilderProperty must be applied to a setXxx method with a single argument", element));
if (setters.isEmpty()) {
continue;
@@ -45,11 +40,7 @@ public class BuilderProcessor extends AbstractProcessor {
String className = ((TypeElement) setters.get(0).getEnclosingElement()).getQualifiedName().toString();
- Map setterMap = setters.stream().collect(Collectors.toMap(
- setter -> setter.getSimpleName().toString(),
- setter -> ((ExecutableType) setter.asType())
- .getParameterTypes().get(0).toString()
- ));
+ Map setterMap = setters.stream().collect(Collectors.toMap(setter -> setter.getSimpleName().toString(), setter -> ((ExecutableType) setter.asType()).getParameterTypes().get(0).toString()));
try {
writeBuilderFile(className, setterMap);
diff --git a/annotations/annotation-user/src/test/java/com/baeldung/annotation/PersonBuilderTest.java b/annotations/annotation-user/src/test/java/com/baeldung/annotation/PersonBuilderTest.java
index 72f9ac8bc7..8d01f8a517 100644
--- a/annotations/annotation-user/src/test/java/com/baeldung/annotation/PersonBuilderTest.java
+++ b/annotations/annotation-user/src/test/java/com/baeldung/annotation/PersonBuilderTest.java
@@ -9,10 +9,7 @@ public class PersonBuilderTest {
@Test
public void whenBuildPersonWithBuilder_thenObjectHasPropertyValues() {
- Person person = new PersonBuilder()
- .setAge(25)
- .setName("John")
- .build();
+ Person person = new PersonBuilder().setAge(25).setName("John").build();
assertEquals(25, person.getAge());
assertEquals("John", person.getName());
diff --git a/annotations/pom.xml b/annotations/pom.xml
index f691674cf1..0ddc17f8a7 100644
--- a/annotations/pom.xml
+++ b/annotations/pom.xml
@@ -1,7 +1,6 @@
-
+
parent-modules
com.baeldung
diff --git a/apache-cxf/cxf-introduction/src/main/java/com/baeldung/cxf/introduction/Server.java b/apache-cxf/cxf-introduction/src/main/java/com/baeldung/cxf/introduction/Server.java
index 0e5af60b9d..2ac649f4c5 100644
--- a/apache-cxf/cxf-introduction/src/main/java/com/baeldung/cxf/introduction/Server.java
+++ b/apache-cxf/cxf-introduction/src/main/java/com/baeldung/cxf/introduction/Server.java
@@ -8,7 +8,7 @@ public class Server {
String address = "http://localhost:8080/baeldung";
Endpoint.publish(address, implementor);
System.out.println("Server ready...");
- Thread.sleep(60 * 1000);
+ Thread.sleep(60 * 1000);
System.out.println("Server exiting");
System.exit(0);
}
diff --git a/apache-cxf/cxf-jaxrs-implementation/src/main/java/com/baeldung/cxf/jaxrs/implementation/RestfulServer.java b/apache-cxf/cxf-jaxrs-implementation/src/main/java/com/baeldung/cxf/jaxrs/implementation/RestfulServer.java
index d3ed2eb70e..0605aef7b3 100644
--- a/apache-cxf/cxf-jaxrs-implementation/src/main/java/com/baeldung/cxf/jaxrs/implementation/RestfulServer.java
+++ b/apache-cxf/cxf-jaxrs-implementation/src/main/java/com/baeldung/cxf/jaxrs/implementation/RestfulServer.java
@@ -11,7 +11,7 @@ public class RestfulServer {
factoryBean.setResourceProvider(new SingletonResourceProvider(new CourseRepository()));
factoryBean.setAddress("http://localhost:8080/");
Server server = factoryBean.create();
-
+
System.out.println("Server ready...");
Thread.sleep(60 * 1000);
System.out.println("Server exiting");
diff --git a/apache-cxf/pom.xml b/apache-cxf/pom.xml
index e2cd7d344a..6849452908 100644
--- a/apache-cxf/pom.xml
+++ b/apache-cxf/pom.xml
@@ -5,20 +5,20 @@
apache-cxf
0.0.1-SNAPSHOT
pom
-
+
cxf-introduction
cxf-spring
cxf-jaxrs-implementation
cxf-aegis
-
+
4.12
3.6.0
1.5.0
-
+
junit
@@ -27,7 +27,7 @@
test
-
+
install
diff --git a/apache-fop/pom.xml b/apache-fop/pom.xml
index 4dd61d8f4e..6f89497a7d 100644
--- a/apache-fop/pom.xml
+++ b/apache-fop/pom.xml
@@ -1,154 +1,155 @@
-
- 4.0.0
- com.baeldung
- apache-fop
- 0.1-SNAPSHOT
+
+ 4.0.0
+ com.baeldung
+ apache-fop
+ 0.1-SNAPSHOT
- apache-fop
+ apache-fop
-
+
-
+
-
- org.slf4j
- slf4j-api
- ${org.slf4j.version}
-
-
- ch.qos.logback
- logback-classic
- ${logback.version}
-
-
-
- org.slf4j
- jcl-over-slf4j
- ${org.slf4j.version}
-
-
-
- org.slf4j
- log4j-over-slf4j
- ${org.slf4j.version}
-
+
+ org.slf4j
+ slf4j-api
+ ${org.slf4j.version}
+
+
+ ch.qos.logback
+ logback-classic
+ ${logback.version}
+
+
+
+ org.slf4j
+ jcl-over-slf4j
+ ${org.slf4j.version}
+
+
+
+ org.slf4j
+ log4j-over-slf4j
+ ${org.slf4j.version}
+
-
+
-
- junit
- junit
- ${junit.version}
- test
-
+
+ junit
+ junit
+ ${junit.version}
+ test
+
-
- org.hamcrest
- hamcrest-core
- ${org.hamcrest.version}
- test
-
-
- org.hamcrest
- hamcrest-library
- ${org.hamcrest.version}
- test
-
+
+ org.hamcrest
+ hamcrest-core
+ ${org.hamcrest.version}
+ test
+
+
+ org.hamcrest
+ hamcrest-library
+ ${org.hamcrest.version}
+ test
+
-
- org.mockito
- mockito-core
- ${mockito.version}
- test
-
+
+ org.mockito
+ mockito-core
+ ${mockito.version}
+ test
+
-
+
-
- org.apache.xmlgraphics
- fop
- ${fop.version}
-
-
- org.apache.avalon.framework
- avalon-framework-api
-
-
- org.apache.avalon.framework
- avalon-framework-impl
-
-
-
+
+ org.apache.xmlgraphics
+ fop
+ ${fop.version}
+
+
+ org.apache.avalon.framework
+ avalon-framework-api
+
+
+ org.apache.avalon.framework
+ avalon-framework-impl
+
+
+
-
- avalon-framework
- avalon-framework-api
- ${avalon-framework.version}
-
-
- avalon-framework
- avalon-framework-impl
- ${avalon-framework.version}
-
+
+ avalon-framework
+ avalon-framework-api
+ ${avalon-framework.version}
+
+
+ avalon-framework
+ avalon-framework-impl
+ ${avalon-framework.version}
+
-
- org.dbdoclet
- dbdoclet
- ${dbdoclet.version}
-
+
+ org.dbdoclet
+ dbdoclet
+ ${dbdoclet.version}
+
-
- org.dbdoclet
- herold
- 6.1.0
- system
- ${basedir}/src/test/resources/jars/herold.jar
-
-
-
- net.sf.jtidy
- jtidy
- ${jtidy.version}
-
+
+ org.dbdoclet
+ herold
+ 6.1.0
+ system
+ ${basedir}/src/test/resources/jars/herold.jar
+
-
+
+ net.sf.jtidy
+ jtidy
+ ${jtidy.version}
+
-
- apache-fop
-
-
- src/main/resources
- true
-
-
+
-
+
+ apache-fop
+
+
+ src/main/resources
+ true
+
+
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven-compiler-plugin.version}
-
- 1.7
- 1.7
-
-
+
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
-
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ 1.7
+ 1.7
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${maven-surefire-plugin.version}
+
+
**/*IntegrationTest.java
**/*LiveTest.java
-
-
-
+
+
+
-
+
-
+
@@ -170,7 +171,7 @@
**/*IntegrationTest.java
- **/*LiveTest.java
+ **/*LiveTest.java
@@ -185,25 +186,25 @@
-
-
- 1.1
- 4.3
- 8.0.2
- r938
-
- 1.7.21
- 1.1.7
-
- 1.3
- 4.12
- 1.10.19
+
+ 1.1
+ 4.3
+ 8.0.2
+ r938
+
+ 1.7.21
+ 1.1.7
-
- 3.6.0
- 2.19.1
+
+ 1.3
+ 4.12
+ 1.10.19
-
+
+ 3.6.0
+ 2.19.1
+
+
\ No newline at end of file
diff --git a/apache-poi/README.md b/apache-poi/README.md
new file mode 100644
index 0000000000..10fe8ba2e7
--- /dev/null
+++ b/apache-poi/README.md
@@ -0,0 +1,3 @@
+### Relevant Articles:
+- [Microsoft Word Processing in Java with Apache POI](http://www.baeldung.com/java-microsoft-word-with-apache-poi)
+- [Working with Microsoft Excel in Java](http://www.baeldung.com/java-microsoft-excel)
diff --git a/apache-poi/pom.xml b/apache-poi/pom.xml
index d94b2e2ad1..d8a2cc72e0 100644
--- a/apache-poi/pom.xml
+++ b/apache-poi/pom.xml
@@ -9,6 +9,7 @@
3.6.0
4.12
3.15
+ 1.0.6
@@ -37,5 +38,10 @@
poi-ooxml
${poi.version}
+
+ org.jxls
+ jxls-jexcel
+ ${jexcel.version}
+
diff --git a/apache-poi/src/main/java/com/baeldung/jexcel/JExcelHelper.java b/apache-poi/src/main/java/com/baeldung/jexcel/JExcelHelper.java
new file mode 100644
index 0000000000..4ad3fc766c
--- /dev/null
+++ b/apache-poi/src/main/java/com/baeldung/jexcel/JExcelHelper.java
@@ -0,0 +1,74 @@
+package com.baeldung.jexcel;
+
+import jxl.*;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.List;
+import jxl.read.biff.BiffException;
+import java.io.File;
+import java.io.IOException;
+import jxl.write.*;
+import jxl.write.Number;
+import jxl.format.Colour;
+
+public class JExcelHelper {
+
+ public Map> readJExcel(String fileLocation) throws IOException, BiffException {
+ Map> data = new HashMap<>();
+
+ Workbook workbook = Workbook.getWorkbook(new File(fileLocation));
+ Sheet sheet = workbook.getSheet(0);
+ int rows = sheet.getRows();
+ int columns = sheet.getColumns();
+
+ for (int i = 0; i < rows; i++) {
+ data.put(i, new ArrayList());
+ for (int j = 0; j < columns; j++) {
+ data.get(i).add(sheet.getCell(j, i).getContents());
+ }
+ }
+ return data;
+ }
+
+ public void writeJExcel() throws IOException, WriteException {
+ WritableWorkbook workbook = null;
+ try {
+ File currDir = new File(".");
+ String path = currDir.getAbsolutePath();
+ String fileLocation = path.substring(0, path.length() - 1) + "temp.xls";
+
+ workbook = Workbook.createWorkbook(new File(fileLocation));
+
+ WritableSheet sheet = workbook.createSheet("Sheet 1", 0);
+
+ WritableCellFormat headerFormat = new WritableCellFormat();
+ WritableFont font = new WritableFont(WritableFont.ARIAL, 16, WritableFont.BOLD);
+ headerFormat.setFont(font);
+ headerFormat.setBackground(Colour.LIGHT_BLUE);
+ headerFormat.setWrap(true);
+ Label headerLabel = new Label(0, 0, "Name", headerFormat);
+ sheet.setColumnView(0, 60);
+ sheet.addCell(headerLabel);
+
+ headerLabel = new Label(1, 0, "Age", headerFormat);
+ sheet.setColumnView(0, 40);
+ sheet.addCell(headerLabel);
+
+ WritableCellFormat cellFormat = new WritableCellFormat();
+ cellFormat.setWrap(true);
+
+ Label cellLabel = new Label(0, 2, "John Smith", cellFormat);
+ sheet.addCell(cellLabel);
+ Number cellNumber = new Number(1, 2, 20, cellFormat);
+ sheet.addCell(cellNumber);
+
+ workbook.write();
+ } finally {
+ if (workbook != null) {
+ workbook.close();
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/apache-poi/src/main/java/com/baeldung/poi/excel/ExcelPOIHelper.java b/apache-poi/src/main/java/com/baeldung/poi/excel/ExcelPOIHelper.java
new file mode 100644
index 0000000000..b6b0cbef20
--- /dev/null
+++ b/apache-poi/src/main/java/com/baeldung/poi/excel/ExcelPOIHelper.java
@@ -0,0 +1,128 @@
+package com.baeldung.poi.excel;
+
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.poi.xssf.usermodel.XSSFFont;
+import org.apache.poi.ss.usermodel.DateUtil;
+import org.apache.poi.ss.usermodel.FillPatternType;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExcelPOIHelper {
+
+ public Map> readExcel(String fileLocation) throws IOException {
+
+ Map> data = new HashMap<>();
+ FileInputStream file = new FileInputStream(new File(fileLocation));
+ Workbook workbook = new XSSFWorkbook(file);
+ Sheet sheet = workbook.getSheetAt(0);
+ int i = 0;
+ for (Row row : sheet) {
+ data.put(i, new ArrayList());
+ for (Cell cell : row) {
+ switch (cell.getCellTypeEnum()) {
+ case STRING:
+ data.get(i)
+ .add(cell.getRichStringCellValue()
+ .getString());
+ break;
+ case NUMERIC:
+ if (DateUtil.isCellDateFormatted(cell)) {
+ data.get(i)
+ .add(cell.getDateCellValue() + "");
+ } else {
+ data.get(i)
+ .add((int)cell.getNumericCellValue() + "");
+ }
+ break;
+ case BOOLEAN:
+ data.get(i)
+ .add(cell.getBooleanCellValue() + "");
+ break;
+ case FORMULA:
+ data.get(i)
+ .add(cell.getCellFormula() + "");
+ break;
+ default:
+ data.get(i)
+ .add(" ");
+ }
+ }
+ i++;
+ }
+ if (workbook != null){
+ workbook.close();
+ }
+ return data;
+ }
+
+ public void writeExcel() throws IOException {
+ Workbook workbook = new XSSFWorkbook();
+
+ try {
+ Sheet sheet = workbook.createSheet("Persons");
+ sheet.setColumnWidth(0, 6000);
+ sheet.setColumnWidth(1, 4000);
+
+ Row header = sheet.createRow(0);
+
+ CellStyle headerStyle = workbook.createCellStyle();
+
+ headerStyle.setFillForegroundColor(IndexedColors.LIGHT_BLUE.getIndex());
+ headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+
+ XSSFFont font = ((XSSFWorkbook) workbook).createFont();
+ font.setFontName("Arial");
+ font.setFontHeightInPoints((short) 16);
+ font.setBold(true);
+ headerStyle.setFont(font);
+
+ Cell headerCell = header.createCell(0);
+ headerCell.setCellValue("Name");
+ headerCell.setCellStyle(headerStyle);
+
+ headerCell = header.createCell(1);
+ headerCell.setCellValue("Age");
+ headerCell.setCellStyle(headerStyle);
+
+ CellStyle style = workbook.createCellStyle();
+ style.setWrapText(true);
+
+ Row row = sheet.createRow(2);
+ Cell cell = row.createCell(0);
+ cell.setCellValue("John Smith");
+ cell.setCellStyle(style);
+
+ cell = row.createCell(1);
+ cell.setCellValue(20);
+ cell.setCellStyle(style);
+
+ File currDir = new File(".");
+ String path = currDir.getAbsolutePath();
+ String fileLocation = path.substring(0, path.length() - 1) + "temp.xlsx";
+
+ FileOutputStream outputStream = new FileOutputStream(fileLocation);
+ workbook.write(outputStream);
+ } finally {
+ if (workbook != null) {
+
+ workbook.close();
+
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/apache-poi/src/main/java/com/baeldung/poi/word/WordDocument.java b/apache-poi/src/main/java/com/baeldung/poi/word/WordDocument.java
index c05c323447..599da86eaa 100644
--- a/apache-poi/src/main/java/com/baeldung/poi/word/WordDocument.java
+++ b/apache-poi/src/main/java/com/baeldung/poi/word/WordDocument.java
@@ -1,5 +1,8 @@
package com.baeldung.poi.word;
+import org.apache.poi.util.Units;
+import org.apache.poi.xwpf.usermodel.*;
+
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URISyntaxException;
@@ -9,13 +12,6 @@ import java.nio.file.Paths;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import org.apache.poi.util.Units;
-import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
-import org.apache.poi.xwpf.usermodel.UnderlinePatterns;
-import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.apache.poi.xwpf.usermodel.XWPFParagraph;
-import org.apache.poi.xwpf.usermodel.XWPFRun;
-
public class WordDocument {
public static String logo = "logo-leaf.png";
public static String paragraph1 = "poi-word-para1.txt";
diff --git a/apache-poi/src/test/java/com/baeldung/jexcel/JExcelTest.java b/apache-poi/src/test/java/com/baeldung/jexcel/JExcelTest.java
new file mode 100644
index 0000000000..8ee465be34
--- /dev/null
+++ b/apache-poi/src/test/java/com/baeldung/jexcel/JExcelTest.java
@@ -0,0 +1,56 @@
+package com.baeldung.jexcel;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import jxl.read.biff.BiffException;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baeldung.jexcel.JExcelHelper;
+
+import jxl.write.WriteException;
+import jxl.read.biff.BiffException;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.junit.Before;
+
+public class JExcelTest {
+
+ private JExcelHelper jExcelHelper;
+ private static String FILE_NAME = "temp.xls";
+ private String fileLocation;
+
+ @Before
+ public void generateExcelFile() throws IOException, WriteException {
+
+ File currDir = new File(".");
+ String path = currDir.getAbsolutePath();
+ fileLocation = path.substring(0, path.length() - 1) + FILE_NAME;
+
+ jExcelHelper = new JExcelHelper();
+ jExcelHelper.writeJExcel();
+
+ }
+
+ @Test
+ public void whenParsingJExcelFile_thenCorrect() throws IOException, BiffException {
+ Map> data = jExcelHelper.readJExcel(fileLocation);
+
+ assertEquals("Name", data.get(0)
+ .get(0));
+ assertEquals("Age", data.get(0)
+ .get(1));
+
+ assertEquals("John Smith", data.get(2)
+ .get(0));
+ assertEquals("20", data.get(2)
+ .get(1));
+ }
+
+}
\ No newline at end of file
diff --git a/apache-poi/src/test/java/com/baeldung/poi/excel/ExcelTest.java b/apache-poi/src/test/java/com/baeldung/poi/excel/ExcelTest.java
new file mode 100644
index 0000000000..34fa64dd94
--- /dev/null
+++ b/apache-poi/src/test/java/com/baeldung/poi/excel/ExcelTest.java
@@ -0,0 +1,53 @@
+package com.baeldung.poi.excel;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import jxl.read.biff.BiffException;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baeldung.poi.excel.ExcelPOIHelper;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.junit.Before;
+
+public class ExcelTest {
+
+ private ExcelPOIHelper excelPOIHelper;
+ private static String FILE_NAME = "temp.xlsx";
+ private String fileLocation;
+
+ @Before
+ public void generateExcelFile() throws IOException {
+
+ File currDir = new File(".");
+ String path = currDir.getAbsolutePath();
+ fileLocation = path.substring(0, path.length() - 1) + FILE_NAME;
+
+ excelPOIHelper = new ExcelPOIHelper();
+ excelPOIHelper.writeExcel();
+
+ }
+
+ @Test
+ public void whenParsingPOIExcelFile_thenCorrect() throws IOException {
+ Map> data = excelPOIHelper.readExcel(fileLocation);
+
+ assertEquals("Name", data.get(0)
+ .get(0));
+ assertEquals("Age", data.get(0)
+ .get(1));
+
+ assertEquals("John Smith", data.get(1)
+ .get(0));
+ assertEquals("20", data.get(1)
+ .get(1));
+ }
+
+}
\ No newline at end of file
diff --git a/apache-poi/temp.xls b/apache-poi/temp.xls
new file mode 100644
index 0000000000..1fad76d88d
Binary files /dev/null and b/apache-poi/temp.xls differ
diff --git a/apache-poi/temp.xlsx b/apache-poi/temp.xlsx
new file mode 100644
index 0000000000..da67ca9e9e
Binary files /dev/null and b/apache-poi/temp.xlsx differ
diff --git a/apache-thrift/generated/com/baeldung/thrift/impl/CrossPlatformResource.java b/apache-thrift/generated/com/baeldung/thrift/impl/CrossPlatformResource.java
new file mode 100644
index 0000000000..6cb5af0695
--- /dev/null
+++ b/apache-thrift/generated/com/baeldung/thrift/impl/CrossPlatformResource.java
@@ -0,0 +1,579 @@
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package com.baeldung.thrift.impl;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-02-01")
+public class CrossPlatformResource implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CrossPlatformResource");
+
+ private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I32, (short)1);
+ private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField SALUTATION_FIELD_DESC = new org.apache.thrift.protocol.TField("salutation", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CrossPlatformResourceStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CrossPlatformResourceTupleSchemeFactory();
+
+ public int id; // required
+ public java.lang.String name; // required
+ public java.lang.String salutation; // optional
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ ID((short)1, "id"),
+ NAME((short)2, "name"),
+ SALUTATION((short)3, "salutation");
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // ID
+ return ID;
+ case 2: // NAME
+ return NAME;
+ case 3: // SALUTATION
+ return SALUTATION;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __ID_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ private static final _Fields optionals[] = {_Fields.SALUTATION};
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+ tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.SALUTATION, new org.apache.thrift.meta_data.FieldMetaData("salutation", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CrossPlatformResource.class, metaDataMap);
+ }
+
+ public CrossPlatformResource() {
+ }
+
+ public CrossPlatformResource(
+ int id,
+ java.lang.String name)
+ {
+ this();
+ this.id = id;
+ setIdIsSet(true);
+ this.name = name;
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public CrossPlatformResource(CrossPlatformResource other) {
+ __isset_bitfield = other.__isset_bitfield;
+ this.id = other.id;
+ if (other.isSetName()) {
+ this.name = other.name;
+ }
+ if (other.isSetSalutation()) {
+ this.salutation = other.salutation;
+ }
+ }
+
+ public CrossPlatformResource deepCopy() {
+ return new CrossPlatformResource(this);
+ }
+
+ @Override
+ public void clear() {
+ setIdIsSet(false);
+ this.id = 0;
+ this.name = null;
+ this.salutation = null;
+ }
+
+ public int getId() {
+ return this.id;
+ }
+
+ public CrossPlatformResource setId(int id) {
+ this.id = id;
+ setIdIsSet(true);
+ return this;
+ }
+
+ public void unsetId() {
+ __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ID_ISSET_ID);
+ }
+
+ /** Returns true if field id is set (has been assigned a value) and false otherwise */
+ public boolean isSetId() {
+ return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ID_ISSET_ID);
+ }
+
+ public void setIdIsSet(boolean value) {
+ __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ID_ISSET_ID, value);
+ }
+
+ public java.lang.String getName() {
+ return this.name;
+ }
+
+ public CrossPlatformResource setName(java.lang.String name) {
+ this.name = name;
+ return this;
+ }
+
+ public void unsetName() {
+ this.name = null;
+ }
+
+ /** Returns true if field name is set (has been assigned a value) and false otherwise */
+ public boolean isSetName() {
+ return this.name != null;
+ }
+
+ public void setNameIsSet(boolean value) {
+ if (!value) {
+ this.name = null;
+ }
+ }
+
+ public java.lang.String getSalutation() {
+ return this.salutation;
+ }
+
+ public CrossPlatformResource setSalutation(java.lang.String salutation) {
+ this.salutation = salutation;
+ return this;
+ }
+
+ public void unsetSalutation() {
+ this.salutation = null;
+ }
+
+ /** Returns true if field salutation is set (has been assigned a value) and false otherwise */
+ public boolean isSetSalutation() {
+ return this.salutation != null;
+ }
+
+ public void setSalutationIsSet(boolean value) {
+ if (!value) {
+ this.salutation = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case ID:
+ if (value == null) {
+ unsetId();
+ } else {
+ setId((java.lang.Integer)value);
+ }
+ break;
+
+ case NAME:
+ if (value == null) {
+ unsetName();
+ } else {
+ setName((java.lang.String)value);
+ }
+ break;
+
+ case SALUTATION:
+ if (value == null) {
+ unsetSalutation();
+ } else {
+ setSalutation((java.lang.String)value);
+ }
+ break;
+
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case ID:
+ return getId();
+
+ case NAME:
+ return getName();
+
+ case SALUTATION:
+ return getSalutation();
+
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case ID:
+ return isSetId();
+ case NAME:
+ return isSetName();
+ case SALUTATION:
+ return isSetSalutation();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof CrossPlatformResource)
+ return this.equals((CrossPlatformResource)that);
+ return false;
+ }
+
+ public boolean equals(CrossPlatformResource that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ boolean this_present_id = true;
+ boolean that_present_id = true;
+ if (this_present_id || that_present_id) {
+ if (!(this_present_id && that_present_id))
+ return false;
+ if (this.id != that.id)
+ return false;
+ }
+
+ boolean this_present_name = true && this.isSetName();
+ boolean that_present_name = true && that.isSetName();
+ if (this_present_name || that_present_name) {
+ if (!(this_present_name && that_present_name))
+ return false;
+ if (!this.name.equals(that.name))
+ return false;
+ }
+
+ boolean this_present_salutation = true && this.isSetSalutation();
+ boolean that_present_salutation = true && that.isSetSalutation();
+ if (this_present_salutation || that_present_salutation) {
+ if (!(this_present_salutation && that_present_salutation))
+ return false;
+ if (!this.salutation.equals(that.salutation))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + id;
+
+ hashCode = hashCode * 8191 + ((isSetName()) ? 131071 : 524287);
+ if (isSetName())
+ hashCode = hashCode * 8191 + name.hashCode();
+
+ hashCode = hashCode * 8191 + ((isSetSalutation()) ? 131071 : 524287);
+ if (isSetSalutation())
+ hashCode = hashCode * 8191 + salutation.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(CrossPlatformResource other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetName()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = java.lang.Boolean.valueOf(isSetSalutation()).compareTo(other.isSetSalutation());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetSalutation()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.salutation, other.salutation);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("CrossPlatformResource(");
+ boolean first = true;
+
+ sb.append("id:");
+ sb.append(this.id);
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("name:");
+ if (this.name == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.name);
+ }
+ first = false;
+ if (isSetSalutation()) {
+ if (!first) sb.append(", ");
+ sb.append("salutation:");
+ if (this.salutation == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.salutation);
+ }
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class CrossPlatformResourceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public CrossPlatformResourceStandardScheme getScheme() {
+ return new CrossPlatformResourceStandardScheme();
+ }
+ }
+
+ private static class CrossPlatformResourceStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, CrossPlatformResource struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.id = iprot.readI32();
+ struct.setIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // SALUTATION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.salutation = iprot.readString();
+ struct.setSalutationIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, CrossPlatformResource struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ oprot.writeFieldBegin(ID_FIELD_DESC);
+ oprot.writeI32(struct.id);
+ oprot.writeFieldEnd();
+ if (struct.name != null) {
+ oprot.writeFieldBegin(NAME_FIELD_DESC);
+ oprot.writeString(struct.name);
+ oprot.writeFieldEnd();
+ }
+ if (struct.salutation != null) {
+ if (struct.isSetSalutation()) {
+ oprot.writeFieldBegin(SALUTATION_FIELD_DESC);
+ oprot.writeString(struct.salutation);
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class CrossPlatformResourceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public CrossPlatformResourceTupleScheme getScheme() {
+ return new CrossPlatformResourceTupleScheme();
+ }
+ }
+
+ private static class CrossPlatformResourceTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, CrossPlatformResource struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet optionals = new java.util.BitSet();
+ if (struct.isSetId()) {
+ optionals.set(0);
+ }
+ if (struct.isSetName()) {
+ optionals.set(1);
+ }
+ if (struct.isSetSalutation()) {
+ optionals.set(2);
+ }
+ oprot.writeBitSet(optionals, 3);
+ if (struct.isSetId()) {
+ oprot.writeI32(struct.id);
+ }
+ if (struct.isSetName()) {
+ oprot.writeString(struct.name);
+ }
+ if (struct.isSetSalutation()) {
+ oprot.writeString(struct.salutation);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, CrossPlatformResource struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet incoming = iprot.readBitSet(3);
+ if (incoming.get(0)) {
+ struct.id = iprot.readI32();
+ struct.setIdIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.name = iprot.readString();
+ struct.setNameIsSet(true);
+ }
+ if (incoming.get(2)) {
+ struct.salutation = iprot.readString();
+ struct.setSalutationIsSet(true);
+ }
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+}
+
diff --git a/apache-thrift/generated/com/baeldung/thrift/impl/CrossPlatformService.java b/apache-thrift/generated/com/baeldung/thrift/impl/CrossPlatformService.java
new file mode 100644
index 0000000000..4e4537f7b6
--- /dev/null
+++ b/apache-thrift/generated/com/baeldung/thrift/impl/CrossPlatformService.java
@@ -0,0 +1,3745 @@
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package com.baeldung.thrift.impl;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-02-01")
+public class CrossPlatformService {
+
+ public interface Iface {
+
+ public CrossPlatformResource get(int id) throws InvalidOperationException, org.apache.thrift.TException;
+
+ public void save(CrossPlatformResource resource) throws InvalidOperationException, org.apache.thrift.TException;
+
+ public java.util.List getList() throws InvalidOperationException, org.apache.thrift.TException;
+
+ public boolean ping() throws InvalidOperationException, org.apache.thrift.TException;
+
+ }
+
+ public interface AsyncIface {
+
+ public void get(int id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+ public void save(CrossPlatformResource resource, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+ public void getList(org.apache.thrift.async.AsyncMethodCallback> resultHandler) throws org.apache.thrift.TException;
+
+ public void ping(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+ }
+
+ public static class Client extends org.apache.thrift.TServiceClient implements Iface {
+ public static class Factory implements org.apache.thrift.TServiceClientFactory {
+ public Factory() {}
+ public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
+ return new Client(prot);
+ }
+ public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+ return new Client(iprot, oprot);
+ }
+ }
+
+ public Client(org.apache.thrift.protocol.TProtocol prot)
+ {
+ super(prot, prot);
+ }
+
+ public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+ super(iprot, oprot);
+ }
+
+ public CrossPlatformResource get(int id) throws InvalidOperationException, org.apache.thrift.TException
+ {
+ send_get(id);
+ return recv_get();
+ }
+
+ public void send_get(int id) throws org.apache.thrift.TException
+ {
+ get_args args = new get_args();
+ args.setId(id);
+ sendBase("get", args);
+ }
+
+ public CrossPlatformResource recv_get() throws InvalidOperationException, org.apache.thrift.TException
+ {
+ get_result result = new get_result();
+ receiveBase(result, "get");
+ if (result.isSetSuccess()) {
+ return result.success;
+ }
+ if (result.e != null) {
+ throw result.e;
+ }
+ throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get failed: unknown result");
+ }
+
+ public void save(CrossPlatformResource resource) throws InvalidOperationException, org.apache.thrift.TException
+ {
+ send_save(resource);
+ recv_save();
+ }
+
+ public void send_save(CrossPlatformResource resource) throws org.apache.thrift.TException
+ {
+ save_args args = new save_args();
+ args.setResource(resource);
+ sendBase("save", args);
+ }
+
+ public void recv_save() throws InvalidOperationException, org.apache.thrift.TException
+ {
+ save_result result = new save_result();
+ receiveBase(result, "save");
+ if (result.e != null) {
+ throw result.e;
+ }
+ return;
+ }
+
+ public java.util.List getList() throws InvalidOperationException, org.apache.thrift.TException
+ {
+ send_getList();
+ return recv_getList();
+ }
+
+ public void send_getList() throws org.apache.thrift.TException
+ {
+ getList_args args = new getList_args();
+ sendBase("getList", args);
+ }
+
+ public java.util.List recv_getList() throws InvalidOperationException, org.apache.thrift.TException
+ {
+ getList_result result = new getList_result();
+ receiveBase(result, "getList");
+ if (result.isSetSuccess()) {
+ return result.success;
+ }
+ if (result.e != null) {
+ throw result.e;
+ }
+ throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getList failed: unknown result");
+ }
+
+ public boolean ping() throws InvalidOperationException, org.apache.thrift.TException
+ {
+ send_ping();
+ return recv_ping();
+ }
+
+ public void send_ping() throws org.apache.thrift.TException
+ {
+ ping_args args = new ping_args();
+ sendBase("ping", args);
+ }
+
+ public boolean recv_ping() throws InvalidOperationException, org.apache.thrift.TException
+ {
+ ping_result result = new ping_result();
+ receiveBase(result, "ping");
+ if (result.isSetSuccess()) {
+ return result.success;
+ }
+ if (result.e != null) {
+ throw result.e;
+ }
+ throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "ping failed: unknown result");
+ }
+
+ }
+ public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
+ public static class Factory implements org.apache.thrift.async.TAsyncClientFactory {
+ private org.apache.thrift.async.TAsyncClientManager clientManager;
+ private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
+ public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
+ this.clientManager = clientManager;
+ this.protocolFactory = protocolFactory;
+ }
+ public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
+ return new AsyncClient(protocolFactory, clientManager, transport);
+ }
+ }
+
+ public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
+ super(protocolFactory, clientManager, transport);
+ }
+
+ public void get(int id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+ checkReady();
+ get_call method_call = new get_call(id, resultHandler, this, ___protocolFactory, ___transport);
+ this.___currentMethod = method_call;
+ ___manager.call(method_call);
+ }
+
+ public static class get_call extends org.apache.thrift.async.TAsyncMethodCall {
+ private int id;
+ public get_call(int id, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+ super(client, protocolFactory, transport, resultHandler, false);
+ this.id = id;
+ }
+
+ public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+ prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("get", org.apache.thrift.protocol.TMessageType.CALL, 0));
+ get_args args = new get_args();
+ args.setId(id);
+ args.write(prot);
+ prot.writeMessageEnd();
+ }
+
+ public CrossPlatformResource getResult() throws InvalidOperationException, org.apache.thrift.TException {
+ if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+ throw new java.lang.IllegalStateException("Method call not finished!");
+ }
+ org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+ org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+ return (new Client(prot)).recv_get();
+ }
+ }
+
+ public void save(CrossPlatformResource resource, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+ checkReady();
+ save_call method_call = new save_call(resource, resultHandler, this, ___protocolFactory, ___transport);
+ this.___currentMethod = method_call;
+ ___manager.call(method_call);
+ }
+
+ public static class save_call extends org.apache.thrift.async.TAsyncMethodCall {
+ private CrossPlatformResource resource;
+ public save_call(CrossPlatformResource resource, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+ super(client, protocolFactory, transport, resultHandler, false);
+ this.resource = resource;
+ }
+
+ public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+ prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("save", org.apache.thrift.protocol.TMessageType.CALL, 0));
+ save_args args = new save_args();
+ args.setResource(resource);
+ args.write(prot);
+ prot.writeMessageEnd();
+ }
+
+ public Void getResult() throws InvalidOperationException, org.apache.thrift.TException {
+ if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+ throw new java.lang.IllegalStateException("Method call not finished!");
+ }
+ org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+ org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+ return null;
+ }
+ }
+
+ public void getList(org.apache.thrift.async.AsyncMethodCallback> resultHandler) throws org.apache.thrift.TException {
+ checkReady();
+ getList_call method_call = new getList_call(resultHandler, this, ___protocolFactory, ___transport);
+ this.___currentMethod = method_call;
+ ___manager.call(method_call);
+ }
+
+ public static class getList_call extends org.apache.thrift.async.TAsyncMethodCall> {
+ public getList_call(org.apache.thrift.async.AsyncMethodCallback> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+ super(client, protocolFactory, transport, resultHandler, false);
+ }
+
+ public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+ prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getList", org.apache.thrift.protocol.TMessageType.CALL, 0));
+ getList_args args = new getList_args();
+ args.write(prot);
+ prot.writeMessageEnd();
+ }
+
+ public java.util.List getResult() throws InvalidOperationException, org.apache.thrift.TException {
+ if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+ throw new java.lang.IllegalStateException("Method call not finished!");
+ }
+ org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+ org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+ return (new Client(prot)).recv_getList();
+ }
+ }
+
+ public void ping(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+ checkReady();
+ ping_call method_call = new ping_call(resultHandler, this, ___protocolFactory, ___transport);
+ this.___currentMethod = method_call;
+ ___manager.call(method_call);
+ }
+
+ public static class ping_call extends org.apache.thrift.async.TAsyncMethodCall {
+ public ping_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+ super(client, protocolFactory, transport, resultHandler, false);
+ }
+
+ public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+ prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("ping", org.apache.thrift.protocol.TMessageType.CALL, 0));
+ ping_args args = new ping_args();
+ args.write(prot);
+ prot.writeMessageEnd();
+ }
+
+ public java.lang.Boolean getResult() throws InvalidOperationException, org.apache.thrift.TException {
+ if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+ throw new java.lang.IllegalStateException("Method call not finished!");
+ }
+ org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+ org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+ return (new Client(prot)).recv_ping();
+ }
+ }
+
+ }
+
+ public static class Processor extends org.apache.thrift.TBaseProcessor implements org.apache.thrift.TProcessor {
+ private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
+ public Processor(I iface) {
+ super(iface, getProcessMap(new java.util.HashMap>()));
+ }
+
+ protected Processor(I iface, java.util.Map> processMap) {
+ super(iface, getProcessMap(processMap));
+ }
+
+ private static java.util.Map> getProcessMap(java.util.Map> processMap) {
+ processMap.put("get", new get());
+ processMap.put("save", new save());
+ processMap.put("getList", new getList());
+ processMap.put("ping", new ping());
+ return processMap;
+ }
+
+ public static class get extends org.apache.thrift.ProcessFunction {
+ public get() {
+ super("get");
+ }
+
+ public get_args getEmptyArgsInstance() {
+ return new get_args();
+ }
+
+ protected boolean isOneway() {
+ return false;
+ }
+
+ public get_result getResult(I iface, get_args args) throws org.apache.thrift.TException {
+ get_result result = new get_result();
+ try {
+ result.success = iface.get(args.id);
+ } catch (InvalidOperationException e) {
+ result.e = e;
+ }
+ return result;
+ }
+ }
+
+ public static class save extends org.apache.thrift.ProcessFunction {
+ public save() {
+ super("save");
+ }
+
+ public save_args getEmptyArgsInstance() {
+ return new save_args();
+ }
+
+ protected boolean isOneway() {
+ return false;
+ }
+
+ public save_result getResult(I iface, save_args args) throws org.apache.thrift.TException {
+ save_result result = new save_result();
+ try {
+ iface.save(args.resource);
+ } catch (InvalidOperationException e) {
+ result.e = e;
+ }
+ return result;
+ }
+ }
+
+ public static class getList extends org.apache.thrift.ProcessFunction {
+ public getList() {
+ super("getList");
+ }
+
+ public getList_args getEmptyArgsInstance() {
+ return new getList_args();
+ }
+
+ protected boolean isOneway() {
+ return false;
+ }
+
+ public getList_result getResult(I iface, getList_args args) throws org.apache.thrift.TException {
+ getList_result result = new getList_result();
+ try {
+ result.success = iface.getList();
+ } catch (InvalidOperationException e) {
+ result.e = e;
+ }
+ return result;
+ }
+ }
+
+ public static class ping extends org.apache.thrift.ProcessFunction {
+ public ping() {
+ super("ping");
+ }
+
+ public ping_args getEmptyArgsInstance() {
+ return new ping_args();
+ }
+
+ protected boolean isOneway() {
+ return false;
+ }
+
+ public ping_result getResult(I iface, ping_args args) throws org.apache.thrift.TException {
+ ping_result result = new ping_result();
+ try {
+ result.success = iface.ping();
+ result.setSuccessIsSet(true);
+ } catch (InvalidOperationException e) {
+ result.e = e;
+ }
+ return result;
+ }
+ }
+
+ }
+
+ public static class AsyncProcessor extends org.apache.thrift.TBaseAsyncProcessor {
+ private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
+ public AsyncProcessor(I iface) {
+ super(iface, getProcessMap(new java.util.HashMap>()));
+ }
+
+ protected AsyncProcessor(I iface, java.util.Map> processMap) {
+ super(iface, getProcessMap(processMap));
+ }
+
+ private static java.util.Map> getProcessMap(java.util.Map> processMap) {
+ processMap.put("get", new get());
+ processMap.put("save", new save());
+ processMap.put("getList", new getList());
+ processMap.put("ping", new ping());
+ return processMap;
+ }
+
+ public static class get extends org.apache.thrift.AsyncProcessFunction {
+ public get() {
+ super("get");
+ }
+
+ public get_args getEmptyArgsInstance() {
+ return new get_args();
+ }
+
+ public org.apache.thrift.async.AsyncMethodCallback getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+ final org.apache.thrift.AsyncProcessFunction fcall = this;
+ return new org.apache.thrift.async.AsyncMethodCallback() {
+ public void onComplete(CrossPlatformResource o) {
+ get_result result = new get_result();
+ result.success = o;
+ try {
+ fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+ } catch (org.apache.thrift.transport.TTransportException e) {
+ _LOGGER.error("TTransportException writing to internal frame buffer", e);
+ fb.close();
+ } catch (java.lang.Exception e) {
+ _LOGGER.error("Exception writing to internal frame buffer", e);
+ onError(e);
+ }
+ }
+ public void onError(java.lang.Exception e) {
+ byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+ org.apache.thrift.TSerializable msg;
+ get_result result = new get_result();
+ if (e instanceof InvalidOperationException) {
+ result.e = (InvalidOperationException) e;
+ result.setEIsSet(true);
+ msg = result;
+ } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+ _LOGGER.error("TTransportException inside handler", e);
+ fb.close();
+ return;
+ } else if (e instanceof org.apache.thrift.TApplicationException) {
+ _LOGGER.error("TApplicationException inside handler", e);
+ msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+ msg = (org.apache.thrift.TApplicationException)e;
+ } else {
+ _LOGGER.error("Exception inside handler", e);
+ msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+ msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+ }
+ try {
+ fcall.sendResponse(fb,msg,msgType,seqid);
+ } catch (java.lang.Exception ex) {
+ _LOGGER.error("Exception writing to internal frame buffer", ex);
+ fb.close();
+ }
+ }
+ };
+ }
+
+ protected boolean isOneway() {
+ return false;
+ }
+
+ public void start(I iface, get_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+ iface.get(args.id,resultHandler);
+ }
+ }
+
+ public static class save extends org.apache.thrift.AsyncProcessFunction {
+ public save() {
+ super("save");
+ }
+
+ public save_args getEmptyArgsInstance() {
+ return new save_args();
+ }
+
+ public org.apache.thrift.async.AsyncMethodCallback getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+ final org.apache.thrift.AsyncProcessFunction fcall = this;
+ return new org.apache.thrift.async.AsyncMethodCallback() {
+ public void onComplete(Void o) {
+ save_result result = new save_result();
+ try {
+ fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+ } catch (org.apache.thrift.transport.TTransportException e) {
+ _LOGGER.error("TTransportException writing to internal frame buffer", e);
+ fb.close();
+ } catch (java.lang.Exception e) {
+ _LOGGER.error("Exception writing to internal frame buffer", e);
+ onError(e);
+ }
+ }
+ public void onError(java.lang.Exception e) {
+ byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+ org.apache.thrift.TSerializable msg;
+ save_result result = new save_result();
+ if (e instanceof InvalidOperationException) {
+ result.e = (InvalidOperationException) e;
+ result.setEIsSet(true);
+ msg = result;
+ } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+ _LOGGER.error("TTransportException inside handler", e);
+ fb.close();
+ return;
+ } else if (e instanceof org.apache.thrift.TApplicationException) {
+ _LOGGER.error("TApplicationException inside handler", e);
+ msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+ msg = (org.apache.thrift.TApplicationException)e;
+ } else {
+ _LOGGER.error("Exception inside handler", e);
+ msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+ msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+ }
+ try {
+ fcall.sendResponse(fb,msg,msgType,seqid);
+ } catch (java.lang.Exception ex) {
+ _LOGGER.error("Exception writing to internal frame buffer", ex);
+ fb.close();
+ }
+ }
+ };
+ }
+
+ protected boolean isOneway() {
+ return false;
+ }
+
+ public void start(I iface, save_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+ iface.save(args.resource,resultHandler);
+ }
+ }
+
+ public static class getList extends org.apache.thrift.AsyncProcessFunction> {
+ public getList() {
+ super("getList");
+ }
+
+ public getList_args getEmptyArgsInstance() {
+ return new getList_args();
+ }
+
+ public org.apache.thrift.async.AsyncMethodCallback> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+ final org.apache.thrift.AsyncProcessFunction fcall = this;
+ return new org.apache.thrift.async.AsyncMethodCallback>() {
+ public void onComplete(java.util.List o) {
+ getList_result result = new getList_result();
+ result.success = o;
+ try {
+ fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+ } catch (org.apache.thrift.transport.TTransportException e) {
+ _LOGGER.error("TTransportException writing to internal frame buffer", e);
+ fb.close();
+ } catch (java.lang.Exception e) {
+ _LOGGER.error("Exception writing to internal frame buffer", e);
+ onError(e);
+ }
+ }
+ public void onError(java.lang.Exception e) {
+ byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+ org.apache.thrift.TSerializable msg;
+ getList_result result = new getList_result();
+ if (e instanceof InvalidOperationException) {
+ result.e = (InvalidOperationException) e;
+ result.setEIsSet(true);
+ msg = result;
+ } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+ _LOGGER.error("TTransportException inside handler", e);
+ fb.close();
+ return;
+ } else if (e instanceof org.apache.thrift.TApplicationException) {
+ _LOGGER.error("TApplicationException inside handler", e);
+ msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+ msg = (org.apache.thrift.TApplicationException)e;
+ } else {
+ _LOGGER.error("Exception inside handler", e);
+ msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+ msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+ }
+ try {
+ fcall.sendResponse(fb,msg,msgType,seqid);
+ } catch (java.lang.Exception ex) {
+ _LOGGER.error("Exception writing to internal frame buffer", ex);
+ fb.close();
+ }
+ }
+ };
+ }
+
+ protected boolean isOneway() {
+ return false;
+ }
+
+ public void start(I iface, getList_args args, org.apache.thrift.async.AsyncMethodCallback> resultHandler) throws org.apache.thrift.TException {
+ iface.getList(resultHandler);
+ }
+ }
+
+ public static class ping extends org.apache.thrift.AsyncProcessFunction {
+ public ping() {
+ super("ping");
+ }
+
+ public ping_args getEmptyArgsInstance() {
+ return new ping_args();
+ }
+
+ public org.apache.thrift.async.AsyncMethodCallback getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+ final org.apache.thrift.AsyncProcessFunction fcall = this;
+ return new org.apache.thrift.async.AsyncMethodCallback() {
+ public void onComplete(java.lang.Boolean o) {
+ ping_result result = new ping_result();
+ result.success = o;
+ result.setSuccessIsSet(true);
+ try {
+ fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+ } catch (org.apache.thrift.transport.TTransportException e) {
+ _LOGGER.error("TTransportException writing to internal frame buffer", e);
+ fb.close();
+ } catch (java.lang.Exception e) {
+ _LOGGER.error("Exception writing to internal frame buffer", e);
+ onError(e);
+ }
+ }
+ public void onError(java.lang.Exception e) {
+ byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+ org.apache.thrift.TSerializable msg;
+ ping_result result = new ping_result();
+ if (e instanceof InvalidOperationException) {
+ result.e = (InvalidOperationException) e;
+ result.setEIsSet(true);
+ msg = result;
+ } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+ _LOGGER.error("TTransportException inside handler", e);
+ fb.close();
+ return;
+ } else if (e instanceof org.apache.thrift.TApplicationException) {
+ _LOGGER.error("TApplicationException inside handler", e);
+ msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+ msg = (org.apache.thrift.TApplicationException)e;
+ } else {
+ _LOGGER.error("Exception inside handler", e);
+ msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+ msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+ }
+ try {
+ fcall.sendResponse(fb,msg,msgType,seqid);
+ } catch (java.lang.Exception ex) {
+ _LOGGER.error("Exception writing to internal frame buffer", ex);
+ fb.close();
+ }
+ }
+ };
+ }
+
+ protected boolean isOneway() {
+ return false;
+ }
+
+ public void start(I iface, ping_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+ iface.ping(resultHandler);
+ }
+ }
+
+ }
+
+ public static class get_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("get_args");
+
+ private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I32, (short)1);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new get_argsStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new get_argsTupleSchemeFactory();
+
+ public int id; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ ID((short)1, "id");
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // ID
+ return ID;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __ID_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(get_args.class, metaDataMap);
+ }
+
+ public get_args() {
+ }
+
+ public get_args(
+ int id)
+ {
+ this();
+ this.id = id;
+ setIdIsSet(true);
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public get_args(get_args other) {
+ __isset_bitfield = other.__isset_bitfield;
+ this.id = other.id;
+ }
+
+ public get_args deepCopy() {
+ return new get_args(this);
+ }
+
+ @Override
+ public void clear() {
+ setIdIsSet(false);
+ this.id = 0;
+ }
+
+ public int getId() {
+ return this.id;
+ }
+
+ public get_args setId(int id) {
+ this.id = id;
+ setIdIsSet(true);
+ return this;
+ }
+
+ public void unsetId() {
+ __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ID_ISSET_ID);
+ }
+
+ /** Returns true if field id is set (has been assigned a value) and false otherwise */
+ public boolean isSetId() {
+ return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ID_ISSET_ID);
+ }
+
+ public void setIdIsSet(boolean value) {
+ __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ID_ISSET_ID, value);
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case ID:
+ if (value == null) {
+ unsetId();
+ } else {
+ setId((java.lang.Integer)value);
+ }
+ break;
+
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case ID:
+ return getId();
+
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case ID:
+ return isSetId();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof get_args)
+ return this.equals((get_args)that);
+ return false;
+ }
+
+ public boolean equals(get_args that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ boolean this_present_id = true;
+ boolean that_present_id = true;
+ if (this_present_id || that_present_id) {
+ if (!(this_present_id && that_present_id))
+ return false;
+ if (this.id != that.id)
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + id;
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(get_args other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("get_args(");
+ boolean first = true;
+
+ sb.append("id:");
+ sb.append(this.id);
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class get_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public get_argsStandardScheme getScheme() {
+ return new get_argsStandardScheme();
+ }
+ }
+
+ private static class get_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, get_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.id = iprot.readI32();
+ struct.setIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, get_args struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ oprot.writeFieldBegin(ID_FIELD_DESC);
+ oprot.writeI32(struct.id);
+ oprot.writeFieldEnd();
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class get_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public get_argsTupleScheme getScheme() {
+ return new get_argsTupleScheme();
+ }
+ }
+
+ private static class get_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, get_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet optionals = new java.util.BitSet();
+ if (struct.isSetId()) {
+ optionals.set(0);
+ }
+ oprot.writeBitSet(optionals, 1);
+ if (struct.isSetId()) {
+ oprot.writeI32(struct.id);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, get_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet incoming = iprot.readBitSet(1);
+ if (incoming.get(0)) {
+ struct.id = iprot.readI32();
+ struct.setIdIsSet(true);
+ }
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+ }
+
+ public static class get_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("get_result");
+
+ private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
+ private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new get_resultStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new get_resultTupleSchemeFactory();
+
+ public CrossPlatformResource success; // required
+ public InvalidOperationException e; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ SUCCESS((short)0, "success"),
+ E((short)1, "e");
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 0: // SUCCESS
+ return SUCCESS;
+ case 1: // E
+ return E;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CrossPlatformResource.class)));
+ tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, InvalidOperationException.class)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(get_result.class, metaDataMap);
+ }
+
+ public get_result() {
+ }
+
+ public get_result(
+ CrossPlatformResource success,
+ InvalidOperationException e)
+ {
+ this();
+ this.success = success;
+ this.e = e;
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public get_result(get_result other) {
+ if (other.isSetSuccess()) {
+ this.success = new CrossPlatformResource(other.success);
+ }
+ if (other.isSetE()) {
+ this.e = new InvalidOperationException(other.e);
+ }
+ }
+
+ public get_result deepCopy() {
+ return new get_result(this);
+ }
+
+ @Override
+ public void clear() {
+ this.success = null;
+ this.e = null;
+ }
+
+ public CrossPlatformResource getSuccess() {
+ return this.success;
+ }
+
+ public get_result setSuccess(CrossPlatformResource success) {
+ this.success = success;
+ return this;
+ }
+
+ public void unsetSuccess() {
+ this.success = null;
+ }
+
+ /** Returns true if field success is set (has been assigned a value) and false otherwise */
+ public boolean isSetSuccess() {
+ return this.success != null;
+ }
+
+ public void setSuccessIsSet(boolean value) {
+ if (!value) {
+ this.success = null;
+ }
+ }
+
+ public InvalidOperationException getE() {
+ return this.e;
+ }
+
+ public get_result setE(InvalidOperationException e) {
+ this.e = e;
+ return this;
+ }
+
+ public void unsetE() {
+ this.e = null;
+ }
+
+ /** Returns true if field e is set (has been assigned a value) and false otherwise */
+ public boolean isSetE() {
+ return this.e != null;
+ }
+
+ public void setEIsSet(boolean value) {
+ if (!value) {
+ this.e = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case SUCCESS:
+ if (value == null) {
+ unsetSuccess();
+ } else {
+ setSuccess((CrossPlatformResource)value);
+ }
+ break;
+
+ case E:
+ if (value == null) {
+ unsetE();
+ } else {
+ setE((InvalidOperationException)value);
+ }
+ break;
+
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case SUCCESS:
+ return getSuccess();
+
+ case E:
+ return getE();
+
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case SUCCESS:
+ return isSetSuccess();
+ case E:
+ return isSetE();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof get_result)
+ return this.equals((get_result)that);
+ return false;
+ }
+
+ public boolean equals(get_result that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ boolean this_present_success = true && this.isSetSuccess();
+ boolean that_present_success = true && that.isSetSuccess();
+ if (this_present_success || that_present_success) {
+ if (!(this_present_success && that_present_success))
+ return false;
+ if (!this.success.equals(that.success))
+ return false;
+ }
+
+ boolean this_present_e = true && this.isSetE();
+ boolean that_present_e = true && that.isSetE();
+ if (this_present_e || that_present_e) {
+ if (!(this_present_e && that_present_e))
+ return false;
+ if (!this.e.equals(that.e))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+ if (isSetSuccess())
+ hashCode = hashCode * 8191 + success.hashCode();
+
+ hashCode = hashCode * 8191 + ((isSetE()) ? 131071 : 524287);
+ if (isSetE())
+ hashCode = hashCode * 8191 + e.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(get_result other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetSuccess()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = java.lang.Boolean.valueOf(isSetE()).compareTo(other.isSetE());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetE()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("get_result(");
+ boolean first = true;
+
+ sb.append("success:");
+ if (this.success == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.success);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("e:");
+ if (this.e == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.e);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ if (success != null) {
+ success.validate();
+ }
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class get_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public get_resultStandardScheme getScheme() {
+ return new get_resultStandardScheme();
+ }
+ }
+
+ private static class get_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, get_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 0: // SUCCESS
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.success = new CrossPlatformResource();
+ struct.success.read(iprot);
+ struct.setSuccessIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 1: // E
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.e = new InvalidOperationException();
+ struct.e.read(iprot);
+ struct.setEIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, get_result struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.success != null) {
+ oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+ struct.success.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ if (struct.e != null) {
+ oprot.writeFieldBegin(E_FIELD_DESC);
+ struct.e.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class get_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public get_resultTupleScheme getScheme() {
+ return new get_resultTupleScheme();
+ }
+ }
+
+ private static class get_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, get_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet optionals = new java.util.BitSet();
+ if (struct.isSetSuccess()) {
+ optionals.set(0);
+ }
+ if (struct.isSetE()) {
+ optionals.set(1);
+ }
+ oprot.writeBitSet(optionals, 2);
+ if (struct.isSetSuccess()) {
+ struct.success.write(oprot);
+ }
+ if (struct.isSetE()) {
+ struct.e.write(oprot);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, get_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet incoming = iprot.readBitSet(2);
+ if (incoming.get(0)) {
+ struct.success = new CrossPlatformResource();
+ struct.success.read(iprot);
+ struct.setSuccessIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.e = new InvalidOperationException();
+ struct.e.read(iprot);
+ struct.setEIsSet(true);
+ }
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+ }
+
+ public static class save_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("save_args");
+
+ private static final org.apache.thrift.protocol.TField RESOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("resource", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new save_argsStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new save_argsTupleSchemeFactory();
+
+ public CrossPlatformResource resource; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ RESOURCE((short)1, "resource");
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // RESOURCE
+ return RESOURCE;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.RESOURCE, new org.apache.thrift.meta_data.FieldMetaData("resource", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CrossPlatformResource.class)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(save_args.class, metaDataMap);
+ }
+
+ public save_args() {
+ }
+
+ public save_args(
+ CrossPlatformResource resource)
+ {
+ this();
+ this.resource = resource;
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public save_args(save_args other) {
+ if (other.isSetResource()) {
+ this.resource = new CrossPlatformResource(other.resource);
+ }
+ }
+
+ public save_args deepCopy() {
+ return new save_args(this);
+ }
+
+ @Override
+ public void clear() {
+ this.resource = null;
+ }
+
+ public CrossPlatformResource getResource() {
+ return this.resource;
+ }
+
+ public save_args setResource(CrossPlatformResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ public void unsetResource() {
+ this.resource = null;
+ }
+
+ /** Returns true if field resource is set (has been assigned a value) and false otherwise */
+ public boolean isSetResource() {
+ return this.resource != null;
+ }
+
+ public void setResourceIsSet(boolean value) {
+ if (!value) {
+ this.resource = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case RESOURCE:
+ if (value == null) {
+ unsetResource();
+ } else {
+ setResource((CrossPlatformResource)value);
+ }
+ break;
+
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case RESOURCE:
+ return getResource();
+
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case RESOURCE:
+ return isSetResource();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof save_args)
+ return this.equals((save_args)that);
+ return false;
+ }
+
+ public boolean equals(save_args that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ boolean this_present_resource = true && this.isSetResource();
+ boolean that_present_resource = true && that.isSetResource();
+ if (this_present_resource || that_present_resource) {
+ if (!(this_present_resource && that_present_resource))
+ return false;
+ if (!this.resource.equals(that.resource))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + ((isSetResource()) ? 131071 : 524287);
+ if (isSetResource())
+ hashCode = hashCode * 8191 + resource.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(save_args other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetResource()).compareTo(other.isSetResource());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetResource()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resource, other.resource);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("save_args(");
+ boolean first = true;
+
+ sb.append("resource:");
+ if (this.resource == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.resource);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ if (resource != null) {
+ resource.validate();
+ }
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class save_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public save_argsStandardScheme getScheme() {
+ return new save_argsStandardScheme();
+ }
+ }
+
+ private static class save_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, save_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // RESOURCE
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.resource = new CrossPlatformResource();
+ struct.resource.read(iprot);
+ struct.setResourceIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, save_args struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.resource != null) {
+ oprot.writeFieldBegin(RESOURCE_FIELD_DESC);
+ struct.resource.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class save_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public save_argsTupleScheme getScheme() {
+ return new save_argsTupleScheme();
+ }
+ }
+
+ private static class save_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, save_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet optionals = new java.util.BitSet();
+ if (struct.isSetResource()) {
+ optionals.set(0);
+ }
+ oprot.writeBitSet(optionals, 1);
+ if (struct.isSetResource()) {
+ struct.resource.write(oprot);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, save_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet incoming = iprot.readBitSet(1);
+ if (incoming.get(0)) {
+ struct.resource = new CrossPlatformResource();
+ struct.resource.read(iprot);
+ struct.setResourceIsSet(true);
+ }
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+ }
+
+ public static class save_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("save_result");
+
+ private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new save_resultStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new save_resultTupleSchemeFactory();
+
+ public InvalidOperationException e; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ E((short)1, "e");
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // E
+ return E;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, InvalidOperationException.class)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(save_result.class, metaDataMap);
+ }
+
+ public save_result() {
+ }
+
+ public save_result(
+ InvalidOperationException e)
+ {
+ this();
+ this.e = e;
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public save_result(save_result other) {
+ if (other.isSetE()) {
+ this.e = new InvalidOperationException(other.e);
+ }
+ }
+
+ public save_result deepCopy() {
+ return new save_result(this);
+ }
+
+ @Override
+ public void clear() {
+ this.e = null;
+ }
+
+ public InvalidOperationException getE() {
+ return this.e;
+ }
+
+ public save_result setE(InvalidOperationException e) {
+ this.e = e;
+ return this;
+ }
+
+ public void unsetE() {
+ this.e = null;
+ }
+
+ /** Returns true if field e is set (has been assigned a value) and false otherwise */
+ public boolean isSetE() {
+ return this.e != null;
+ }
+
+ public void setEIsSet(boolean value) {
+ if (!value) {
+ this.e = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case E:
+ if (value == null) {
+ unsetE();
+ } else {
+ setE((InvalidOperationException)value);
+ }
+ break;
+
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case E:
+ return getE();
+
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case E:
+ return isSetE();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof save_result)
+ return this.equals((save_result)that);
+ return false;
+ }
+
+ public boolean equals(save_result that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ boolean this_present_e = true && this.isSetE();
+ boolean that_present_e = true && that.isSetE();
+ if (this_present_e || that_present_e) {
+ if (!(this_present_e && that_present_e))
+ return false;
+ if (!this.e.equals(that.e))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + ((isSetE()) ? 131071 : 524287);
+ if (isSetE())
+ hashCode = hashCode * 8191 + e.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(save_result other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetE()).compareTo(other.isSetE());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetE()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("save_result(");
+ boolean first = true;
+
+ sb.append("e:");
+ if (this.e == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.e);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class save_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public save_resultStandardScheme getScheme() {
+ return new save_resultStandardScheme();
+ }
+ }
+
+ private static class save_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, save_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // E
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.e = new InvalidOperationException();
+ struct.e.read(iprot);
+ struct.setEIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, save_result struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.e != null) {
+ oprot.writeFieldBegin(E_FIELD_DESC);
+ struct.e.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class save_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public save_resultTupleScheme getScheme() {
+ return new save_resultTupleScheme();
+ }
+ }
+
+ private static class save_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, save_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet optionals = new java.util.BitSet();
+ if (struct.isSetE()) {
+ optionals.set(0);
+ }
+ oprot.writeBitSet(optionals, 1);
+ if (struct.isSetE()) {
+ struct.e.write(oprot);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, save_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet incoming = iprot.readBitSet(1);
+ if (incoming.get(0)) {
+ struct.e = new InvalidOperationException();
+ struct.e.read(iprot);
+ struct.setEIsSet(true);
+ }
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+ }
+
+ public static class getList_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getList_args");
+
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getList_argsStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getList_argsTupleSchemeFactory();
+
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+;
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getList_args.class, metaDataMap);
+ }
+
+ public getList_args() {
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public getList_args(getList_args other) {
+ }
+
+ public getList_args deepCopy() {
+ return new getList_args(this);
+ }
+
+ @Override
+ public void clear() {
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof getList_args)
+ return this.equals((getList_args)that);
+ return false;
+ }
+
+ public boolean equals(getList_args that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(getList_args other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("getList_args(");
+ boolean first = true;
+
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class getList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public getList_argsStandardScheme getScheme() {
+ return new getList_argsStandardScheme();
+ }
+ }
+
+ private static class getList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, getList_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, getList_args struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class getList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public getList_argsTupleScheme getScheme() {
+ return new getList_argsTupleScheme();
+ }
+ }
+
+ private static class getList_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, getList_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, getList_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+ }
+
+ public static class getList_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getList_result");
+
+ private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+ private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getList_resultStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getList_resultTupleSchemeFactory();
+
+ public java.util.List success; // required
+ public InvalidOperationException e; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ SUCCESS((short)0, "success"),
+ E((short)1, "e");
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 0: // SUCCESS
+ return SUCCESS;
+ case 1: // E
+ return E;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CrossPlatformResource.class))));
+ tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, InvalidOperationException.class)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getList_result.class, metaDataMap);
+ }
+
+ public getList_result() {
+ }
+
+ public getList_result(
+ java.util.List success,
+ InvalidOperationException e)
+ {
+ this();
+ this.success = success;
+ this.e = e;
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public getList_result(getList_result other) {
+ if (other.isSetSuccess()) {
+ java.util.List __this__success = new java.util.ArrayList(other.success.size());
+ for (CrossPlatformResource other_element : other.success) {
+ __this__success.add(new CrossPlatformResource(other_element));
+ }
+ this.success = __this__success;
+ }
+ if (other.isSetE()) {
+ this.e = new InvalidOperationException(other.e);
+ }
+ }
+
+ public getList_result deepCopy() {
+ return new getList_result(this);
+ }
+
+ @Override
+ public void clear() {
+ this.success = null;
+ this.e = null;
+ }
+
+ public int getSuccessSize() {
+ return (this.success == null) ? 0 : this.success.size();
+ }
+
+ public java.util.Iterator getSuccessIterator() {
+ return (this.success == null) ? null : this.success.iterator();
+ }
+
+ public void addToSuccess(CrossPlatformResource elem) {
+ if (this.success == null) {
+ this.success = new java.util.ArrayList();
+ }
+ this.success.add(elem);
+ }
+
+ public java.util.List getSuccess() {
+ return this.success;
+ }
+
+ public getList_result setSuccess(java.util.List success) {
+ this.success = success;
+ return this;
+ }
+
+ public void unsetSuccess() {
+ this.success = null;
+ }
+
+ /** Returns true if field success is set (has been assigned a value) and false otherwise */
+ public boolean isSetSuccess() {
+ return this.success != null;
+ }
+
+ public void setSuccessIsSet(boolean value) {
+ if (!value) {
+ this.success = null;
+ }
+ }
+
+ public InvalidOperationException getE() {
+ return this.e;
+ }
+
+ public getList_result setE(InvalidOperationException e) {
+ this.e = e;
+ return this;
+ }
+
+ public void unsetE() {
+ this.e = null;
+ }
+
+ /** Returns true if field e is set (has been assigned a value) and false otherwise */
+ public boolean isSetE() {
+ return this.e != null;
+ }
+
+ public void setEIsSet(boolean value) {
+ if (!value) {
+ this.e = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case SUCCESS:
+ if (value == null) {
+ unsetSuccess();
+ } else {
+ setSuccess((java.util.List)value);
+ }
+ break;
+
+ case E:
+ if (value == null) {
+ unsetE();
+ } else {
+ setE((InvalidOperationException)value);
+ }
+ break;
+
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case SUCCESS:
+ return getSuccess();
+
+ case E:
+ return getE();
+
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case SUCCESS:
+ return isSetSuccess();
+ case E:
+ return isSetE();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof getList_result)
+ return this.equals((getList_result)that);
+ return false;
+ }
+
+ public boolean equals(getList_result that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ boolean this_present_success = true && this.isSetSuccess();
+ boolean that_present_success = true && that.isSetSuccess();
+ if (this_present_success || that_present_success) {
+ if (!(this_present_success && that_present_success))
+ return false;
+ if (!this.success.equals(that.success))
+ return false;
+ }
+
+ boolean this_present_e = true && this.isSetE();
+ boolean that_present_e = true && that.isSetE();
+ if (this_present_e || that_present_e) {
+ if (!(this_present_e && that_present_e))
+ return false;
+ if (!this.e.equals(that.e))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+ if (isSetSuccess())
+ hashCode = hashCode * 8191 + success.hashCode();
+
+ hashCode = hashCode * 8191 + ((isSetE()) ? 131071 : 524287);
+ if (isSetE())
+ hashCode = hashCode * 8191 + e.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(getList_result other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetSuccess()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = java.lang.Boolean.valueOf(isSetE()).compareTo(other.isSetE());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetE()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("getList_result(");
+ boolean first = true;
+
+ sb.append("success:");
+ if (this.success == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.success);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("e:");
+ if (this.e == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.e);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class getList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public getList_resultStandardScheme getScheme() {
+ return new getList_resultStandardScheme();
+ }
+ }
+
+ private static class getList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, getList_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 0: // SUCCESS
+ if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+ {
+ org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+ struct.success = new java.util.ArrayList(_list0.size);
+ CrossPlatformResource _elem1;
+ for (int _i2 = 0; _i2 < _list0.size; ++_i2)
+ {
+ _elem1 = new CrossPlatformResource();
+ _elem1.read(iprot);
+ struct.success.add(_elem1);
+ }
+ iprot.readListEnd();
+ }
+ struct.setSuccessIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 1: // E
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.e = new InvalidOperationException();
+ struct.e.read(iprot);
+ struct.setEIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, getList_result struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.success != null) {
+ oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+ {
+ oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+ for (CrossPlatformResource _iter3 : struct.success)
+ {
+ _iter3.write(oprot);
+ }
+ oprot.writeListEnd();
+ }
+ oprot.writeFieldEnd();
+ }
+ if (struct.e != null) {
+ oprot.writeFieldBegin(E_FIELD_DESC);
+ struct.e.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class getList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public getList_resultTupleScheme getScheme() {
+ return new getList_resultTupleScheme();
+ }
+ }
+
+ private static class getList_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, getList_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet optionals = new java.util.BitSet();
+ if (struct.isSetSuccess()) {
+ optionals.set(0);
+ }
+ if (struct.isSetE()) {
+ optionals.set(1);
+ }
+ oprot.writeBitSet(optionals, 2);
+ if (struct.isSetSuccess()) {
+ {
+ oprot.writeI32(struct.success.size());
+ for (CrossPlatformResource _iter4 : struct.success)
+ {
+ _iter4.write(oprot);
+ }
+ }
+ }
+ if (struct.isSetE()) {
+ struct.e.write(oprot);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, getList_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet incoming = iprot.readBitSet(2);
+ if (incoming.get(0)) {
+ {
+ org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+ struct.success = new java.util.ArrayList(_list5.size);
+ CrossPlatformResource _elem6;
+ for (int _i7 = 0; _i7 < _list5.size; ++_i7)
+ {
+ _elem6 = new CrossPlatformResource();
+ _elem6.read(iprot);
+ struct.success.add(_elem6);
+ }
+ }
+ struct.setSuccessIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.e = new InvalidOperationException();
+ struct.e.read(iprot);
+ struct.setEIsSet(true);
+ }
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+ }
+
+ public static class ping_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ping_args");
+
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ping_argsStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ping_argsTupleSchemeFactory();
+
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+;
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ping_args.class, metaDataMap);
+ }
+
+ public ping_args() {
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public ping_args(ping_args other) {
+ }
+
+ public ping_args deepCopy() {
+ return new ping_args(this);
+ }
+
+ @Override
+ public void clear() {
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof ping_args)
+ return this.equals((ping_args)that);
+ return false;
+ }
+
+ public boolean equals(ping_args that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(ping_args other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("ping_args(");
+ boolean first = true;
+
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class ping_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public ping_argsStandardScheme getScheme() {
+ return new ping_argsStandardScheme();
+ }
+ }
+
+ private static class ping_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, ping_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, ping_args struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class ping_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public ping_argsTupleScheme getScheme() {
+ return new ping_argsTupleScheme();
+ }
+ }
+
+ private static class ping_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, ping_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, ping_args struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+ }
+
+ public static class ping_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ping_result");
+
+ private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+ private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ping_resultStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ping_resultTupleSchemeFactory();
+
+ public boolean success; // required
+ public InvalidOperationException e; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ SUCCESS((short)0, "success"),
+ E((short)1, "e");
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 0: // SUCCESS
+ return SUCCESS;
+ case 1: // E
+ return E;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __SUCCESS_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, InvalidOperationException.class)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ping_result.class, metaDataMap);
+ }
+
+ public ping_result() {
+ }
+
+ public ping_result(
+ boolean success,
+ InvalidOperationException e)
+ {
+ this();
+ this.success = success;
+ setSuccessIsSet(true);
+ this.e = e;
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public ping_result(ping_result other) {
+ __isset_bitfield = other.__isset_bitfield;
+ this.success = other.success;
+ if (other.isSetE()) {
+ this.e = new InvalidOperationException(other.e);
+ }
+ }
+
+ public ping_result deepCopy() {
+ return new ping_result(this);
+ }
+
+ @Override
+ public void clear() {
+ setSuccessIsSet(false);
+ this.success = false;
+ this.e = null;
+ }
+
+ public boolean isSuccess() {
+ return this.success;
+ }
+
+ public ping_result setSuccess(boolean success) {
+ this.success = success;
+ setSuccessIsSet(true);
+ return this;
+ }
+
+ public void unsetSuccess() {
+ __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+ }
+
+ /** Returns true if field success is set (has been assigned a value) and false otherwise */
+ public boolean isSetSuccess() {
+ return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+ }
+
+ public void setSuccessIsSet(boolean value) {
+ __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+ }
+
+ public InvalidOperationException getE() {
+ return this.e;
+ }
+
+ public ping_result setE(InvalidOperationException e) {
+ this.e = e;
+ return this;
+ }
+
+ public void unsetE() {
+ this.e = null;
+ }
+
+ /** Returns true if field e is set (has been assigned a value) and false otherwise */
+ public boolean isSetE() {
+ return this.e != null;
+ }
+
+ public void setEIsSet(boolean value) {
+ if (!value) {
+ this.e = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case SUCCESS:
+ if (value == null) {
+ unsetSuccess();
+ } else {
+ setSuccess((java.lang.Boolean)value);
+ }
+ break;
+
+ case E:
+ if (value == null) {
+ unsetE();
+ } else {
+ setE((InvalidOperationException)value);
+ }
+ break;
+
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case SUCCESS:
+ return isSuccess();
+
+ case E:
+ return getE();
+
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case SUCCESS:
+ return isSetSuccess();
+ case E:
+ return isSetE();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof ping_result)
+ return this.equals((ping_result)that);
+ return false;
+ }
+
+ public boolean equals(ping_result that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ boolean this_present_success = true;
+ boolean that_present_success = true;
+ if (this_present_success || that_present_success) {
+ if (!(this_present_success && that_present_success))
+ return false;
+ if (this.success != that.success)
+ return false;
+ }
+
+ boolean this_present_e = true && this.isSetE();
+ boolean that_present_e = true && that.isSetE();
+ if (this_present_e || that_present_e) {
+ if (!(this_present_e && that_present_e))
+ return false;
+ if (!this.e.equals(that.e))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
+ hashCode = hashCode * 8191 + ((isSetE()) ? 131071 : 524287);
+ if (isSetE())
+ hashCode = hashCode * 8191 + e.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(ping_result other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetSuccess()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = java.lang.Boolean.valueOf(isSetE()).compareTo(other.isSetE());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetE()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("ping_result(");
+ boolean first = true;
+
+ sb.append("success:");
+ sb.append(this.success);
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("e:");
+ if (this.e == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.e);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class ping_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public ping_resultStandardScheme getScheme() {
+ return new ping_resultStandardScheme();
+ }
+ }
+
+ private static class ping_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, ping_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 0: // SUCCESS
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.success = iprot.readBool();
+ struct.setSuccessIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 1: // E
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.e = new InvalidOperationException();
+ struct.e.read(iprot);
+ struct.setEIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, ping_result struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.isSetSuccess()) {
+ oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+ oprot.writeBool(struct.success);
+ oprot.writeFieldEnd();
+ }
+ if (struct.e != null) {
+ oprot.writeFieldBegin(E_FIELD_DESC);
+ struct.e.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class ping_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public ping_resultTupleScheme getScheme() {
+ return new ping_resultTupleScheme();
+ }
+ }
+
+ private static class ping_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, ping_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet optionals = new java.util.BitSet();
+ if (struct.isSetSuccess()) {
+ optionals.set(0);
+ }
+ if (struct.isSetE()) {
+ optionals.set(1);
+ }
+ oprot.writeBitSet(optionals, 2);
+ if (struct.isSetSuccess()) {
+ oprot.writeBool(struct.success);
+ }
+ if (struct.isSetE()) {
+ struct.e.write(oprot);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, ping_result struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet incoming = iprot.readBitSet(2);
+ if (incoming.get(0)) {
+ struct.success = iprot.readBool();
+ struct.setSuccessIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.e = new InvalidOperationException();
+ struct.e.read(iprot);
+ struct.setEIsSet(true);
+ }
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+ }
+
+}
diff --git a/apache-thrift/generated/com/baeldung/thrift/impl/InvalidOperationException.java b/apache-thrift/generated/com/baeldung/thrift/impl/InvalidOperationException.java
new file mode 100644
index 0000000000..c07616a00e
--- /dev/null
+++ b/apache-thrift/generated/com/baeldung/thrift/impl/InvalidOperationException.java
@@ -0,0 +1,472 @@
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package com.baeldung.thrift.impl;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-02-01")
+public class InvalidOperationException extends org.apache.thrift.TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidOperationException");
+
+ private static final org.apache.thrift.protocol.TField CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("code", org.apache.thrift.protocol.TType.I32, (short)1);
+ private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new InvalidOperationExceptionStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new InvalidOperationExceptionTupleSchemeFactory();
+
+ public int code; // required
+ public java.lang.String description; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ CODE((short)1, "code"),
+ DESCRIPTION((short)2, "description");
+
+ private static final java.util.Map byName = new java.util.HashMap();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // CODE
+ return CODE;
+ case 2: // DESCRIPTION
+ return DESCRIPTION;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __CODE_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.CODE, new org.apache.thrift.meta_data.FieldMetaData("code", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+ tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(InvalidOperationException.class, metaDataMap);
+ }
+
+ public InvalidOperationException() {
+ }
+
+ public InvalidOperationException(
+ int code,
+ java.lang.String description)
+ {
+ this();
+ this.code = code;
+ setCodeIsSet(true);
+ this.description = description;
+ }
+
+ /**
+ * Performs a deep copy on other.
+ */
+ public InvalidOperationException(InvalidOperationException other) {
+ __isset_bitfield = other.__isset_bitfield;
+ this.code = other.code;
+ if (other.isSetDescription()) {
+ this.description = other.description;
+ }
+ }
+
+ public InvalidOperationException deepCopy() {
+ return new InvalidOperationException(this);
+ }
+
+ @Override
+ public void clear() {
+ setCodeIsSet(false);
+ this.code = 0;
+ this.description = null;
+ }
+
+ public int getCode() {
+ return this.code;
+ }
+
+ public InvalidOperationException setCode(int code) {
+ this.code = code;
+ setCodeIsSet(true);
+ return this;
+ }
+
+ public void unsetCode() {
+ __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __CODE_ISSET_ID);
+ }
+
+ /** Returns true if field code is set (has been assigned a value) and false otherwise */
+ public boolean isSetCode() {
+ return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __CODE_ISSET_ID);
+ }
+
+ public void setCodeIsSet(boolean value) {
+ __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CODE_ISSET_ID, value);
+ }
+
+ public java.lang.String getDescription() {
+ return this.description;
+ }
+
+ public InvalidOperationException setDescription(java.lang.String description) {
+ this.description = description;
+ return this;
+ }
+
+ public void unsetDescription() {
+ this.description = null;
+ }
+
+ /** Returns true if field description is set (has been assigned a value) and false otherwise */
+ public boolean isSetDescription() {
+ return this.description != null;
+ }
+
+ public void setDescriptionIsSet(boolean value) {
+ if (!value) {
+ this.description = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case CODE:
+ if (value == null) {
+ unsetCode();
+ } else {
+ setCode((java.lang.Integer)value);
+ }
+ break;
+
+ case DESCRIPTION:
+ if (value == null) {
+ unsetDescription();
+ } else {
+ setDescription((java.lang.String)value);
+ }
+ break;
+
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case CODE:
+ return getCode();
+
+ case DESCRIPTION:
+ return getDescription();
+
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case CODE:
+ return isSetCode();
+ case DESCRIPTION:
+ return isSetDescription();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof InvalidOperationException)
+ return this.equals((InvalidOperationException)that);
+ return false;
+ }
+
+ public boolean equals(InvalidOperationException that) {
+ if (that == null)
+ return false;
+ if (this == that)
+ return true;
+
+ boolean this_present_code = true;
+ boolean that_present_code = true;
+ if (this_present_code || that_present_code) {
+ if (!(this_present_code && that_present_code))
+ return false;
+ if (this.code != that.code)
+ return false;
+ }
+
+ boolean this_present_description = true && this.isSetDescription();
+ boolean that_present_description = true && that.isSetDescription();
+ if (this_present_description || that_present_description) {
+ if (!(this_present_description && that_present_description))
+ return false;
+ if (!this.description.equals(that.description))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + code;
+
+ hashCode = hashCode * 8191 + ((isSetDescription()) ? 131071 : 524287);
+ if (isSetDescription())
+ hashCode = hashCode * 8191 + description.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(InvalidOperationException other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetCode()).compareTo(other.isSetCode());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetCode()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.code, other.code);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetDescription()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, other.description);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("InvalidOperationException(");
+ boolean first = true;
+
+ sb.append("code:");
+ sb.append(this.code);
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("description:");
+ if (this.description == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.description);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class InvalidOperationExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public InvalidOperationExceptionStandardScheme getScheme() {
+ return new InvalidOperationExceptionStandardScheme();
+ }
+ }
+
+ private static class InvalidOperationExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, InvalidOperationException struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // CODE
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.code = iprot.readI32();
+ struct.setCodeIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // DESCRIPTION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.description = iprot.readString();
+ struct.setDescriptionIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, InvalidOperationException struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ oprot.writeFieldBegin(CODE_FIELD_DESC);
+ oprot.writeI32(struct.code);
+ oprot.writeFieldEnd();
+ if (struct.description != null) {
+ oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
+ oprot.writeString(struct.description);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class InvalidOperationExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+ public InvalidOperationExceptionTupleScheme getScheme() {
+ return new InvalidOperationExceptionTupleScheme();
+ }
+ }
+
+ private static class InvalidOperationExceptionTupleScheme extends org.apache.thrift.scheme.TupleScheme {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, InvalidOperationException struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet optionals = new java.util.BitSet();
+ if (struct.isSetCode()) {
+ optionals.set(0);
+ }
+ if (struct.isSetDescription()) {
+ optionals.set(1);
+ }
+ oprot.writeBitSet(optionals, 2);
+ if (struct.isSetCode()) {
+ oprot.writeI32(struct.code);
+ }
+ if (struct.isSetDescription()) {
+ oprot.writeString(struct.description);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, InvalidOperationException struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+ java.util.BitSet incoming = iprot.readBitSet(2);
+ if (incoming.get(0)) {
+ struct.code = iprot.readI32();
+ struct.setCodeIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.description = iprot.readString();
+ struct.setDescriptionIsSet(true);
+ }
+ }
+ }
+
+ private static S scheme(org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+ }
+}
+
diff --git a/apache-thrift/pom.xml b/apache-thrift/pom.xml
new file mode 100644
index 0000000000..66cfb2bb41
--- /dev/null
+++ b/apache-thrift/pom.xml
@@ -0,0 +1,68 @@
+
+ 4.0.0
+ com.baeldung
+ apache-thrift
+ 0.0.1-SNAPSHOT
+ pom
+
+
+ 1.8
+ 4.12
+ 3.6.0
+ 0.10.0
+ 0.1.11
+
+
+
+
+ org.apache.thrift
+ libthrift
+ ${thrift.version}
+
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+
+ org.slf4j
+ slf4j-simple
+ 1.7.12
+ test
+
+
+
+
+ install
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ 1.8
+ 1.8
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ generate-sources
+ add-source
+
+
+ generated
+
+
+
+
+
+
+
+
diff --git a/apache-thrift/src/main/java/com/baeldung/thrift/Application.java b/apache-thrift/src/main/java/com/baeldung/thrift/Application.java
new file mode 100644
index 0000000000..3321a0927a
--- /dev/null
+++ b/apache-thrift/src/main/java/com/baeldung/thrift/Application.java
@@ -0,0 +1,11 @@
+package com.baeldung.thrift;
+
+import org.apache.thrift.transport.TTransportException;
+
+public class Application {
+
+ public static void main(String[] args) throws TTransportException {
+ CrossPlatformServiceServer server = new CrossPlatformServiceServer();
+ server.start();
+ }
+}
diff --git a/apache-thrift/src/main/java/com/baeldung/thrift/CrossPlatformServiceClient.java b/apache-thrift/src/main/java/com/baeldung/thrift/CrossPlatformServiceClient.java
new file mode 100644
index 0000000000..8c369acccb
--- /dev/null
+++ b/apache-thrift/src/main/java/com/baeldung/thrift/CrossPlatformServiceClient.java
@@ -0,0 +1,41 @@
+package com.baeldung.thrift;
+
+import com.baeldung.thrift.impl.CrossPlatformService;
+
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.transport.TSocket;
+import org.apache.thrift.transport.TTransport;
+import org.apache.thrift.transport.TTransportException;
+
+public class CrossPlatformServiceClient {
+
+ public boolean ping() {
+ try {
+ TTransport transport;
+
+ transport = new TSocket("localhost", 9090);
+ transport.open();
+
+ TProtocol protocol = new TBinaryProtocol(transport);
+ CrossPlatformService.Client client = new CrossPlatformService.Client(protocol);
+
+ System.out.print("Calling remote method...");
+
+ boolean result = client.ping();
+
+ System.out.println("done.");
+
+ transport.close();
+
+ return result;
+ } catch (TTransportException e) {
+ e.printStackTrace();
+ } catch (TException x) {
+ x.printStackTrace();
+ }
+
+ return false;
+ }
+}
diff --git a/apache-thrift/src/main/java/com/baeldung/thrift/CrossPlatformServiceImpl.java b/apache-thrift/src/main/java/com/baeldung/thrift/CrossPlatformServiceImpl.java
new file mode 100644
index 0000000000..008fc05ee7
--- /dev/null
+++ b/apache-thrift/src/main/java/com/baeldung/thrift/CrossPlatformServiceImpl.java
@@ -0,0 +1,35 @@
+package com.baeldung.thrift;
+
+import com.baeldung.thrift.impl.CrossPlatformResource;
+import com.baeldung.thrift.impl.CrossPlatformService;
+import com.baeldung.thrift.impl.InvalidOperationException;
+
+import org.apache.thrift.TException;
+
+import java.util.Collections;
+import java.util.List;
+
+public class CrossPlatformServiceImpl implements CrossPlatformService.Iface {
+
+ @Override
+ public CrossPlatformResource get(final int id) throws InvalidOperationException, TException {
+ // add some action
+ return new CrossPlatformResource();
+ }
+
+ @Override
+ public void save(final CrossPlatformResource resource) throws InvalidOperationException, TException {
+ // add some action
+ }
+
+ @Override
+ public List getList() throws InvalidOperationException, TException {
+ // add some action
+ return Collections.emptyList();
+ }
+
+ @Override
+ public boolean ping() throws InvalidOperationException, TException {
+ return true;
+ }
+}
diff --git a/apache-thrift/src/main/java/com/baeldung/thrift/CrossPlatformServiceServer.java b/apache-thrift/src/main/java/com/baeldung/thrift/CrossPlatformServiceServer.java
new file mode 100644
index 0000000000..32c7891ef2
--- /dev/null
+++ b/apache-thrift/src/main/java/com/baeldung/thrift/CrossPlatformServiceServer.java
@@ -0,0 +1,36 @@
+package com.baeldung.thrift;
+
+import com.baeldung.thrift.impl.CrossPlatformService;
+
+import org.apache.thrift.server.TServer;
+import org.apache.thrift.server.TSimpleServer;
+import org.apache.thrift.transport.TServerSocket;
+import org.apache.thrift.transport.TServerTransport;
+import org.apache.thrift.transport.TTransportException;
+
+public class CrossPlatformServiceServer {
+
+ private TServer server;
+
+ public void start() throws TTransportException {
+ TServerTransport serverTransport = new TServerSocket(9090);
+ server = new TSimpleServer(new TServer.Args(serverTransport)
+ .processor(new CrossPlatformService.Processor<>(new CrossPlatformServiceImpl())));
+
+ System.out.print("Starting the server... ");
+
+ server.serve();
+
+ System.out.println("done.");
+ }
+
+ public void stop() {
+ if (server != null && server.isServing()) {
+ System.out.print("Stopping the server... ");
+
+ server.stop();
+
+ System.out.println("done.");
+ }
+ }
+}
diff --git a/apache-thrift/src/main/resources/cross-platform-service.thrift b/apache-thrift/src/main/resources/cross-platform-service.thrift
new file mode 100644
index 0000000000..d6d3c51e18
--- /dev/null
+++ b/apache-thrift/src/main/resources/cross-platform-service.thrift
@@ -0,0 +1,24 @@
+namespace cpp com.baeldung.thrift.impl
+namespace java com.baeldung.thrift.impl
+
+exception InvalidOperationException {
+ 1: i32 code,
+ 2: string description
+}
+
+struct CrossPlatformResource {
+ 1: i32 id,
+ 2: string name,
+ 3: optional string salutation
+}
+
+service CrossPlatformService {
+
+ CrossPlatformResource get(1:i32 id) throws (1:InvalidOperationException e),
+
+ void save(1:CrossPlatformResource resource) throws (1:InvalidOperationException e),
+
+ list getList() throws (1:InvalidOperationException e),
+
+ bool ping() throws (1:InvalidOperationException e)
+}
\ No newline at end of file
diff --git a/apache-thrift/src/test/java/com/baeldung/thrift/CrossPlatformServiceTest.java b/apache-thrift/src/test/java/com/baeldung/thrift/CrossPlatformServiceTest.java
new file mode 100644
index 0000000000..4ba9ef2914
--- /dev/null
+++ b/apache-thrift/src/test/java/com/baeldung/thrift/CrossPlatformServiceTest.java
@@ -0,0 +1,40 @@
+package com.baeldung.thrift;
+
+import org.apache.thrift.transport.TTransportException;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class CrossPlatformServiceTest {
+
+ private CrossPlatformServiceServer server = new CrossPlatformServiceServer();
+
+ @Before
+ public void setUp() {
+ new Thread(() -> {
+ try {
+ server.start();
+ } catch (TTransportException e) {
+ e.printStackTrace();
+ }
+ }).start();
+ try {
+ // wait for the server start up
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @After
+ public void tearDown() {
+ server.stop();
+ }
+
+ @Test
+ public void ping() {
+ CrossPlatformServiceClient client = new CrossPlatformServiceClient();
+ Assert.assertTrue(client.ping());
+ }
+}
diff --git a/aspectj/README.md b/aspectj/README.md
new file mode 100644
index 0000000000..71724e76b6
--- /dev/null
+++ b/aspectj/README.md
@@ -0,0 +1,3 @@
+### Relevant Articles:
+- [Intro to AspectJ](http://www.baeldung.com/aspectj)
+- [Spring Performance Logging](http://www.baeldung.com/spring-performance-logging)
diff --git a/aspectj/pom.xml b/aspectj/pom.xml
index 2fca4031fb..90b527c14f 100644
--- a/aspectj/pom.xml
+++ b/aspectj/pom.xml
@@ -12,39 +12,69 @@
aspectjrt
${aspectj.version}
-
+
org.aspectj
aspectjweaver
${aspectj.version}
-
+
org.slf4j
slf4j-api
${org.slf4j.version}
-
+
ch.qos.logback
logback-classic
${logback.version}
-
+
ch.qos.logback
logback-core
${logback.version}
-
+
junit
junit
${junit.version}
-
+
+
+ org.springframework
+ spring-context
+ 4.3.4.RELEASE
+
+
+ org.springframework
+ spring-beans
+ 4.3.4.RELEASE
+
+
+ org.springframework
+ spring-core
+ 4.3.4.RELEASE
+
+
+ cglib
+ cglib
+ 3.2.4
+
+
+ org.springframework
+ spring-aop
+ 4.3.4.RELEASE
+
+
+ log4j
+ log4j
+ 1.2.17
+
@@ -65,9 +95,9 @@
${source.version}
${source.version}
-
+
-
+
org.codehaus.mojo
aspectj-maven-plugin
@@ -81,41 +111,22 @@
ignore
${project.build.sourceEncoding}
-
-
+
+
compile
- test-compile
+ test-compile
-
-
-
+
+
diff --git a/aspectj/src/main/java/com/baeldung/performancemonitor/AopConfiguration.java b/aspectj/src/main/java/com/baeldung/performancemonitor/AopConfiguration.java
new file mode 100644
index 0000000000..5e2ef90c0f
--- /dev/null
+++ b/aspectj/src/main/java/com/baeldung/performancemonitor/AopConfiguration.java
@@ -0,0 +1,59 @@
+package com.baeldung.performancemonitor;
+
+import java.time.LocalDate;
+import java.time.Month;
+
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.aop.Advisor;
+import org.springframework.aop.aspectj.AspectJExpressionPointcut;
+import org.springframework.aop.interceptor.PerformanceMonitorInterceptor;
+import org.springframework.aop.support.DefaultPointcutAdvisor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
+
+@Configuration
+@EnableAspectJAutoProxy
+public class AopConfiguration {
+
+ @Pointcut("execution(public String com.baeldung.performancemonitor.PersonService.getFullName(..))")
+ public void monitor() { }
+
+ @Pointcut("execution(public int com.baeldung.performancemonitor.PersonService.getAge(..))")
+ public void myMonitor() { }
+
+ @Bean
+ public PerformanceMonitorInterceptor performanceMonitorInterceptor() {
+ return new PerformanceMonitorInterceptor(true);
+ }
+
+ @Bean
+ public Advisor performanceMonitorAdvisor() {
+ AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
+ pointcut.setExpression("com.baeldung.performancemonitor.AopConfiguration.monitor()");
+ return new DefaultPointcutAdvisor(pointcut, performanceMonitorInterceptor());
+ }
+
+ @Bean
+ public Person person(){
+ return new Person("John","Smith", LocalDate.of(1980, Month.JANUARY, 12));
+ }
+
+ @Bean
+ public PersonService personService(){
+ return new PersonService();
+ }
+
+ @Bean
+ public MyPerformanceMonitorInterceptor myPerformanceMonitorInterceptor() {
+ return new MyPerformanceMonitorInterceptor(true);
+ }
+
+ @Bean
+ public Advisor myPerformanceMonitorAdvisor() {
+ AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
+ pointcut.setExpression("com.baeldung.performancemonitor.AopConfiguration.myMonitor()");
+ return new DefaultPointcutAdvisor(pointcut, myPerformanceMonitorInterceptor());
+ }
+
+}
diff --git a/aspectj/src/main/java/com/baeldung/performancemonitor/MyPerformanceMonitorInterceptor.java b/aspectj/src/main/java/com/baeldung/performancemonitor/MyPerformanceMonitorInterceptor.java
new file mode 100644
index 0000000000..e995e52182
--- /dev/null
+++ b/aspectj/src/main/java/com/baeldung/performancemonitor/MyPerformanceMonitorInterceptor.java
@@ -0,0 +1,39 @@
+package com.baeldung.performancemonitor;
+
+import java.util.Date;
+
+import org.aopalliance.intercept.MethodInvocation;
+import org.apache.commons.logging.Log;
+import org.springframework.aop.interceptor.AbstractMonitoringInterceptor;
+
+public class MyPerformanceMonitorInterceptor extends AbstractMonitoringInterceptor {
+
+ public MyPerformanceMonitorInterceptor() {
+ }
+
+ public MyPerformanceMonitorInterceptor(boolean useDynamicLogger) {
+ setUseDynamicLogger(useDynamicLogger);
+ }
+
+ @Override
+ protected Object invokeUnderTrace(MethodInvocation invocation, Log log) throws Throwable {
+
+ String name = createInvocationTraceName(invocation);
+ long start = System.currentTimeMillis();
+ log.info("Method "+name+" execution started at:"+new Date());
+ try {
+ return invocation.proceed();
+ }
+ finally {
+ long end = System.currentTimeMillis();
+ long time = end - start;
+ log.info("Method "+name+" execution lasted:"+time+" ms");
+ log.info("Method "+name+" execution ended at:"+new Date());
+
+ if (time > 10){
+ log.warn("Method execution longer than 10 ms!");
+ }
+
+ }
+ }
+}
diff --git a/aspectj/src/main/java/com/baeldung/performancemonitor/PerfomanceApp.java b/aspectj/src/main/java/com/baeldung/performancemonitor/PerfomanceApp.java
new file mode 100644
index 0000000000..00268c978e
--- /dev/null
+++ b/aspectj/src/main/java/com/baeldung/performancemonitor/PerfomanceApp.java
@@ -0,0 +1,16 @@
+package com.baeldung.performancemonitor;
+
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+
+public class PerfomanceApp {
+ public static void main(String[] args) {
+
+ ApplicationContext context = new AnnotationConfigApplicationContext(AopConfiguration.class);
+ Person person = (Person) context.getBean("person");
+ PersonService personService = (PersonService) context.getBean("personService");
+
+ System.out.println("Name is:"+personService.getFullName(person));
+ System.out.println("Age is:"+personService.getAge(person));
+ }
+}
diff --git a/aspectj/src/main/java/com/baeldung/performancemonitor/Person.java b/aspectj/src/main/java/com/baeldung/performancemonitor/Person.java
new file mode 100644
index 0000000000..f16f28fdef
--- /dev/null
+++ b/aspectj/src/main/java/com/baeldung/performancemonitor/Person.java
@@ -0,0 +1,42 @@
+package com.baeldung.performancemonitor;
+
+import java.time.LocalDate;
+
+public class Person {
+ private String lastName;
+ private String firstName;
+ private LocalDate dateOfBirth;
+
+ public Person() {
+ }
+
+ public Person(String firstName, String lastName, LocalDate dateOfBirth) {
+ this.firstName = firstName;
+ this.lastName = lastName;
+ this.dateOfBirth = dateOfBirth;
+ }
+
+ public LocalDate getDateOfBirth() {
+ return dateOfBirth;
+ }
+
+ public void setDateOfBirth(LocalDate dateOfBirth) {
+ this.dateOfBirth = dateOfBirth;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+}
diff --git a/aspectj/src/main/java/com/baeldung/performancemonitor/PersonService.java b/aspectj/src/main/java/com/baeldung/performancemonitor/PersonService.java
new file mode 100644
index 0000000000..f5bfdddc12
--- /dev/null
+++ b/aspectj/src/main/java/com/baeldung/performancemonitor/PersonService.java
@@ -0,0 +1,17 @@
+package com.baeldung.performancemonitor;
+
+import java.time.LocalDate;
+import java.time.Period;
+
+public class PersonService {
+
+ public String getFullName(Person person){
+ return person.getLastName()+" "+person.getFirstName();
+ }
+
+ public int getAge(Person person){
+ Period p = Period.between(person.getDateOfBirth(), LocalDate.now());
+ return p.getYears();
+ }
+
+}
diff --git a/aspectj/src/main/resources/log4j.properties b/aspectj/src/main/resources/log4j.properties
new file mode 100644
index 0000000000..9e2afcd5b0
--- /dev/null
+++ b/aspectj/src/main/resources/log4j.properties
@@ -0,0 +1,10 @@
+log4j.rootLogger=TRACE, stdout
+
+# Redirect log messages to console
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
+
+log4j.logger.org.springframework.aop.interceptor.PerformanceMonitorInterceptor=TRACE, stdout
+log4j.logger.com.baeldung.performancemonitor.MyPerformanceMonitorInterceptor=INFO, stdout
\ No newline at end of file
diff --git a/assertj/pom.xml b/assertj/pom.xml
index 0b3bcbacdb..032f33c89d 100644
--- a/assertj/pom.xml
+++ b/assertj/pom.xml
@@ -54,8 +54,8 @@
3.1.0
4.12
3.6.1
-
+
3.6.0
-
+
\ No newline at end of file
diff --git a/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJCoreTest.java b/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJCoreTest.java
index fc134ece00..10bb011903 100644
--- a/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJCoreTest.java
+++ b/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJCoreTest.java
@@ -38,8 +38,7 @@ public class AssertJCoreTest {
public void whenCheckingForElement_thenContains() throws Exception {
List list = Arrays.asList("1", "2", "3");
- assertThat(list)
- .contains("1");
+ assertThat(list).contains("1");
}
@Test
@@ -50,12 +49,7 @@ public class AssertJCoreTest {
assertThat(list).startsWith("1");
assertThat(list).doesNotContainNull();
- assertThat(list)
- .isNotEmpty()
- .contains("1")
- .startsWith("1")
- .doesNotContainNull()
- .containsSequence("2", "3");
+ assertThat(list).isNotEmpty().contains("1").startsWith("1").doesNotContainNull().containsSequence("2", "3");
}
@Test
@@ -67,11 +61,7 @@ public class AssertJCoreTest {
public void whenCheckingCharacter_thenIsUnicode() throws Exception {
char someCharacter = 'c';
- assertThat(someCharacter)
- .isNotEqualTo('a')
- .inUnicode()
- .isGreaterThanOrEqualTo('b')
- .isLowerCase();
+ assertThat(someCharacter).isNotEqualTo('a').inUnicode().isGreaterThanOrEqualTo('b').isLowerCase();
}
@Test
@@ -94,11 +84,7 @@ public class AssertJCoreTest {
final File someFile = File.createTempFile("aaa", "bbb");
someFile.deleteOnExit();
- assertThat(someFile)
- .exists()
- .isFile()
- .canRead()
- .canWrite();
+ assertThat(someFile).exists().isFile().canRead().canWrite();
}
@Test
@@ -113,20 +99,14 @@ public class AssertJCoreTest {
public void whenGivenMap_then() throws Exception {
Map map = Maps.newHashMap(2, "a");
- assertThat(map)
- .isNotEmpty()
- .containsKey(2)
- .doesNotContainKeys(10)
- .contains(entry(2, "a"));
+ assertThat(map).isNotEmpty().containsKey(2).doesNotContainKeys(10).contains(entry(2, "a"));
}
@Test
public void whenGivenException_then() throws Exception {
Exception ex = new Exception("abc");
- assertThat(ex)
- .hasNoCause()
- .hasMessageEndingWith("c");
+ assertThat(ex).hasNoCause().hasMessageEndingWith("c");
}
@Ignore // IN ORDER TO TEST, REMOVE THIS LINE
@@ -134,8 +114,6 @@ public class AssertJCoreTest {
public void whenRunningAssertion_thenDescribed() throws Exception {
Person person = new Person("Alex", 34);
- assertThat(person.getAge())
- .as("%s's age should be equal to 100")
- .isEqualTo(100);
+ assertThat(person.getAge()).as("%s's age should be equal to 100").isEqualTo(100);
}
}
diff --git a/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJGuavaTest.java b/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJGuavaTest.java
index aee803ada1..84aaf46dd1 100644
--- a/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJGuavaTest.java
+++ b/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJGuavaTest.java
@@ -26,9 +26,7 @@ public class AssertJGuavaTest {
final File temp1 = File.createTempFile("bael", "dung1");
final File temp2 = File.createTempFile("bael", "dung2");
- assertThat(Files.asByteSource(temp1))
- .hasSize(0)
- .hasSameContentAs(Files.asByteSource(temp2));
+ assertThat(Files.asByteSource(temp1)).hasSize(0).hasSameContentAs(Files.asByteSource(temp2));
}
@Test
@@ -37,11 +35,7 @@ public class AssertJGuavaTest {
mmap.put(1, "one");
mmap.put(1, "1");
- assertThat(mmap)
- .hasSize(2)
- .containsKeys(1)
- .contains(entry(1, "one"))
- .contains(entry(1, "1"));
+ assertThat(mmap).hasSize(2).containsKeys(1).contains(entry(1, "one")).contains(entry(1, "1"));
}
@Test
@@ -62,31 +56,21 @@ public class AssertJGuavaTest {
mmap2.put(1, "one");
mmap2.put(1, "1");
- assertThat(mmap1)
- .containsAllEntriesOf(mmap2)
- .containsAllEntriesOf(mmap1_clone)
- .hasSameEntriesAs(mmap1_clone);
+ assertThat(mmap1).containsAllEntriesOf(mmap2).containsAllEntriesOf(mmap1_clone).hasSameEntriesAs(mmap1_clone);
}
@Test
public void givenOptional_whenVerifyingContent_thenShouldBeEqual() throws Exception {
final Optional something = Optional.of("something");
- assertThat(something)
- .isPresent()
- .extractingValue()
- .isEqualTo("something");
+ assertThat(something).isPresent().extractingValue().isEqualTo("something");
}
@Test
public void givenRange_whenVerifying_thenShouldBeCorrect() throws Exception {
final Range range = Range.openClosed("a", "g");
- assertThat(range)
- .hasOpenedLowerBound()
- .isNotEmpty()
- .hasClosedUpperBound()
- .contains("b");
+ assertThat(range).hasOpenedLowerBound().isNotEmpty().hasClosedUpperBound().contains("b");
}
@Test
@@ -96,10 +80,7 @@ public class AssertJGuavaTest {
map.put(Range.closed(0, 60), "F");
map.put(Range.closed(61, 70), "D");
- assertThat(map)
- .isNotEmpty()
- .containsKeys(0)
- .contains(MapEntry.entry(34, "F"));
+ assertThat(map).isNotEmpty().containsKeys(0).contains(MapEntry.entry(34, "F"));
}
@Test
@@ -109,13 +90,7 @@ public class AssertJGuavaTest {
table.put(1, "A", "PRESENT");
table.put(1, "B", "ABSENT");
- assertThat(table)
- .hasRowCount(1)
- .containsValues("ABSENT")
- .containsCell(1, "B", "ABSENT");
+ assertThat(table).hasRowCount(1).containsValues("ABSENT").containsCell(1, "B", "ABSENT");
}
-
-
-
}
diff --git a/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJJava8Test.java b/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJJava8Test.java
index 0cdbd0f7ea..f89defaed1 100644
--- a/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJJava8Test.java
+++ b/assertj/src/test/java/com/baeldung/assertj/introduction/AssertJJava8Test.java
@@ -20,20 +20,14 @@ public class AssertJJava8Test {
public void givenOptional_shouldAssert() throws Exception {
final Optional givenOptional = Optional.of("something");
- assertThat(givenOptional)
- .isPresent()
- .hasValue("something");
+ assertThat(givenOptional).isPresent().hasValue("something");
}
@Test
public void givenPredicate_shouldAssert() throws Exception {
final Predicate predicate = s -> s.length() > 4;
- assertThat(predicate)
- .accepts("aaaaa", "bbbbb")
- .rejects("a", "b")
- .acceptsAll(asList("aaaaa", "bbbbb"))
- .rejectsAll(asList("a", "b"));
+ assertThat(predicate).accepts("aaaaa", "bbbbb").rejects("a", "b").acceptsAll(asList("aaaaa", "bbbbb")).rejectsAll(asList("a", "b"));
}
@Test
@@ -41,92 +35,74 @@ public class AssertJJava8Test {
final LocalDate givenLocalDate = LocalDate.of(2016, 7, 8);
final LocalDate todayDate = LocalDate.now();
- assertThat(givenLocalDate)
- .isBefore(LocalDate.of(2020, 7, 8))
- .isAfterOrEqualTo(LocalDate.of(1989, 7, 8));
+ assertThat(givenLocalDate).isBefore(LocalDate.of(2020, 7, 8)).isAfterOrEqualTo(LocalDate.of(1989, 7, 8));
- assertThat(todayDate)
- .isAfter(LocalDate.of(1989, 7, 8))
- .isToday();
+ assertThat(todayDate).isAfter(LocalDate.of(1989, 7, 8)).isToday();
}
@Test
public void givenLocalDateTime_shouldAssert() throws Exception {
final LocalDateTime givenLocalDate = LocalDateTime.of(2016, 7, 8, 12, 0);
- assertThat(givenLocalDate)
- .isBefore(LocalDateTime.of(2020, 7, 8, 11, 2));
+ assertThat(givenLocalDate).isBefore(LocalDateTime.of(2020, 7, 8, 11, 2));
}
@Test
public void givenLocalTime_shouldAssert() throws Exception {
final LocalTime givenLocalTime = LocalTime.of(12, 15);
- assertThat(givenLocalTime)
- .isAfter(LocalTime.of(1, 0))
- .hasSameHourAs(LocalTime.of(12, 0));
+ assertThat(givenLocalTime).isAfter(LocalTime.of(1, 0)).hasSameHourAs(LocalTime.of(12, 0));
}
@Test
public void givenList_shouldAssertFlatExtracting() throws Exception {
final List givenList = asList(ofYearDay(2016, 5), ofYearDay(2015, 6));
- assertThat(givenList)
- .flatExtracting(LocalDate::getYear)
- .contains(2015);
+ assertThat(givenList).flatExtracting(LocalDate::getYear).contains(2015);
}
@Test
public void givenList_shouldAssertFlatExtractingLeapYear() throws Exception {
final List givenList = asList(ofYearDay(2016, 5), ofYearDay(2015, 6));
- assertThat(givenList)
- .flatExtracting(LocalDate::isLeapYear)
- .contains(true);
+ assertThat(givenList).flatExtracting(LocalDate::isLeapYear).contains(true);
}
@Test
public void givenList_shouldAssertFlatExtractingClass() throws Exception {
final List givenList = asList(ofYearDay(2016, 5), ofYearDay(2015, 6));
- assertThat(givenList)
- .flatExtracting(Object::getClass)
- .contains(LocalDate.class);
+ assertThat(givenList).flatExtracting(Object::getClass).contains(LocalDate.class);
}
@Test
public void givenList_shouldAssertMultipleFlatExtracting() throws Exception {
final List givenList = asList(ofYearDay(2016, 5), ofYearDay(2015, 6));
- assertThat(givenList)
- .flatExtracting(LocalDate::getYear, LocalDate::getDayOfMonth)
- .contains(2015, 6);
+ assertThat(givenList).flatExtracting(LocalDate::getYear, LocalDate::getDayOfMonth).contains(2015, 6);
}
@Test
public void givenString_shouldSatisfy() throws Exception {
final String givenString = "someString";
- assertThat(givenString)
- .satisfies(s -> {
- assertThat(s).isNotEmpty();
- assertThat(s).hasSize(10);
- });
+ assertThat(givenString).satisfies(s -> {
+ assertThat(s).isNotEmpty();
+ assertThat(s).hasSize(10);
+ });
}
@Test
public void givenString_shouldMatch() throws Exception {
final String emptyString = "";
- assertThat(emptyString)
- .matches(String::isEmpty);
+ assertThat(emptyString).matches(String::isEmpty);
}
@Test
public void givenList_shouldHasOnlyOneElementSatisfying() throws Exception {
final List givenList = Arrays.asList("");
- assertThat(givenList)
- .hasOnlyOneElementSatisfying(s -> assertThat(s).isEmpty());
+ assertThat(givenList).hasOnlyOneElementSatisfying(s -> assertThat(s).isEmpty());
}
}
diff --git a/autovalue/pom.xml b/autovalue/pom.xml
index 57c4662e5c..32616dc8bc 100644
--- a/autovalue/pom.xml
+++ b/autovalue/pom.xml
@@ -41,5 +41,5 @@
4.12
3.6.0
-
+
diff --git a/autovalue/src/main/java/com/baeldung/autovalue/AutoValueMoney.java b/autovalue/src/main/java/com/baeldung/autovalue/AutoValueMoney.java
index ef39f499d1..5da6b48c81 100644
--- a/autovalue/src/main/java/com/baeldung/autovalue/AutoValueMoney.java
+++ b/autovalue/src/main/java/com/baeldung/autovalue/AutoValueMoney.java
@@ -4,12 +4,12 @@ import com.google.auto.value.AutoValue;
@AutoValue
public abstract class AutoValueMoney {
- public abstract String getCurrency();
+ public abstract String getCurrency();
- public abstract long getAmount();
+ public abstract long getAmount();
- public static AutoValueMoney create(String currency, long amount) {
- return new AutoValue_AutoValueMoney(currency, amount);
+ public static AutoValueMoney create(String currency, long amount) {
+ return new AutoValue_AutoValueMoney(currency, amount);
- }
+ }
}
diff --git a/autovalue/src/main/java/com/baeldung/autovalue/AutoValueMoneyWithBuilder.java b/autovalue/src/main/java/com/baeldung/autovalue/AutoValueMoneyWithBuilder.java
index a7ac93e45b..8a4dbcd5a5 100644
--- a/autovalue/src/main/java/com/baeldung/autovalue/AutoValueMoneyWithBuilder.java
+++ b/autovalue/src/main/java/com/baeldung/autovalue/AutoValueMoneyWithBuilder.java
@@ -4,20 +4,20 @@ import com.google.auto.value.AutoValue;
@AutoValue
public abstract class AutoValueMoneyWithBuilder {
- public abstract String getCurrency();
+ public abstract String getCurrency();
- public abstract long getAmount();
+ public abstract long getAmount();
- static Builder builder() {
- return new AutoValue_AutoValueMoneyWithBuilder.Builder();
- }
+ static Builder builder() {
+ return new AutoValue_AutoValueMoneyWithBuilder.Builder();
+ }
- @AutoValue.Builder
- abstract static class Builder {
- abstract Builder setCurrency(String currency);
+ @AutoValue.Builder
+ abstract static class Builder {
+ abstract Builder setCurrency(String currency);
- abstract Builder setAmount(long amount);
+ abstract Builder setAmount(long amount);
- abstract AutoValueMoneyWithBuilder build();
- }
+ abstract AutoValueMoneyWithBuilder build();
+ }
}
diff --git a/autovalue/src/main/java/com/baeldung/autovalue/Foo.java b/autovalue/src/main/java/com/baeldung/autovalue/Foo.java
index bb90070f6d..7bc893b044 100644
--- a/autovalue/src/main/java/com/baeldung/autovalue/Foo.java
+++ b/autovalue/src/main/java/com/baeldung/autovalue/Foo.java
@@ -3,49 +3,49 @@ package com.baeldung.autovalue;
import java.util.Objects;
public final class Foo {
- private final String text;
- private final int number;
+ private final String text;
+ private final int number;
- public Foo(String text, int number) {
- this.text = text;
- this.number = number;
- }
+ public Foo(String text, int number) {
+ this.text = text;
+ this.number = number;
+ }
- public String getText() {
- return text;
- }
+ public String getText() {
+ return text;
+ }
- public int getNumber() {
- return number;
- }
+ public int getNumber() {
+ return number;
+ }
- @Override
- public int hashCode() {
- return Objects.hash(text, number);
- }
+ @Override
+ public int hashCode() {
+ return Objects.hash(text, number);
+ }
- @Override
- public String toString() {
- return "Foo [text=" + text + ", number=" + number + "]";
- }
+ @Override
+ public String toString() {
+ return "Foo [text=" + text + ", number=" + number + "]";
+ }
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Foo other = (Foo) obj;
- if (number != other.number)
- return false;
- if (text == null) {
- if (other.text != null)
- return false;
- } else if (!text.equals(other.text))
- return false;
- return true;
- }
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ Foo other = (Foo) obj;
+ if (number != other.number)
+ return false;
+ if (text == null) {
+ if (other.text != null)
+ return false;
+ } else if (!text.equals(other.text))
+ return false;
+ return true;
+ }
}
diff --git a/autovalue/src/main/java/com/baeldung/autovalue/ImmutableMoney.java b/autovalue/src/main/java/com/baeldung/autovalue/ImmutableMoney.java
index 04d29b6b09..d715f2047c 100644
--- a/autovalue/src/main/java/com/baeldung/autovalue/ImmutableMoney.java
+++ b/autovalue/src/main/java/com/baeldung/autovalue/ImmutableMoney.java
@@ -1,52 +1,53 @@
package com.baeldung.autovalue;
+
public final class ImmutableMoney {
- private final long amount;
- private final String currency;
- public ImmutableMoney(long amount, String currency) {
- this.amount = amount;
- this.currency = currency;
- }
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (int) (amount ^ (amount >>> 32));
- result = prime * result
- + ((currency == null) ? 0 : currency.hashCode());
- return result;
- }
+ private final long amount;
+ private final String currency;
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- ImmutableMoney other = (ImmutableMoney) obj;
- if (amount != other.amount)
- return false;
- if (currency == null) {
- if (other.currency != null)
- return false;
- } else if (!currency.equals(other.currency))
- return false;
- return true;
- }
+ public ImmutableMoney(long amount, String currency) {
+ this.amount = amount;
+ this.currency = currency;
+ }
- public long getAmount() {
- return amount;
- }
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + (int) (amount ^ (amount >>> 32));
+ result = prime * result + ((currency == null) ? 0 : currency.hashCode());
+ return result;
+ }
- public String getCurrency() {
- return currency;
- }
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ImmutableMoney other = (ImmutableMoney) obj;
+ if (amount != other.amount)
+ return false;
+ if (currency == null) {
+ if (other.currency != null)
+ return false;
+ } else if (!currency.equals(other.currency))
+ return false;
+ return true;
+ }
- @Override
- public String toString() {
- return "ImmutableMoney [amount=" + amount + ", currency=" + currency
- + "]";
- }
+ public long getAmount() {
+ return amount;
+ }
+
+ public String getCurrency() {
+ return currency;
+ }
+
+ @Override
+ public String toString() {
+ return "ImmutableMoney [amount=" + amount + ", currency=" + currency + "]";
+ }
}
diff --git a/autovalue/src/main/java/com/baeldung/autovalue/MutableMoney.java b/autovalue/src/main/java/com/baeldung/autovalue/MutableMoney.java
index 6cf8b75f7d..d04a330a56 100644
--- a/autovalue/src/main/java/com/baeldung/autovalue/MutableMoney.java
+++ b/autovalue/src/main/java/com/baeldung/autovalue/MutableMoney.java
@@ -1,35 +1,34 @@
package com.baeldung.autovalue;
public class MutableMoney {
- @Override
- public String toString() {
- return "MutableMoney [amount=" + amount + ", currency=" + currency
- + "]";
- }
+ @Override
+ public String toString() {
+ return "MutableMoney [amount=" + amount + ", currency=" + currency + "]";
+ }
- public long getAmount() {
- return amount;
- }
+ public long getAmount() {
+ return amount;
+ }
- public void setAmount(long amount) {
- this.amount = amount;
- }
+ public void setAmount(long amount) {
+ this.amount = amount;
+ }
- public String getCurrency() {
- return currency;
- }
+ public String getCurrency() {
+ return currency;
+ }
- public void setCurrency(String currency) {
- this.currency = currency;
- }
+ public void setCurrency(String currency) {
+ this.currency = currency;
+ }
- private long amount;
- private String currency;
+ private long amount;
+ private String currency;
- public MutableMoney(long amount, String currency) {
- super();
- this.amount = amount;
- this.currency = currency;
- }
+ public MutableMoney(long amount, String currency) {
+ super();
+ this.amount = amount;
+ this.currency = currency;
+ }
}
diff --git a/autovalue/src/test/java/com/baeldung/autovalue/MoneyUnitTest.java b/autovalue/src/test/java/com/baeldung/autovalue/MoneyUnitTest.java
index a9482125a6..f0dffa43a7 100644
--- a/autovalue/src/test/java/com/baeldung/autovalue/MoneyUnitTest.java
+++ b/autovalue/src/test/java/com/baeldung/autovalue/MoneyUnitTest.java
@@ -5,55 +5,59 @@ import static org.junit.Assert.*;
import org.junit.Test;
public class MoneyUnitTest {
- @Test
- public void givenTwoSameValueMoneyObjects_whenEqualityTestFails_thenCorrect() {
- MutableMoney m1 = new MutableMoney(10000, "USD");
- MutableMoney m2 = new MutableMoney(10000, "USD");
- assertFalse(m1.equals(m2));
- }
+ @Test
+ public void givenTwoSameValueMoneyObjects_whenEqualityTestFails_thenCorrect() {
+ MutableMoney m1 = new MutableMoney(10000, "USD");
+ MutableMoney m2 = new MutableMoney(10000, "USD");
+ assertFalse(m1.equals(m2));
+ }
- @Test
- public void givenTwoSameValueMoneyValueObjects_whenEqualityTestPasses_thenCorrect() {
- ImmutableMoney m1 = new ImmutableMoney(10000, "USD");
- ImmutableMoney m2 = new ImmutableMoney(10000, "USD");
- assertTrue(m1.equals(m2));
- }
+ @Test
+ public void givenTwoSameValueMoneyValueObjects_whenEqualityTestPasses_thenCorrect() {
+ ImmutableMoney m1 = new ImmutableMoney(10000, "USD");
+ ImmutableMoney m2 = new ImmutableMoney(10000, "USD");
+ assertTrue(m1.equals(m2));
+ }
- @Test
- public void givenValueTypeWithAutoValue_whenFieldsCorrectlySet_thenCorrect() {
- AutoValueMoney m = AutoValueMoney.create("USD", 10000);
- assertEquals(m.getAmount(), 10000);
- assertEquals(m.getCurrency(), "USD");
- }
+ @Test
+ public void givenValueTypeWithAutoValue_whenFieldsCorrectlySet_thenCorrect() {
+ AutoValueMoney m = AutoValueMoney.create("USD", 10000);
+ assertEquals(m.getAmount(), 10000);
+ assertEquals(m.getCurrency(), "USD");
+ }
- @Test
- public void given2EqualValueTypesWithAutoValue_whenEqual_thenCorrect() {
- AutoValueMoney m1 = AutoValueMoney.create("USD", 5000);
- AutoValueMoney m2 = AutoValueMoney.create("USD", 5000);
- assertTrue(m1.equals(m2));
- }
- @Test
- public void given2DifferentValueTypesWithAutoValue_whenNotEqual_thenCorrect() {
- AutoValueMoney m1 = AutoValueMoney.create("GBP", 5000);
- AutoValueMoney m2 = AutoValueMoney.create("USD", 5000);
- assertFalse(m1.equals(m2));
- }
- @Test
- public void given2EqualValueTypesWithBuilder_whenEqual_thenCorrect() {
- AutoValueMoneyWithBuilder m1 = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("USD").build();
- AutoValueMoneyWithBuilder m2 = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("USD").build();
- assertTrue(m1.equals(m2));
- }
- @Test
- public void given2DifferentValueTypesBuilder_whenNotEqual_thenCorrect() {
- AutoValueMoneyWithBuilder m1 = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("USD").build();
- AutoValueMoneyWithBuilder m2 = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("GBP").build();
- assertFalse(m1.equals(m2));
- }
- @Test
- public void givenValueTypeWithBuilder_whenFieldsCorrectlySet_thenCorrect() {
- AutoValueMoneyWithBuilder m = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("USD").build();
- assertEquals(m.getAmount(), 5000);
- assertEquals(m.getCurrency(), "USD");
- }
+ @Test
+ public void given2EqualValueTypesWithAutoValue_whenEqual_thenCorrect() {
+ AutoValueMoney m1 = AutoValueMoney.create("USD", 5000);
+ AutoValueMoney m2 = AutoValueMoney.create("USD", 5000);
+ assertTrue(m1.equals(m2));
+ }
+
+ @Test
+ public void given2DifferentValueTypesWithAutoValue_whenNotEqual_thenCorrect() {
+ AutoValueMoney m1 = AutoValueMoney.create("GBP", 5000);
+ AutoValueMoney m2 = AutoValueMoney.create("USD", 5000);
+ assertFalse(m1.equals(m2));
+ }
+
+ @Test
+ public void given2EqualValueTypesWithBuilder_whenEqual_thenCorrect() {
+ AutoValueMoneyWithBuilder m1 = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("USD").build();
+ AutoValueMoneyWithBuilder m2 = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("USD").build();
+ assertTrue(m1.equals(m2));
+ }
+
+ @Test
+ public void given2DifferentValueTypesBuilder_whenNotEqual_thenCorrect() {
+ AutoValueMoneyWithBuilder m1 = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("USD").build();
+ AutoValueMoneyWithBuilder m2 = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("GBP").build();
+ assertFalse(m1.equals(m2));
+ }
+
+ @Test
+ public void givenValueTypeWithBuilder_whenFieldsCorrectlySet_thenCorrect() {
+ AutoValueMoneyWithBuilder m = AutoValueMoneyWithBuilder.builder().setAmount(5000).setCurrency("USD").build();
+ assertEquals(m.getAmount(), 5000);
+ assertEquals(m.getCurrency(), "USD");
+ }
}
diff --git a/aws/.gitignore b/aws/.gitignore
new file mode 100644
index 0000000000..b83d22266a
--- /dev/null
+++ b/aws/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/aws/pom.xml b/aws/pom.xml
new file mode 100644
index 0000000000..f3ae672a2f
--- /dev/null
+++ b/aws/pom.xml
@@ -0,0 +1,44 @@
+
+ 4.0.0
+ com.baeldung
+ aws
+ 0.1.0-SNAPSHOT
+ jar
+ aws
+
+
+
+ com.amazonaws
+ aws-lambda-java-core
+ 1.1.0
+
+
+
+ commons-io
+ commons-io
+ 2.5
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 2.3
+
+ false
+
+
+
+ package
+
+ shade
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/aws/src/main/java/com/baeldung/lambda/LambdaMethodHandler.java b/aws/src/main/java/com/baeldung/lambda/LambdaMethodHandler.java
new file mode 100644
index 0000000000..dc21476290
--- /dev/null
+++ b/aws/src/main/java/com/baeldung/lambda/LambdaMethodHandler.java
@@ -0,0 +1,10 @@
+package com.baeldung.lambda;
+
+import com.amazonaws.services.lambda.runtime.Context;
+
+public class LambdaMethodHandler {
+ public String handleRequest(String input, Context context) {
+ context.getLogger().log("Input: " + input);
+ return "Hello World - " + input;
+ }
+}
diff --git a/aws/src/main/java/com/baeldung/lambda/LambdaRequestHandler.java b/aws/src/main/java/com/baeldung/lambda/LambdaRequestHandler.java
new file mode 100644
index 0000000000..85385555d2
--- /dev/null
+++ b/aws/src/main/java/com/baeldung/lambda/LambdaRequestHandler.java
@@ -0,0 +1,11 @@
+package com.baeldung.lambda;
+
+import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.RequestHandler;
+
+public class LambdaRequestHandler implements RequestHandler {
+ public String handleRequest(String input, Context context) {
+ context.getLogger().log("Input: " + input);
+ return "Hello World - " + input;
+ }
+}
diff --git a/aws/src/main/java/com/baeldung/lambda/LambdaRequestStreamHandler.java b/aws/src/main/java/com/baeldung/lambda/LambdaRequestStreamHandler.java
new file mode 100644
index 0000000000..6e8a33c42d
--- /dev/null
+++ b/aws/src/main/java/com/baeldung/lambda/LambdaRequestStreamHandler.java
@@ -0,0 +1,17 @@
+package com.baeldung.lambda;
+
+import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
+import org.apache.commons.io.IOUtils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class LambdaRequestStreamHandler implements RequestStreamHandler {
+
+ public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
+ String input = IOUtils.toString(inputStream, "UTF-8");
+ outputStream.write(("Hello World - " + input).getBytes());
+ }
+}
diff --git a/cdi/pom.xml b/cdi/pom.xml
index 231390ea5c..e5aaeb2c7b 100644
--- a/cdi/pom.xml
+++ b/cdi/pom.xml
@@ -45,7 +45,7 @@
-
+
@@ -61,7 +61,7 @@
-
+
integration
@@ -101,7 +101,7 @@
1.8.9
2.4.1.Final
4.12
- 2.19.1
+ 2.19.1
\ No newline at end of file
diff --git a/core-java-9/pom.xml b/core-java-9/pom.xml
index bf9325c935..9d1ff29ef7 100644
--- a/core-java-9/pom.xml
+++ b/core-java-9/pom.xml
@@ -1,91 +1,90 @@
-
- 4.0.0
- com.baeldung
- core-java9
- 0.2-SNAPSHOT
+
+ 4.0.0
+ com.baeldung
+ core-java9
+ 0.2-SNAPSHOT
- core-java9
+ core-java9
-
-
- apache.snapshots
- http://repository.apache.org/snapshots/
-
-
+
+
+ apache.snapshots
+ http://repository.apache.org/snapshots/
+
+
-
+
-
- org.slf4j
- slf4j-api
- ${org.slf4j.version}
-
+
+ org.slf4j
+ slf4j-api
+ ${org.slf4j.version}
+
+
+ org.hamcrest
+ hamcrest-library
+ ${org.hamcrest.version}
+ test
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
-
- org.hamcrest
- hamcrest-library
- ${org.hamcrest.version}
- test
-
+
+ org.mockito
+ mockito-core
+ ${mockito.version}
+ test
+
-
- junit
- junit
- ${junit.version}
- test
-
+
-
- org.mockito
- mockito-core
- ${mockito.version}
- test
-
+
+ core-java-9
-
+
-
- core-java-9
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ 1.9
+ 1.9
+
+
-
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${maven-surefire-plugin.version}
+
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven-compiler-plugin.version}
-
- 1.9
- 1.9
- true
-
-
+
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
+
-
+
+
+ UTF-8
+
+
+ 1.7.21
-
+
+ 3.6-jigsaw-SNAPSHOT
+ 2.19.1
-
-
- 1.7.21
-
-
- 3.6-jigsaw-SNAPSHOT
- 2.19.1
-
-
- 1.3
- 4.12
- 1.10.19
-
+
+ 1.3
+ 4.12
+ 1.10.19
+
diff --git a/core-java-9/src/main/java/com/baeldung/java9/language/PrivateInterface.java b/core-java-9/src/main/java/com/baeldung/java9/language/PrivateInterface.java
index fd6a496b18..f7b2fad891 100644
--- a/core-java-9/src/main/java/com/baeldung/java9/language/PrivateInterface.java
+++ b/core-java-9/src/main/java/com/baeldung/java9/language/PrivateInterface.java
@@ -1,16 +1,16 @@
package com.baeldung.java9.language;
public interface PrivateInterface {
-
+
private static String staticPrivate() {
return "static private";
}
-
+
private String instancePrivate() {
return "instance private";
}
-
- public default void check(){
+
+ public default void check() {
String result = staticPrivate();
if (!result.equals("static private"))
throw new AssertionError("Incorrect result for static private interface method");
diff --git a/core-java-9/src/main/java/com/baeldung/java9/process/ProcessUtils.java b/core-java-9/src/main/java/com/baeldung/java9/process/ProcessUtils.java
index d6682bd0c8..5cd2567fb3 100644
--- a/core-java-9/src/main/java/com/baeldung/java9/process/ProcessUtils.java
+++ b/core-java-9/src/main/java/com/baeldung/java9/process/ProcessUtils.java
@@ -8,37 +8,36 @@ import java.time.Duration;
import java.time.Instant;
import java.util.stream.Stream;
-
public class ProcessUtils {
- public static String getClassPath(){
+ public static String getClassPath() {
String cp = System.getProperty("java.class.path");
- System.out.println("ClassPath is "+cp);
+ System.out.println("ClassPath is " + cp);
return cp;
}
- public static File getJavaCmd() throws IOException{
+ public static File getJavaCmd() throws IOException {
String javaHome = System.getProperty("java.home");
File javaCmd;
- if(System.getProperty("os.name").startsWith("Win")){
+ if (System.getProperty("os.name").startsWith("Win")) {
javaCmd = new File(javaHome, "bin/java.exe");
- }else{
+ } else {
javaCmd = new File(javaHome, "bin/java");
}
- if(javaCmd.canExecute()){
+ if (javaCmd.canExecute()) {
return javaCmd;
- }else{
+ } else {
throw new UnsupportedOperationException(javaCmd.getCanonicalPath() + " is not executable");
}
}
- public static String getMainClass(){
+ public static String getMainClass() {
return System.getProperty("sun.java.command");
}
- public static String getSystemProperties(){
- StringBuilder sb = new StringBuilder();
- System.getProperties().forEach((s1, s2) -> sb.append(s1 +" - "+ s2) );
+ public static String getSystemProperties() {
+ StringBuilder sb = new StringBuilder();
+ System.getProperties().forEach((s1, s2) -> sb.append(s1 + " - " + s2));
return sb.toString();
}
}
diff --git a/core-java-9/src/main/java/com/baeldung/java9/process/ServiceMain.java b/core-java-9/src/main/java/com/baeldung/java9/process/ServiceMain.java
index 458f746496..299f74e877 100644
--- a/core-java-9/src/main/java/com/baeldung/java9/process/ServiceMain.java
+++ b/core-java-9/src/main/java/com/baeldung/java9/process/ServiceMain.java
@@ -8,7 +8,6 @@ public class ServiceMain {
ProcessHandle thisProcess = ProcessHandle.current();
long pid = thisProcess.getPid();
-
Optional opArgs = Optional.ofNullable(args);
String procName = opArgs.map(str -> str.length > 0 ? str[0] : null).orElse(System.getProperty("sun.java.command"));
diff --git a/core-java-9/src/test/java/com/baeldung/java9/Java9OptionalsStreamTest.java b/core-java-9/src/test/java/com/baeldung/java9/Java9OptionalsStreamTest.java
index b0684a94f8..121c17a860 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/Java9OptionalsStreamTest.java
+++ b/core-java-9/src/test/java/com/baeldung/java9/Java9OptionalsStreamTest.java
@@ -19,10 +19,7 @@ public class Java9OptionalsStreamTest {
public void filterOutPresentOptionalsWithFilter() {
assertEquals(4, listOfOptionals.size());
- List filteredList = listOfOptionals.stream()
- .filter(Optional::isPresent)
- .map(Optional::get)
- .collect(Collectors.toList());
+ List filteredList = listOfOptionals.stream().filter(Optional::isPresent).map(Optional::get).collect(Collectors.toList());
assertEquals(2, filteredList.size());
assertEquals("foo", filteredList.get(0));
@@ -33,9 +30,7 @@ public class Java9OptionalsStreamTest {
public void filterOutPresentOptionalsWithFlatMap() {
assertEquals(4, listOfOptionals.size());
- List filteredList = listOfOptionals.stream()
- .flatMap(o -> o.isPresent() ? Stream.of(o.get()) : Stream.empty())
- .collect(Collectors.toList());
+ List filteredList = listOfOptionals.stream().flatMap(o -> o.isPresent() ? Stream.of(o.get()) : Stream.empty()).collect(Collectors.toList());
assertEquals(2, filteredList.size());
assertEquals("foo", filteredList.get(0));
@@ -46,9 +41,7 @@ public class Java9OptionalsStreamTest {
public void filterOutPresentOptionalsWithFlatMap2() {
assertEquals(4, listOfOptionals.size());
- List filteredList = listOfOptionals.stream()
- .flatMap(o -> o.map(Stream::of).orElseGet(Stream::empty))
- .collect(Collectors.toList());
+ List filteredList = listOfOptionals.stream().flatMap(o -> o.map(Stream::of).orElseGet(Stream::empty)).collect(Collectors.toList());
assertEquals(2, filteredList.size());
assertEquals("foo", filteredList.get(0));
@@ -59,9 +52,7 @@ public class Java9OptionalsStreamTest {
public void filterOutPresentOptionalsWithJava9() {
assertEquals(4, listOfOptionals.size());
- List filteredList = listOfOptionals.stream()
- .flatMap(Optional::stream)
- .collect(Collectors.toList());
+ List filteredList = listOfOptionals.stream().flatMap(Optional::stream).collect(Collectors.toList());
assertEquals(2, filteredList.size());
assertEquals("foo", filteredList.get(0));
diff --git a/core-java-9/src/test/java/com/baeldung/java9/MultiResultionImageTest.java b/core-java-9/src/test/java/com/baeldung/java9/MultiResultionImageTest.java
index a00646e4db..c0a5042b58 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/MultiResultionImageTest.java
+++ b/core-java-9/src/test/java/com/baeldung/java9/MultiResultionImageTest.java
@@ -1,5 +1,5 @@
package com.baeldung.java9;
-
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
@@ -13,7 +13,6 @@ import org.junit.Test;
public class MultiResultionImageTest {
-
@Test
public void baseMultiResImageTest() {
int baseIndex = 1;
@@ -38,10 +37,8 @@ public class MultiResultionImageTest {
return 8 * (i + 1);
}
-
private static BufferedImage createImage(int i) {
- return new BufferedImage(getSize(i), getSize(i),
- BufferedImage.TYPE_INT_RGB);
+ return new BufferedImage(getSize(i), getSize(i), BufferedImage.TYPE_INT_RGB);
}
}
diff --git a/core-java-9/src/test/java/com/baeldung/java9/httpclient/SimpleHttpRequestsTest.java b/core-java-9/src/test/java/com/baeldung/java9/httpclient/SimpleHttpRequestsTest.java
index ab28b0a805..442a18cbf3 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/httpclient/SimpleHttpRequestsTest.java
+++ b/core-java-9/src/test/java/com/baeldung/java9/httpclient/SimpleHttpRequestsTest.java
@@ -1,6 +1,4 @@
-package com.baeldung.java9.httpclient;
-
-
+package com.baeldung.java9.httpclient;
import static java.net.HttpURLConnection.HTTP_OK;
import static org.junit.Assert.assertTrue;
@@ -28,8 +26,8 @@ import org.junit.Test;
public class SimpleHttpRequestsTest {
- private URI httpURI;
-
+ private URI httpURI;
+
@Before
public void init() throws URISyntaxException {
httpURI = new URI("http://www.baeldung.com/");
@@ -37,26 +35,26 @@ public class SimpleHttpRequestsTest {
@Test
public void quickGet() throws IOException, InterruptedException, URISyntaxException {
- HttpRequest request = HttpRequest.create( httpURI ).GET();
+ HttpRequest request = HttpRequest.create(httpURI).GET();
HttpResponse response = request.response();
int responseStatusCode = response.statusCode();
String responseBody = response.body(HttpResponse.asString());
- assertTrue("Get response status code is bigger then 400", responseStatusCode < 400);
+ assertTrue("Get response status code is bigger then 400", responseStatusCode < 400);
}
-
+
@Test
- public void asynchronousGet() throws URISyntaxException, IOException, InterruptedException, ExecutionException{
+ public void asynchronousGet() throws URISyntaxException, IOException, InterruptedException, ExecutionException {
HttpRequest request = HttpRequest.create(httpURI).GET();
long before = System.currentTimeMillis();
CompletableFuture futureResponse = request.responseAsync();
- futureResponse.thenAccept( response -> {
+ futureResponse.thenAccept(response -> {
String responseBody = response.body(HttpResponse.asString());
- });
+ });
HttpResponse resp = futureResponse.get();
HttpHeaders hs = resp.headers();
- assertTrue("There should be more then 1 header.", hs.map().size() >1);
+ assertTrue("There should be more then 1 header.", hs.map().size() > 1);
}
-
+
@Test
public void postMehtod() throws URISyntaxException, IOException, InterruptedException {
HttpRequest.Builder requestBuilder = HttpRequest.create(httpURI);
@@ -66,61 +64,63 @@ public class SimpleHttpRequestsTest {
int statusCode = response.statusCode();
assertTrue("HTTP return code", statusCode == HTTP_OK);
}
-
+
@Test
- public void configureHttpClient() throws NoSuchAlgorithmException, URISyntaxException, IOException, InterruptedException{
+ public void configureHttpClient() throws NoSuchAlgorithmException, URISyntaxException, IOException, InterruptedException {
CookieManager cManager = new CookieManager();
cManager.setCookiePolicy(CookiePolicy.ACCEPT_ORIGINAL_SERVER);
-
- SSLParameters sslParam = new SSLParameters (new String[] { "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" }, new String[] { "TLSv1.2" });
-
+
+ SSLParameters sslParam = new SSLParameters(new String[] { "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" }, new String[] { "TLSv1.2" });
+
HttpClient.Builder hcBuilder = HttpClient.create();
hcBuilder.cookieManager(cManager).sslContext(SSLContext.getDefault()).sslParameters(sslParam);
HttpClient httpClient = hcBuilder.build();
HttpRequest.Builder reqBuilder = httpClient.request(new URI("https://www.facebook.com"));
-
+
HttpRequest request = reqBuilder.followRedirects(HttpClient.Redirect.ALWAYS).GET();
HttpResponse response = request.response();
int statusCode = response.statusCode();
assertTrue("HTTP return code", statusCode == HTTP_OK);
}
-
- SSLParameters getDefaultSSLParameters() throws NoSuchAlgorithmException{
+
+ SSLParameters getDefaultSSLParameters() throws NoSuchAlgorithmException {
SSLParameters sslP1 = SSLContext.getDefault().getSupportedSSLParameters();
- String [] proto = sslP1.getApplicationProtocols();
- String [] cifers = sslP1.getCipherSuites();
+ String[] proto = sslP1.getApplicationProtocols();
+ String[] cifers = sslP1.getCipherSuites();
System.out.println(printStringArr(proto));
System.out.println(printStringArr(cifers));
return sslP1;
}
-
- String printStringArr(String ... args ){
- if(args == null){
+
+ String printStringArr(String... args) {
+ if (args == null) {
return null;
}
StringBuilder sb = new StringBuilder();
- for (String s : args){
+ for (String s : args) {
sb.append(s);
sb.append("\n");
}
return sb.toString();
}
-
- String printHeaders(HttpHeaders h){
- if(h == null){
+
+ String printHeaders(HttpHeaders h) {
+ if (h == null) {
return null;
}
-
- StringBuilder sb = new StringBuilder();
- Map> hMap = h.map();
- for(String k : hMap.keySet()){
- sb.append(k).append(":");
- List l = hMap.get(k);
- if( l != null ){
- l.forEach( s -> { sb.append(s).append(","); } );
- }
- sb.append("\n");
- }
- return sb.toString();
+
+ StringBuilder sb = new StringBuilder();
+ Map> hMap = h.map();
+ for (String k : hMap.keySet()) {
+ sb.append(k).append(":");
+ List l = hMap.get(k);
+ if (l != null) {
+ l.forEach(s -> {
+ sb.append(s).append(",");
+ });
+ }
+ sb.append("\n");
+ }
+ return sb.toString();
}
}
diff --git a/core-java-9/src/test/java/com/baeldung/java9/language/TryWithResourcesTest.java b/core-java-9/src/test/java/com/baeldung/java9/language/TryWithResourcesTest.java
index 687dfbc390..6bec3125cc 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/language/TryWithResourcesTest.java
+++ b/core-java-9/src/test/java/com/baeldung/java9/language/TryWithResourcesTest.java
@@ -7,7 +7,7 @@ public class TryWithResourcesTest {
static int closeCount = 0;
- static class MyAutoCloseable implements AutoCloseable{
+ static class MyAutoCloseable implements AutoCloseable {
final FinalWrapper finalWrapper = new FinalWrapper();
public void close() {
@@ -57,7 +57,6 @@ public class TryWithResourcesTest {
assertEquals("Expected and Actual does not match", 5, closeCount);
}
-
static class CloseableException extends Exception implements AutoCloseable {
@Override
public void close() {
@@ -66,5 +65,3 @@ public class TryWithResourcesTest {
}
}
-
-
diff --git a/core-java-9/src/test/java/com/baeldung/java9/language/collections/ListFactoryMethodsTest.java b/core-java-9/src/test/java/com/baeldung/java9/language/collections/ListFactoryMethodsTest.java
new file mode 100644
index 0000000000..8e19d00b6a
--- /dev/null
+++ b/core-java-9/src/test/java/com/baeldung/java9/language/collections/ListFactoryMethodsTest.java
@@ -0,0 +1,61 @@
+package com.baeldung.java9.language.collections;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+public class ListFactoryMethodsTest {
+
+ @Test
+ public void whenListCreated_thenSuccess() {
+ List traditionlList = new ArrayList();
+ traditionlList.add("foo");
+ traditionlList.add("bar");
+ traditionlList.add("baz");
+ List factoryCreatedList = List.of("foo", "bar", "baz");
+ assertEquals(traditionlList, factoryCreatedList);
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public void onElemAdd_ifUnSupportedOpExpnThrown_thenSuccess() {
+ List list = List.of("foo", "bar");
+ list.add("baz");
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public void onElemModify_ifUnSupportedOpExpnThrown_thenSuccess() {
+ List list = List.of("foo", "bar");
+ list.set(0, "baz");
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public void onElemRemove_ifUnSupportedOpExpnThrown_thenSuccess() {
+ List list = List.of("foo", "bar");
+ list.remove("foo");
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void onNullElem_ifNullPtrExpnThrown_thenSuccess() {
+ List.of("foo", "bar", null);
+ }
+
+ @Test
+ public void ifNotArrayList_thenSuccess() {
+ List list = List.of("foo", "bar");
+ assertFalse(list instanceof ArrayList);
+ }
+
+ @Test
+ public void ifListSizeIsOne_thenSuccess() {
+ int[] arr = { 1, 2, 3, 4 };
+ List list = List.of(arr);
+ assertEquals(1, list.size());
+ assertArrayEquals(arr, list.get(0));
+ }
+
+}
diff --git a/core-java-9/src/test/java/com/baeldung/java9/language/collections/MapFactoryMethodsTest.java b/core-java-9/src/test/java/com/baeldung/java9/language/collections/MapFactoryMethodsTest.java
new file mode 100644
index 0000000000..13469ff93d
--- /dev/null
+++ b/core-java-9/src/test/java/com/baeldung/java9/language/collections/MapFactoryMethodsTest.java
@@ -0,0 +1,62 @@
+package com.baeldung.java9.language.collections;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+public class MapFactoryMethodsTest {
+
+ @Test
+ public void whenMapCreated_thenSuccess() {
+ Map traditionlMap = new HashMap();
+ traditionlMap.put("foo", "a");
+ traditionlMap.put("bar", "b");
+ traditionlMap.put("baz", "c");
+ Map factoryCreatedMap = Map.of("foo", "a", "bar", "b", "baz", "c");
+ assertEquals(traditionlMap, factoryCreatedMap);
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public void onElemAdd_ifUnSupportedOpExpnThrown_thenSuccess() {
+ Map map = Map.of("foo", "a", "bar", "b");
+ map.put("baz", "c");
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public void onElemModify_ifUnSupportedOpExpnThrown_thenSuccess() {
+ Map map = Map.of("foo", "a", "bar", "b");
+ map.put("foo", "c");
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public void onElemRemove_ifUnSupportedOpExpnThrown_thenSuccess() {
+ Map map = Map.of("foo", "a", "bar", "b");
+ map.remove("foo");
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void givenDuplicateKeys_ifIllegalArgExp_thenSuccess() {
+ Map.of("foo", "a", "foo", "b");
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void onNullKey_ifNullPtrExp_thenSuccess() {
+ Map.of("foo", "a", null, "b");
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void onNullValue_ifNullPtrExp_thenSuccess() {
+ Map.of("foo", "a", "bar", null);
+ }
+
+ @Test
+ public void ifNotHashMap_thenSuccess() {
+ Map map = Map.of("foo", "a", "bar", "b");
+ assertFalse(map instanceof HashMap);
+ }
+
+}
diff --git a/core-java-9/src/test/java/com/baeldung/java9/language/collections/SetFactoryMethodsTest.java b/core-java-9/src/test/java/com/baeldung/java9/language/collections/SetFactoryMethodsTest.java
new file mode 100644
index 0000000000..b8537d7c82
--- /dev/null
+++ b/core-java-9/src/test/java/com/baeldung/java9/language/collections/SetFactoryMethodsTest.java
@@ -0,0 +1,60 @@
+package com.baeldung.java9.language.collections;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+public class SetFactoryMethodsTest {
+
+ @Test
+ public void whenSetCreated_thenSuccess() {
+ Set traditionlSet = new HashSet();
+ traditionlSet.add("foo");
+ traditionlSet.add("bar");
+ traditionlSet.add("baz");
+ Set factoryCreatedSet = Set.of("foo", "bar", "baz");
+ assertEquals(traditionlSet, factoryCreatedSet);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void onDuplicateElem_IfIllegalArgExp_thenSuccess() {
+ Set.of("foo", "bar", "baz", "foo");
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public void onElemAdd_ifUnSupportedOpExpnThrown_thenSuccess() {
+ Set set = Set.of("foo", "bar");
+ set.add("baz");
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public void onElemRemove_ifUnSupportedOpExpnThrown_thenSuccess() {
+ Set set = Set.of("foo", "bar", "baz");
+ set.remove("foo");
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void onNullElem_ifNullPtrExpnThrown_thenSuccess() {
+ Set.of("foo", "bar", null);
+ }
+
+ @Test
+ public void ifNotHashSet_thenSuccess() {
+ Set list = Set.of("foo", "bar");
+ assertFalse(list instanceof HashSet);
+ }
+
+ @Test
+ public void ifSetSizeIsOne_thenSuccess() {
+ int[] arr = { 1, 2, 3, 4 };
+ Set set = Set.of(arr);
+ assertEquals(1, set.size());
+ assertArrayEquals(arr, set.iterator().next());
+ }
+
+}
diff --git a/core-java-9/src/test/java/com/baeldung/java9/language/stream/CollectorImprovementTest.java b/core-java-9/src/test/java/com/baeldung/java9/language/stream/CollectorImprovementTest.java
new file mode 100644
index 0000000000..ea76a76a5f
--- /dev/null
+++ b/core-java-9/src/test/java/com/baeldung/java9/language/stream/CollectorImprovementTest.java
@@ -0,0 +1,61 @@
+package com.baeldung.java9.language.stream;
+
+import org.junit.Test;
+
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.function.Function;
+
+import static org.junit.Assert.assertEquals;
+
+public class CollectorImprovementTest {
+ @Test
+ public void givenList_whenSatifyPredicate_thenMapValueWithOccurences() {
+ List numbers = List.of(1, 2, 3, 5, 5);
+
+ Map result = numbers.stream().filter(val -> val > 3).collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
+
+ assertEquals(1, result.size());
+
+ result = numbers.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.filtering(val -> val > 3, Collectors.counting())));
+
+ assertEquals(4, result.size());
+ }
+
+ @Test
+ public void givenListOfBlogs_whenAuthorName_thenMapAuthorWithComments() {
+ Blog blog1 = new Blog("1", "Nice", "Very Nice");
+ Blog blog2 = new Blog("2", "Disappointing", "Ok", "Could be better");
+ List blogs = List.of(blog1, blog2);
+
+ Map>> authorComments1 = blogs.stream().collect(Collectors.groupingBy(Blog::getAuthorName, Collectors.mapping(Blog::getComments, Collectors.toList())));
+
+ assertEquals(2, authorComments1.size());
+ assertEquals(2, authorComments1.get("1").get(0).size());
+ assertEquals(3, authorComments1.get("2").get(0).size());
+
+ Map> authorComments2 = blogs.stream().collect(Collectors.groupingBy(Blog::getAuthorName, Collectors.flatMapping(blog -> blog.getComments().stream(), Collectors.toList())));
+
+ assertEquals(2, authorComments2.size());
+ assertEquals(2, authorComments2.get("1").size());
+ assertEquals(3, authorComments2.get("2").size());
+ }
+}
+
+class Blog {
+ private String authorName;
+ private List comments;
+
+ public Blog(String authorName, String... comments) {
+ this.authorName = authorName;
+ this.comments = List.of(comments);
+ }
+
+ public String getAuthorName() {
+ return this.authorName;
+ }
+
+ public List getComments() {
+ return this.comments;
+ }
+}
diff --git a/core-java-9/src/test/java/com/baeldung/java9/language/stream/StreamFeaturesTest.java b/core-java-9/src/test/java/com/baeldung/java9/language/stream/StreamFeaturesTest.java
index a260e84164..72d17498a9 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/language/stream/StreamFeaturesTest.java
+++ b/core-java-9/src/test/java/com/baeldung/java9/language/stream/StreamFeaturesTest.java
@@ -17,16 +17,11 @@ public class StreamFeaturesTest {
public static class TakeAndDropWhileTest {
public Stream getStreamAfterTakeWhileOperation() {
- return Stream
- .iterate("", s -> s + "s")
- .takeWhile(s -> s.length() < 10);
+ return Stream.iterate("", s -> s + "s").takeWhile(s -> s.length() < 10);
}
public Stream getStreamAfterDropWhileOperation() {
- return Stream
- .iterate("", s -> s + "s")
- .takeWhile(s -> s.length() < 10)
- .dropWhile(s -> !s.contains("sssss"));
+ return Stream.iterate("", s -> s + "s").takeWhile(s -> s.length() < 10).dropWhile(s -> !s.contains("sssss"));
}
@Test
@@ -72,25 +67,25 @@ public class StreamFeaturesTest {
}
- public static class OfNullableTest {
+ public static class OfNullableTest {
private List collection = Arrays.asList("A", "B", "C");
- private Map map = new HashMap<>() {{
- put("A", 10);
- put("C", 30);
- }};
+ private Map map = new HashMap<>() {
+ {
+ put("A", 10);
+ put("C", 30);
+ }
+ };
private Stream getStreamWithOfNullable() {
- return collection.stream()
- .flatMap(s -> Stream.ofNullable(map.get(s)));
+ return collection.stream().flatMap(s -> Stream.ofNullable(map.get(s)));
}
private Stream getStream() {
- return collection.stream()
- .flatMap(s -> {
- Integer temp = map.get(s);
- return temp != null ? Stream.of(temp) : Stream.empty();
- });
+ return collection.stream().flatMap(s -> {
+ Integer temp = map.get(s);
+ return temp != null ? Stream.of(temp) : Stream.empty();
+ });
}
private List testOfNullableFrom(Stream stream) {
@@ -107,10 +102,7 @@ public class StreamFeaturesTest {
@Test
public void testOfNullable() {
- assertEquals(
- testOfNullableFrom(getStream()),
- testOfNullableFrom(getStreamWithOfNullable())
- );
+ assertEquals(testOfNullableFrom(getStream()), testOfNullableFrom(getStreamWithOfNullable()));
}
diff --git a/core-java-9/src/test/java/com/baeldung/java9/process/ProcessApi.java b/core-java-9/src/test/java/com/baeldung/java9/process/ProcessApi.java
index 419516cb64..9c9951bc54 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/process/ProcessApi.java
+++ b/core-java-9/src/test/java/com/baeldung/java9/process/ProcessApi.java
@@ -22,90 +22,89 @@ import static org.junit.Assert.assertTrue;
public class ProcessApi {
-
@Before
public void init() {
}
@Test
- public void processInfoExample()throws NoSuchAlgorithmException{
+ public void processInfoExample() throws NoSuchAlgorithmException {
ProcessHandle self = ProcessHandle.current();
long PID = self.getPid();
ProcessHandle.Info procInfo = self.info();
Optional args = procInfo.arguments();
- Optional cmd = procInfo.commandLine();
+ Optional cmd = procInfo.commandLine();
Optional startTime = procInfo.startInstant();
Optional cpuUsage = procInfo.totalCpuDuration();
waistCPU();
- System.out.println("Args "+ args);
- System.out.println("Command " +cmd.orElse("EmptyCmd"));
- System.out.println("Start time: "+ startTime.get().toString());
+ System.out.println("Args " + args);
+ System.out.println("Command " + cmd.orElse("EmptyCmd"));
+ System.out.println("Start time: " + startTime.get().toString());
System.out.println(cpuUsage.get().toMillis());
-
+
Stream