Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Schwarz2014-06-11 05:41:26 +0000
committerTobias Schwarz2014-06-11 05:42:01 +0000
commit2bace60b015cb7dc35caa255a84abd89f87773c2 (patch)
treec6c8b57c5f9467105f39e68f73eece19cf41c61a /target_explorer
parent3e83e827a01c97ce7ebe9ea18ed353eaae950297 (diff)
downloadorg.eclipse.tcf-2bace60b015cb7dc35caa255a84abd89f87773c2.tar.gz
org.eclipse.tcf-2bace60b015cb7dc35caa255a84abd89f87773c2.tar.xz
org.eclipse.tcf-2bace60b015cb7dc35caa255a84abd89f87773c2.zip
Target Explorer: add encode/decode for list of peers
Diffstat (limited to 'target_explorer')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/utils/PeerDataHelper.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/utils/PeerDataHelper.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/utils/PeerDataHelper.java
index dc73b0305..549998994 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/utils/PeerDataHelper.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/utils/PeerDataHelper.java
@@ -63,4 +63,45 @@ public class PeerDataHelper {
}
return new IPeerNode[0];
}
+
+ /**
+ * Encode an array of peers to a string.
+ * @param contexts The array of peers.
+ * @return String representing the array of peers.
+ */
+ public static final String encodePeerList(IPeer[] contexts) {
+ try {
+ if (contexts != null && contexts.length > 0) {
+ IPersistenceDelegate delegate = PersistenceManager.getInstance().getDelegate(IPeer.class, String.class);
+ return (String)delegate.writeList(contexts, String.class);
+ }
+ }
+ catch (Exception e) {
+ }
+ return null;
+ }
+
+ /**
+ * Decode a string encoded array of peers.
+ * @param encoded The string encoded peers.
+ * @return Array of peers.
+ */
+ public static final IPeer[] decodePeerList(String encoded) {
+ try {
+ if (encoded != null && encoded.trim().length() > 0) {
+ IPersistenceDelegate delegate = PersistenceManager.getInstance().getDelegate(IPeer.class, String.class);
+ Object[] input = delegate.readList(IPeer.class, encoded);
+ List<IPeer> peers = new ArrayList<IPeer>();
+ for (Object object : input) {
+ if (object instanceof IPeer) {
+ peers.add((IPeer)object);
+ }
+ }
+ return peers.toArray(new IPeer[peers.size()]);
+ }
+ }
+ catch (Exception e) {
+ }
+ return new IPeer[0];
+ }
}

Back to the top