use of org.cytoscape.app.internal.net.WebApp in project cytoscape-impl by cytoscape.
the class InstallAppsPanel method fillResultsTree.
private void fillResultsTree(Set<WebApp> webApps) {
if (webApps == null) {
resultsTree.setModel(new DefaultTreeModel(null));
resultsTreeApps = new HashSet<WebApp>();
return;
}
appManager.getWebQuerier().checkWebAppInstallStatus(webApps, appManager);
List<WebApp> sortedApps = new LinkedList<WebApp>(webApps);
// Sort apps by alphabetical order
Collections.sort(sortedApps, new Comparator<WebApp>() {
@Override
public int compare(WebApp webApp, WebApp other) {
return (webApp.getName().compareToIgnoreCase(other.getName()));
}
});
DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
DefaultMutableTreeNode treeNode;
for (WebApp webApp : sortedApps) {
if (webApp.getCorrespondingApp() != null && webApp.getCorrespondingApp().getStatus() == AppStatus.INSTALLED) {
webApp.setAppListDisplayName(webApp.getFullName() + " (Installed)");
} else {
webApp.setAppListDisplayName(webApp.getFullName());
}
treeNode = new DefaultMutableTreeNode(webApp);
root.add(treeNode);
}
resultsTree.setModel(new DefaultTreeModel(root));
resultsTreeApps = new HashSet<WebApp>(webApps);
}
use of org.cytoscape.app.internal.net.WebApp in project cytoscape-impl by cytoscape.
the class InstallAppsPanel method buildTagsTree.
private void buildTagsTree() {
WebQuerier webQuerier = appManager.getWebQuerier();
// Get all available apps and tags
Set<WebApp> availableApps = webQuerier.getAllApps();
Set<WebQuerier.AppTag> availableTags = webQuerier.getAllTags();
if (availableApps == null || availableTags == null)
return;
List<WebQuerier.AppTag> sortedTags = new LinkedList<WebQuerier.AppTag>(availableTags);
Collections.sort(sortedTags, new Comparator<WebQuerier.AppTag>() {
@Override
public int compare(AppTag tag, AppTag other) {
return other.getCount() - tag.getCount();
}
});
DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
DefaultMutableTreeNode allAppsTreeNode = new DefaultMutableTreeNode("all apps" + " (" + availableApps.size() + ")");
root.add(allAppsTreeNode);
DefaultMutableTreeNode collectionsTreeNode = new DefaultMutableTreeNode("collections (0)");
DefaultMutableTreeNode appsByTagTreeNode = new DefaultMutableTreeNode("apps by tag");
for (final WebQuerier.AppTag appTag : sortedTags) {
if (appTag.getName().equals("collections"))
collectionsTreeNode.setUserObject(appTag);
else
appsByTagTreeNode.add(new DefaultMutableTreeNode(appTag));
}
root.add(collectionsTreeNode);
root.add(appsByTagTreeNode);
tagsTree.setModel(new DefaultTreeModel(root));
// tagsTree.expandRow(2);
currentSelectedAppTag = null;
hasTagTreeBeenPopulated = true;
}
use of org.cytoscape.app.internal.net.WebApp in project cytoscape-impl by cytoscape.
the class CheckForUpdatesPanel method checkUpdates.
private void checkUpdates() {
final Set<App> appsToCheckUpdates = appManager.getInstalledApps();
taskManager.execute(new TaskIterator(new Task() {
@Override
public void run(TaskMonitor taskMonitor) throws Exception {
taskMonitor.setTitle("Checking for updates");
WebQuerier webQuerier = appManager.getWebQuerier();
String siteName, siteUrl;
double progress = 0.0;
// Obtain apps listing from each site if not done so
for (DownloadSite downloadSite : downloadSitesManager.getDownloadSites()) {
siteName = downloadSite.getSiteName();
siteUrl = downloadSite.getSiteUrl();
taskMonitor.setStatusMessage("Obtaining apps listing from " + siteName + "(" + siteUrl + ") ...");
taskMonitor.setProgress(progress);
progress += 1.0 / (downloadSitesManager.getDownloadSites().size() + 1);
webQuerier.setCurrentAppStoreUrl(siteUrl);
Set<WebApp> webApps = webQuerier.getAllApps();
}
taskMonitor.setStatusMessage("Reading listings for new versions");
// We're 98% done.
taskMonitor.setProgress(0.98);
updateManager.checkForUpdates(appsToCheckUpdates);
}
@Override
public void cancel() {
// TODO Auto-generated method stub
}
}));
}
use of org.cytoscape.app.internal.net.WebApp in project cytoscape-impl by cytoscape.
the class InstallUpdatesTask method run.
@Override
public void run(TaskMonitor taskMonitor) throws Exception {
taskMonitor.setTitle("Install Updates");
taskMonitor.setTitle("");
List<WebApp> webApps = new ArrayList<WebApp>();
for (Update update : updates) {
webApps.add(update.getWebApp());
}
insertTasksAfterCurrentTask(new InstallAppsFromWebAppTask(webApps, appManager, false));
}
use of org.cytoscape.app.internal.net.WebApp in project cytoscape-impl by cytoscape.
the class ListAvailableTask method getResults.
@SuppressWarnings({ "unchecked" })
@Override
public <R> R getResults(Class<? extends R> type) {
if (type.equals(JSONResult.class)) {
JSONResult res = () -> {
StringBuilder stringBuilder = new StringBuilder("[");
int count = webAppList.size();
int index = 0;
for (WebApp app : webAppList) {
stringBuilder.append("{\"appName\": \"" + app.getName() + "\",");
stringBuilder.append("\"description\": " + Utils.quote(app.getDescription()) + ",");
if (app.getDetails() != null)
stringBuilder.append("\"details\": " + Utils.quote(app.getDetails()) + "}");
else
stringBuilder.append("\"details\": \"\"}");
index++;
if (index < count)
stringBuilder.append(",");
}
stringBuilder.append("]");
// System.out.println(stringBuilder.toString());
return stringBuilder.toString();
};
return (R) res;
} else if (type.equals(String.class)) {
List<String> appList = new ArrayList<String>(webAppList.size());
Map<String, WebApp> appMap = new HashMap<String, WebApp>();
for (WebApp app : webAppList) {
appList.add(app.getFullName().toLowerCase());
appMap.put(app.getFullName().toLowerCase(), app);
}
Collections.sort(appList);
String list = "";
for (String app : appList) {
WebApp thisApp = appMap.get(app);
list += "name: " + thisApp.getFullName() + ", version: " + getVersion(thisApp) + "\n";
}
return (R) list;
} else if (type.equals(List.class)) {
List<String> list = new ArrayList<>();
for (WebApp app : webAppList) {
list.add(app.getFullName());
}
return (R) list;
}
return null;
}
Aggregations