+ }
+
+
+ public static void syncUpdates(String localDir, BioJSRepositoryPojo repo)
+ {
+ for (BioJSReleasePojo bjsRelease : repo.getReleases())
+ {
+ String releaseUrl = bjsRelease.getUrl();
+ String releaseVersion = bjsRelease.getVersion();
+ String releaseFile = "BioJsMSA_" + releaseVersion + ".txt";
+ if (releaseVersion.equals(repo.getLatestReleaseVersion()))
+ {
+ releaseFile = "Latest_BioJsMSA_" + releaseVersion + ".txt";
+ }
+
+ File biojsDirectory = new File(BJS_TEMPLATES_LOCAL_DIRECTORY);
+ if (!biojsDirectory.exists())
+ {
+ if (!biojsDirectory.mkdirs())
+ {
+ System.out.println("Couldn't create local directory : "
+ + BJS_TEMPLATES_LOCAL_DIRECTORY);
+ return;
+ }
+ }
+
+ File file = new File(BJS_TEMPLATES_LOCAL_DIRECTORY + releaseFile);
+ if (!file.exists())
+ {
+
+ PrintWriter out = null;
+ try
+ {
+ out = new java.io.PrintWriter(new java.io.FileWriter(file));
+ out.print(getURLContentAsString(releaseUrl));
+ } catch (IOException e)
+ {
+ e.printStackTrace();
+ } finally
+ {
+ if (out != null)
+ {
+ out.flush();
+ out.close();
+ }
+ }
+ }
+ }
+
+ }
+
+ public static String getURLContentAsString(String url)
+ throws OutOfMemoryError
+ {
+ StringBuilder responseStrBuilder = null;
+ InputStream is = null;
+ try
+ {
+ URL resourceUrl = new URL(url);
+ is = new BufferedInputStream(resourceUrl.openStream());
+ BufferedReader br = new BufferedReader(new InputStreamReader(is));
+ responseStrBuilder = new StringBuilder();
+ String lineContent;
+
+ while ((lineContent = br.readLine()) != null)
+ {
+ responseStrBuilder.append(lineContent).append("\n");
+ }
+ } catch (OutOfMemoryError er)
+ {
+ er.printStackTrace();
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ } finally
+ {
+ if (is != null)
+ {
+ try
+ {
+ is.close();
+ } catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+ return responseStrBuilder == null ? null : responseStrBuilder
+ .toString();
+ }