Android Open Source - android-weblogic-monitor Web Logic H T T P Rest Adapter






From Project

Back to project page android-weblogic-monitor.

License

The source code is released under:

GNU General Public License

If you think the Android project android-weblogic-monitor listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * *************************************************************************
 *//from w ww.j  a va 2  s .  com
 * Copyright (c) 2013 - Jeffrey A. West Designs
 *
 * This code is provided for example purposes only.  Neither Oracle nor
 * Jeffrey A. West assume any responsibility or liability for the consequences
 *  of using this code. If you choose to use this code for any reason,
 * including but not limited to its use as an example you do so at your own
 * risk and without the support of Oracle.
 *
 * This code is provided under the following licenses:
 *  - GNU General Public License (GPL-2.0)
 *
 * **************************************************************************
 */

package com.jeffreyawest.weblogic.rest;

import android.util.Log;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.jeffreyawest.http.HTTPAdapter;
import com.jeffreyawest.http.HTTPAdapterImpl;
import com.jeffreyawest.weblogic.entity.WebLogicEntity;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by jeffreyawest on 8/9/13.
 */
public class WebLogicHTTPRestAdapter extends WebLogicRestAdapter
{

  private static final String LOG_TAG = "WebLogicRestAdapter";

  private String baseURL;
  private String username;
  private String password;
  private boolean fullQuery = false;

  private HTTPAdapter httpAdapter;

  protected WebLogicHTTPRestAdapter()
  {

  }

  protected void init(String host, int port, String username, String password)
  {

    httpAdapter = new HTTPAdapterImpl();
    this.username = username;
    this.password = password;
    baseURL = "http://" + host + ":" + port + "/management/tenant-monitoring";

    Log.v(LOG_TAG, "Initializing WebLogicRestAdapter: host=" + host + " port=" + port + " user=" + username);
    Log.v(LOG_TAG, "Initializing WebLogicRestAdapter: Base URL: " + baseURL);
  }

  @Override
  public <T extends WebLogicEntity> List<T> getResourcesList(Class<T> theClass)
  {

    Log.v(LOG_TAG, "Getting Resource Summary for class: " + theClass);
    String url = getSummaryURL(theClass.getSimpleName().toLowerCase());
    Log.v(LOG_TAG, "Getting Resource Summary from URL: " + url);

    List<T> returnMe = new ArrayList<T>();

    String json = httpAdapter.GET(url, username, password, "json", null);

    JSONObject jsonMessage = null;
    ObjectMapper om = new ObjectMapper();

    try
    {
      jsonMessage = new JSONObject(json);

      Log.v(LOG_TAG, "Class: " + theClass + " JSON: " + jsonMessage.toString(2));

      JSONArray array = jsonMessage.getJSONObject("body").getJSONArray("items");

      for (int i = 0; i < array.length(); i++)
      {
        T theType = om.readValue(array.getString(i), theClass);
        theType.setOriginalJSON(jsonMessage.toString(2));
        returnMe.add(theType);
      }
    } catch (JSONException e)
    {
      e.printStackTrace();
    } catch (Exception e)
    {
      e.printStackTrace();
    }

    return returnMe;
  }

  @Override
  public <T extends WebLogicEntity> T getResource(Class<T> theClass, String pName)
  {

    String url = getResourceURL(theClass.getSimpleName(), pName);
    Log.v(LOG_TAG, "Getting Resource from URL: " + url);

    String json = httpAdapter.GET(url, username, password, "json", null);
    JSONObject jsonMessage = null;

    T theType = null;

    try
    {
      jsonMessage = new JSONObject(json);
      Log.v(LOG_TAG, "Class: " + theClass + " JSON: " + jsonMessage.toString(2));

      String tmpStr = jsonMessage.getJSONObject("body").getString("item");

      ObjectMapper om = new ObjectMapper();
      theType = om.readValue(tmpStr, theClass);
      theType.setOriginalJSON(jsonMessage.toString(2));
    } catch (JSONException e)
    {
      e.printStackTrace();
    } catch (Exception e)
    {
      e.printStackTrace();
    }

    return theType;
  }

  private String getSummaryURL(String pEntityName)
  {

    Log.v(LOG_TAG, "getSummaryURL base=[" + pEntityName + "] entityName=[:" + pEntityName + "]");

    StringBuilder url = new StringBuilder(baseURL).append('/').append(pEntityName);

    if (!pEntityName.endsWith("s"))
    {
      url.append('s');
    }

    if (fullQuery)
    {
      url.append("?full");
    }

    return url.toString();
  }

  private String getResourceURL(String pEntityName, String pResourceName)
  {

    Log.v(LOG_TAG, "getResourceURL base=[" + pEntityName
        + "] entityName=[:" + pEntityName
        + "] + resourceName=[" + pResourceName
        + "]");

    StringBuilder url = new StringBuilder(baseURL).append('/').
        append(pEntityName.toLowerCase()).append('s')
        .append('/').append(pResourceName);

    if (fullQuery)
    {
      url.append("?format=full");
    }

    return url.toString();
  }
}




Java Source Code List

com.jeffreyawest.http.HTTPAdapterImpl.java
com.jeffreyawest.http.HTTPAdapter.java
com.jeffreyawest.weblogic.entity.ApplicationDatasource.java
com.jeffreyawest.weblogic.entity.ApplicationTargetState.java
com.jeffreyawest.weblogic.entity.Application.java
com.jeffreyawest.weblogic.entity.ClusterServer.java
com.jeffreyawest.weblogic.entity.Cluster.java
com.jeffreyawest.weblogic.entity.DatasourceInstance.java
com.jeffreyawest.weblogic.entity.Datasource.java
com.jeffreyawest.weblogic.entity.MaxThreadsConstraint.java
com.jeffreyawest.weblogic.entity.MinThreadsConstraint.java
com.jeffreyawest.weblogic.entity.RacInstance.java
com.jeffreyawest.weblogic.entity.RequestClass.java
com.jeffreyawest.weblogic.entity.Server.java
com.jeffreyawest.weblogic.entity.WebLogicEntity.java
com.jeffreyawest.weblogic.entity.WorkManager.java
com.jeffreyawest.weblogic.entity.enums.ApplicationHealth.java
com.jeffreyawest.weblogic.entity.enums.ApplicationState.java
com.jeffreyawest.weblogic.entity.enums.ApplicationType.java
com.jeffreyawest.weblogic.entity.enums.DatasourceInstanceState.java
com.jeffreyawest.weblogic.entity.enums.DatasourceType.java
com.jeffreyawest.weblogic.entity.enums.ServerHealth.java
com.jeffreyawest.weblogic.entity.enums.ServerState.java
com.jeffreyawest.weblogic.entity.enums.TargetState.java
com.jeffreyawest.weblogic.monitor.Constants.java
com.jeffreyawest.weblogic.monitor.WebLogicMonitor.java
com.jeffreyawest.weblogic.monitor.activity.EndpointEntryActivity.java
com.jeffreyawest.weblogic.monitor.activity.MainActivity.java
com.jeffreyawest.weblogic.monitor.activity.display.DisplayApplicationActivity.java
com.jeffreyawest.weblogic.monitor.activity.display.DisplayClusterActivity.java
com.jeffreyawest.weblogic.monitor.activity.display.DisplayDatasourceActivity.java
com.jeffreyawest.weblogic.monitor.activity.display.DisplayEntityActivity.java
com.jeffreyawest.weblogic.monitor.activity.display.DisplayServerActivity.java
com.jeffreyawest.weblogic.monitor.activity.display.fragment.ServerDetailsFragment.java
com.jeffreyawest.weblogic.monitor.activity.list.ListApplicationsActivity.java
com.jeffreyawest.weblogic.monitor.activity.list.ListClustersActivity.java
com.jeffreyawest.weblogic.monitor.activity.list.ListDatasourcesActivity.java
com.jeffreyawest.weblogic.monitor.activity.list.ListDomainEntitiesActivity.java
com.jeffreyawest.weblogic.monitor.activity.list.ListEntityActivity.java
com.jeffreyawest.weblogic.monitor.activity.list.ListServersActivity.java
com.jeffreyawest.weblogic.monitor.activity.list.adapter.ApplicationListAdapter.java
com.jeffreyawest.weblogic.monitor.activity.list.adapter.ClusterListAdapter.java
com.jeffreyawest.weblogic.monitor.activity.list.adapter.DatasourceListAdapter.java
com.jeffreyawest.weblogic.monitor.activity.list.adapter.DomainEntityListAdapter.java
com.jeffreyawest.weblogic.monitor.activity.list.adapter.ServerListAdapter.java
com.jeffreyawest.weblogic.monitor.charting.ApplicationTargetStatePieChart.java
com.jeffreyawest.weblogic.monitor.charting.Charting.java
com.jeffreyawest.weblogic.monitor.charting.ClusterServerHealthPieChart.java
com.jeffreyawest.weblogic.monitor.charting.ClusterServerStatePieChart.java
com.jeffreyawest.weblogic.monitor.charting.DatasourceInstancePieChart.java
com.jeffreyawest.weblogic.monitor.charting.DefaultPieChart.java
com.jeffreyawest.weblogic.monitor.charting.JVMCPUPieChart.java
com.jeffreyawest.weblogic.monitor.charting.JVMHeapPieChart.java
com.jeffreyawest.weblogic.monitor.task.RetrieveWebLogicEntityTask.java
com.jeffreyawest.weblogic.rest.WebLogicDemoRestAdapter.java
com.jeffreyawest.weblogic.rest.WebLogicHTTPRestAdapter.java
com.jeffreyawest.weblogic.rest.WebLogicRestAdapter.java