Search in sources :

Example 1 with DbInfo

use of com.centurylink.mdw.designer.model.DbInfo in project mdw-designer by CenturyLinkCloud.

the class WorkflowProject method retrieveRemoteAppSummary.

public void retrieveRemoteAppSummary(final boolean errorDialogOnFailure) {
    Runnable runnable = new Runnable() {

        public void run() {
            // bypass designer proxy to delay lazy loading if project hasn't
            // been opened
            HttpHelper httpHelper;
            String url = getAppSummaryUrl() + "/Services/AppSummary?format=json";
            try {
                httpHelper = new HttpHelper(new URL(url));
                httpHelper.setConnectTimeout(MdwPlugin.getSettings().getHttpConnectTimeout());
                httpHelper.setReadTimeout(MdwPlugin.getSettings().getHttpReadTimeout());
                remoteAppSummary = new AppSummary(new JSONObject(httpHelper.get()));
            } catch (JSONException ex) {
                try {
                    url = getAppSummaryUrl() + "/Services/GetAppSummary";
                    httpHelper = new HttpHelper(new URL(url));
                    httpHelper.setConnectTimeout(MdwPlugin.getSettings().getHttpConnectTimeout());
                    httpHelper.setReadTimeout(MdwPlugin.getSettings().getHttpReadTimeout());
                    String response = httpHelper.get();
                    if (response != null && (response.trim().startsWith("<xs:MDWStatusMessage") || response.trim().startsWith("<bpm:MDWStatusMessage"))) {
                        MDWStatusMessageDocument msgDoc = MDWStatusMessageDocument.Factory.parse(response, Compatibility.namespaceOptions());
                        throw new IOException("Server error: " + msgDoc.getMDWStatusMessage().getStatusMessage());
                    }
                    ApplicationSummary docAppSummary = ApplicationSummaryDocument.Factory.parse(response, Compatibility.namespaceOptions()).getApplicationSummary();
                    remoteAppSummary = new AppSummary();
                    remoteAppSummary.setAppId(docAppSummary.getApplicationName());
                    remoteAppSummary.setMdwVersion(docAppSummary.getMdwVersion());
                    remoteAppSummary.setMdwBuild(docAppSummary.getBuild());
                    remoteAppSummary.setMdwHubUrl(docAppSummary.getMdwHubUrl());
                    remoteAppSummary.setServicesUrl(docAppSummary.getServicesUrl());
                    if (docAppSummary.getRepository() != null) {
                        Repository repo = new Repository();
                        remoteAppSummary.setRepository(repo);
                        repo.setBranch(docAppSummary.getRepository().getBranch());
                        repo.setCommit(docAppSummary.getRepository().getCommit());
                        repo.setProvider(docAppSummary.getRepository().getProvider());
                        repo.setUrl(docAppSummary.getRepository().getUrl());
                    }
                    DbInfo dbInfo = new DbInfo();
                    remoteAppSummary.setDbInfo(dbInfo);
                    dbInfo.setJdbcUrl(docAppSummary.getDbInfo().getJdbcUrl());
                    dbInfo.setUser(docAppSummary.getDbInfo().getUser());
                } catch (IOException e) {
                    PluginMessages.log(ex);
                    if (errorDialogOnFailure)
                        MessageDialog.openError(MdwPlugin.getShell(), "Authentication", "Server appears to be offline: " + e.getMessage());
                } catch (Exception e) {
                    PluginMessages.log(e);
                    if (errorDialogOnFailure)
                        PluginMessages.uiError(e, "Remote App Summary", WorkflowProject.this);
                }
            } catch (IOException ex) {
                PluginMessages.log(ex);
                if (errorDialogOnFailure)
                    MessageDialog.openError(MdwPlugin.getShell(), "Authentication", "Server appears to be offline: " + ex.getMessage());
            } catch (Exception ex) {
                PluginMessages.log(ex);
                if (errorDialogOnFailure)
                    PluginMessages.uiError(ex, "Remote App Summary", WorkflowProject.this);
            }
        }
    };
    if (MdwPlugin.isUiThread())
        BusyIndicator.showWhile(MdwPlugin.getDisplay(), runnable);
    else
        runnable.run();
}
Also used : JSONException(org.json.JSONException) IOException(java.io.IOException) ApplicationSummary(com.centurylink.mdw.service.ApplicationSummaryDocument.ApplicationSummary) URL(java.net.URL) CoreException(org.eclipse.core.runtime.CoreException) JSONException(org.json.JSONException) GeneralSecurityException(java.security.GeneralSecurityException) IOException(java.io.IOException) MdwSecurityException(com.centurylink.mdw.auth.MdwSecurityException) MalformedURLException(java.net.MalformedURLException) Repository(com.centurylink.mdw.designer.model.Repository) JSONObject(org.json.JSONObject) MDWStatusMessageDocument(com.centurylink.mdw.bpm.MDWStatusMessageDocument) AppSummary(com.centurylink.mdw.designer.model.AppSummary) DesignerHttpHelper(com.centurylink.mdw.designer.utils.DesignerHttpHelper) HttpHelper(com.centurylink.mdw.common.utilities.HttpHelper) DbInfo(com.centurylink.mdw.designer.model.DbInfo)

Aggregations

MdwSecurityException (com.centurylink.mdw.auth.MdwSecurityException)1 MDWStatusMessageDocument (com.centurylink.mdw.bpm.MDWStatusMessageDocument)1 HttpHelper (com.centurylink.mdw.common.utilities.HttpHelper)1 AppSummary (com.centurylink.mdw.designer.model.AppSummary)1 DbInfo (com.centurylink.mdw.designer.model.DbInfo)1 Repository (com.centurylink.mdw.designer.model.Repository)1 DesignerHttpHelper (com.centurylink.mdw.designer.utils.DesignerHttpHelper)1 ApplicationSummary (com.centurylink.mdw.service.ApplicationSummaryDocument.ApplicationSummary)1 IOException (java.io.IOException)1 MalformedURLException (java.net.MalformedURLException)1 URL (java.net.URL)1 GeneralSecurityException (java.security.GeneralSecurityException)1 CoreException (org.eclipse.core.runtime.CoreException)1 JSONException (org.json.JSONException)1 JSONObject (org.json.JSONObject)1