package client; import java.net.HttpURLConnection; import java.net.InetSocketAddress; import java.net.MalformedURLException; import java.net.Proxy; import java.net.URLDecoder; import java.net.URLEncoder; import java.io.InputStream; import java.io.OutputStream; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.UnsupportedEncodingException; import java.io.IOException; import java.io.File; import java.io.FileInputStream; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Collections; import java.security.PrivateKey; import java.security.KeyFactory; import utils.JamConfig; import utils.JamNetworkManager; import utils.JamNetworkParam; import utils.JamNetworkUrl; import utils.JamTokenManager; import sync.JamSyncGroupContents; import sync.JamSyncGroupMembership; import sync.JamSyncGroupQIDs; import sync.JamSyncGroupMembers; import java.security.PublicKey; import java.security.Signature; import java.security.NoSuchAlgorithmException; import java.security.InvalidKeyException; import java.security.cert.Certificate; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import java.security.interfaces.RSAPrivateCrtKey; import java.security.interfaces.RSAPublicKey; import java.security.spec.InvalidKeySpecException; import java.security.spec.PKCS8EncodedKeySpec; import java.io.ByteArrayInputStream; import javax.crypto.Cipher; import com.sap.jam.api.security.SignatureUtil; import org.json.JSONArray; import org.json.JSONObject; public class SyncClient { public SyncClient() { } // Run the test client to sync from one Jam instance to the next // Only Contents, Forums, and Group Followers are synced up public void Run() { try { // Load Configuration file JamConfig.getInstance().load("config.json"); final JamConfig.ConfigInfo fromConfig = JamConfig.getInstance().getFromConfig(); // For each group, get list of member and add them to cache for (final String fromGroupUUID : fromConfig.groupList) { System.out.println("\n\n**************************************************************************************************"); System.out.println("[TESTCLIENT] Start Syncing Group : " + fromGroupUUID); System.out.println("**************************************************************************************************"); // Sync groups and members info from Source Instance final JamSyncGroupMembers syncMembers = new JamSyncGroupMembers(); syncMembers.sync(fromGroupUUID); // Sync group members (invite member and accept invite) to Destination Instance final JamSyncGroupMembership syncGroupMembership = new JamSyncGroupMembership(); syncGroupMembership.sync(fromGroupUUID); final JamSyncGroupContents syncContents = new JamSyncGroupContents(); syncContents.sync(fromGroupUUID); // Sync Forums QID final JamSyncGroupQIDs syncQIDs = new JamSyncGroupQIDs(); syncQIDs.sync(fromGroupUUID); System.out.println("**************************************************************************************************"); System.out.println("[TESTCLIENT] Finished Syncing Group : " + fromGroupUUID); System.out.println("**************************************************************************************************\n"); } // Sync Followers from a group } catch (final Exception e) { System.out.println("\nTest Client experience a failure with error: " + e.toString()); } } }