Android Open Source - android-weblogic-monitor List Entity Activity






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  .jav  a  2  s  .  co  m*/
 * 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.monitor.activity.list;

/*
 * Created by jeffreyawest
 */

import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import com.jeffreyawest.weblogic.entity.WebLogicEntity;
import com.jeffreyawest.weblogic.monitor.Constants;
import com.jeffreyawest.weblogic.monitor.R;
import com.jeffreyawest.weblogic.rest.WebLogicHTTPRestAdapter;

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

public abstract class ListEntityActivity<T extends WebLogicEntity>
    extends ListActivity
{

  private static final String LOG_TAG = "ListEntityActivity<T>";

  protected List<T> entities;
  protected ArrayAdapter<T> arrayAdapter;

  @Override
  public void onListItemClick(ListView l, View v, int position, long id)
  {

    super.onListItemClick(l, v, position, id);

    TextView tv = (TextView) v.findViewById(R.id.entity_name);

    Log.v(LOG_TAG, "onListItemClick: view=" + v + " label=[" + tv.getText().toString() + "]");

    String className = "com.jeffreyawest.weblogic.monitor.activity.display.Display" + getEntityClass().getSimpleName() + "Activity";

    try
    {
      Intent intent = new Intent(this, Class.forName(className));
      intent.putExtra(Constants.ENTITY_NAME, tv.getText().toString());
      startActivity(intent);
    } catch (ClassNotFoundException e)
    {
      e.printStackTrace();
    }
  }

  protected abstract Class<T> getEntityClass();

  @Override
  public void onCreate(Bundle savedInstanceState)
  {

    super.onCreate(savedInstanceState);

    entities = new ArrayList<T>(17);

    Log.v(LOG_TAG, "OnCreate - entityClass=" + getEntityClass());

    try
    {
      Class.forName("android.os.AsyncTask");
    } catch (ClassNotFoundException e)
    {
      e.printStackTrace();
    }

    new RetrieveEntitySummaryTask<T>(ListEntityActivity.this).execute(getEntityClass());
  }

  public final void updateDisplay(List<T> list)
  {

    Log.v(LOG_TAG, "updateDisplay: " + list.size() + " elements:" + list.size());

    entities.clear();
    entities.addAll(list);
    arrayAdapter.notifyDataSetChanged();
  }

  protected class RetrieveEntitySummaryTask<T extends WebLogicEntity> extends AsyncTask<Class<T>, Integer, List<T>>
  {

    public static final String LOG_TAG = "RetrieveEntitySummaryTask";
    private ProgressDialog progressDialog;
    private Class<T> theClass;
    private ListEntityActivity<T> activity;

    public RetrieveEntitySummaryTask(ListEntityActivity<T> activity)
    {

      this.activity = activity;
      theClass = activity.getEntityClass();

      progressDialog = new ProgressDialog(ListEntityActivity.this);
      progressDialog.setCancelable(true);
      progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
      progressDialog.setMax(100);
      progressDialog.setProgress(0);
      progressDialog.show();

      String message = "Retrieving " + theClass.getSimpleName() + "s...";
      progressDialog.setMessage(message);
    }

    @Override
    protected List<T> doInBackground(Class<T>... classes)
    {

      Log.v(LOG_TAG, "doInBackground: Updating " + classes[0] + "...");

      theClass = classes[0];
      publishProgress(50);

      return WebLogicHTTPRestAdapter.getInstance().getResourcesList(classes[0]);
    }

    @Override
    protected void onProgressUpdate(Integer... progress)
    {

      progressDialog.setProgress(progress[0]);
    }

    @Override
    protected void onPostExecute(List<T> ts)
    {

      super.onPostExecute(ts);
      publishProgress(100);
      Log.v(LOG_TAG, "onPostExecute: Result: " + ts.toString());
      activity.updateDisplay(ts);
      progressDialog.hide();
    }
  }
}




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