⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cacheview.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   CacheView.java

package org.gudy.azureus2.ui.swt.views.stats;

import com.aelitis.azureus.core.diskmanager.cache.*;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.core3.util.DisplayFormatters;
import org.gudy.azureus2.ui.swt.Messages;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.components.graphics.SpeedGraphic;
import org.gudy.azureus2.ui.swt.views.AbstractIView;

public class CacheView extends AbstractIView
{

	CacheFileManagerStats stats;
	Composite panel;
	Label lblInUse;
	Label lblSize;
	Label lblPercentUsed;
	ProgressBar pbInUse;
	Label lblReadsFromCache;
	Label lblNumberReadsFromCache;
	Label lblAvgSizeFromCache;
	Label lblReadsFromFile;
	Label lblNumberReadsFromFile;
	Label lblAvgSizeFromFile;
	Label lblPercentReads;
	ProgressBar pbReads;
	Label lblWritesToCache;
	Label lblNumberWritesToCache;
	Label lblAvgSizeToCache;
	Label lblWritesToFile;
	Label lblNumberWritesToFile;
	Label lblAvgSizeToFile;
	Label lblPercentWrites;
	ProgressBar pbWrites;
	Canvas readsFromFile;
	Canvas readsFromCache;
	Canvas writesToCache;
	Canvas writesToFile;
	SpeedGraphic rffGraph;
	SpeedGraphic rfcGraph;
	SpeedGraphic wtcGraph;
	SpeedGraphic wtfGraph;

	public CacheView()
	{
		try
		{
			stats = CacheFileManagerFactory.getSingleton().getStats();
		}
		catch (Exception e)
		{
			Debug.printStackTrace(e);
		}
	}

	public void initialize(Composite composite)
	{
		panel = new Composite(composite, 0);
		panel.setLayout(new GridLayout());
		generateGeneralGroup();
		generateReadsGroup();
		generateWritesGroup();
		generateSpeedGroup();
	}

	private void generateGeneralGroup()
	{
		Group gCacheGeneral = new Group(panel, 0);
		Messages.setLanguageText(gCacheGeneral, "CacheView.general.title");
		gCacheGeneral.setLayoutData(new GridData(768));
		GridLayout layoutGeneral = new GridLayout();
		layoutGeneral.numColumns = 4;
		gCacheGeneral.setLayout(layoutGeneral);
		Label lbl = new Label(gCacheGeneral, 0);
		GridData gridData = new GridData();
		gridData.widthHint = 100;
		lbl.setLayoutData(gridData);
		Messages.setLanguageText(lbl, "CacheView.general.inUse");
		lblInUse = new Label(gCacheGeneral, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblInUse.setLayoutData(gridData);
		pbInUse = new ProgressBar(gCacheGeneral, 256);
		gridData = new GridData(768);
		gridData.verticalSpan = 2;
		pbInUse.setLayoutData(gridData);
		pbInUse.setMinimum(0);
		pbInUse.setMaximum(1000);
		lblPercentUsed = new Label(gCacheGeneral, 0);
		gridData = new GridData();
		gridData.verticalSpan = 2;
		gridData.widthHint = 100;
		lblPercentUsed.setLayoutData(gridData);
		lbl = new Label(gCacheGeneral, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lbl.setLayoutData(gridData);
		Messages.setLanguageText(lbl, "CacheView.general.size");
		lblSize = new Label(gCacheGeneral, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblSize.setLayoutData(gridData);
	}

	private void generateReadsGroup()
	{
		Group gCacheReads = new Group(panel, 0);
		Messages.setLanguageText(gCacheReads, "CacheView.reads.title");
		gCacheReads.setLayoutData(new GridData(768));
		GridLayout layoutGeneral = new GridLayout();
		layoutGeneral.numColumns = 6;
		gCacheReads.setLayout(layoutGeneral);
		Label lbl = new Label(gCacheReads, 0);
		lbl = new Label(gCacheReads, 0);
		Messages.setLanguageText(lbl, "CacheView.reads.#");
		lbl = new Label(gCacheReads, 0);
		Messages.setLanguageText(lbl, "CacheView.reads.amount");
		lbl = new Label(gCacheReads, 0);
		Messages.setLanguageText(lbl, "CacheView.reads.avgsize");
		lbl = new Label(gCacheReads, 0);
		lbl = new Label(gCacheReads, 0);
		lbl = new Label(gCacheReads, 0);
		GridData gridData = new GridData();
		gridData.widthHint = 100;
		lbl.setLayoutData(gridData);
		Messages.setLanguageText(lbl, "CacheView.reads.fromCache");
		lblNumberReadsFromCache = new Label(gCacheReads, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblNumberReadsFromCache.setLayoutData(gridData);
		lblReadsFromCache = new Label(gCacheReads, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblReadsFromCache.setLayoutData(gridData);
		lblAvgSizeFromCache = new Label(gCacheReads, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblAvgSizeFromCache.setLayoutData(gridData);
		pbReads = new ProgressBar(gCacheReads, 256);
		gridData = new GridData(768);
		gridData.verticalSpan = 2;
		pbReads.setLayoutData(gridData);
		pbReads.setMinimum(0);
		pbReads.setMaximum(1000);
		lblPercentReads = new Label(gCacheReads, 0);
		gridData = new GridData();
		gridData.verticalSpan = 2;
		gridData.widthHint = 100;
		lblPercentReads.setLayoutData(gridData);
		lbl = new Label(gCacheReads, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lbl.setLayoutData(gridData);
		Messages.setLanguageText(lbl, "CacheView.reads.fromFile");
		lblNumberReadsFromFile = new Label(gCacheReads, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblNumberReadsFromFile.setLayoutData(gridData);
		lblReadsFromFile = new Label(gCacheReads, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblReadsFromFile.setLayoutData(gridData);
		lblAvgSizeFromFile = new Label(gCacheReads, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblAvgSizeFromFile.setLayoutData(gridData);
	}

	private void generateSpeedGroup()
	{
		Group gCacheSpeeds = new Group(panel, 0);
		Messages.setLanguageText(gCacheSpeeds, "CacheView.speeds.title");
		gCacheSpeeds.setLayoutData(new GridData(1808));
		GridLayout layoutGeneral = new GridLayout();
		layoutGeneral.numColumns = 3;
		gCacheSpeeds.setLayout(layoutGeneral);
		Label lbl = new Label(gCacheSpeeds, 0);
		lbl = new Label(gCacheSpeeds, 0);
		GridData gridData = new GridData(64);
		lbl.setLayoutData(gridData);
		Messages.setLanguageText(lbl, "CacheView.speeds.reads");
		lbl = new Label(gCacheSpeeds, 0);
		gridData = new GridData(64);
		lbl.setLayoutData(gridData);
		Messages.setLanguageText(lbl, "CacheView.speeds.writes");
		lbl = new Label(gCacheSpeeds, 0);
		Messages.setLanguageText(lbl, "CacheView.speeds.fromCache");
		readsFromCache = new Canvas(gCacheSpeeds, 0x40000);
		gridData = new GridData(1808);
		readsFromCache.setLayoutData(gridData);
		rfcGraph = SpeedGraphic.getInstance();
		rfcGraph.initialize(readsFromCache);
		writesToCache = new Canvas(gCacheSpeeds, 0x40000);
		gridData = new GridData(1808);
		writesToCache.setLayoutData(gridData);
		wtcGraph = SpeedGraphic.getInstance();
		wtcGraph.initialize(writesToCache);
		lbl = new Label(gCacheSpeeds, 0);
		Messages.setLanguageText(lbl, "CacheView.speeds.fromFile");
		readsFromFile = new Canvas(gCacheSpeeds, 0x40000);
		gridData = new GridData(1808);
		readsFromFile.setLayoutData(gridData);
		rffGraph = SpeedGraphic.getInstance();
		rffGraph.initialize(readsFromFile);
		writesToFile = new Canvas(gCacheSpeeds, 0x40000);
		gridData = new GridData(1808);
		writesToFile.setLayoutData(gridData);
		wtfGraph = SpeedGraphic.getInstance();
		wtfGraph.initialize(writesToFile);
	}

	public void periodicUpdate()
	{
		rfcGraph.addIntValue((int)stats.getAverageBytesReadFromCache());
		rffGraph.addIntValue((int)stats.getAverageBytesReadFromFile());
		wtcGraph.addIntValue((int)stats.getAverageBytesWrittenToCache());
		wtfGraph.addIntValue((int)stats.getAverageBytesWrittenToFile());
	}

	private void generateWritesGroup()
	{
		Group gCacheWrites = new Group(panel, 0);
		Messages.setLanguageText(gCacheWrites, "CacheView.writes.title");
		gCacheWrites.setLayoutData(new GridData(768));
		GridLayout layoutGeneral = new GridLayout();
		layoutGeneral.numColumns = 6;
		gCacheWrites.setLayout(layoutGeneral);
		Label lbl = new Label(gCacheWrites, 0);
		lbl = new Label(gCacheWrites, 0);
		Messages.setLanguageText(lbl, "CacheView.reads.#");
		lbl = new Label(gCacheWrites, 0);
		Messages.setLanguageText(lbl, "CacheView.reads.amount");
		lbl = new Label(gCacheWrites, 0);
		Messages.setLanguageText(lbl, "CacheView.reads.avgsize");
		lbl = new Label(gCacheWrites, 0);
		lbl = new Label(gCacheWrites, 0);
		lbl = new Label(gCacheWrites, 0);
		GridData gridData = new GridData();
		gridData.widthHint = 100;
		lbl.setLayoutData(gridData);
		Messages.setLanguageText(lbl, "CacheView.writes.toCache");
		lblNumberWritesToCache = new Label(gCacheWrites, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblNumberWritesToCache.setLayoutData(gridData);
		lblWritesToCache = new Label(gCacheWrites, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblWritesToCache.setLayoutData(gridData);
		lblAvgSizeToCache = new Label(gCacheWrites, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblAvgSizeToCache.setLayoutData(gridData);
		pbWrites = new ProgressBar(gCacheWrites, 256);
		gridData = new GridData(768);
		gridData.verticalSpan = 2;
		pbWrites.setLayoutData(gridData);
		pbWrites.setMinimum(0);
		pbWrites.setMaximum(1000);
		lblPercentWrites = new Label(gCacheWrites, 0);
		gridData = new GridData();
		gridData.verticalSpan = 2;
		gridData.widthHint = 100;
		lblPercentWrites.setLayoutData(gridData);
		lbl = new Label(gCacheWrites, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lbl.setLayoutData(gridData);
		Messages.setLanguageText(lbl, "CacheView.writes.toFile");
		lblNumberWritesToFile = new Label(gCacheWrites, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblNumberWritesToFile.setLayoutData(gridData);
		lblWritesToFile = new Label(gCacheWrites, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblWritesToFile.setLayoutData(gridData);
		lblAvgSizeToFile = new Label(gCacheWrites, 0);
		gridData = new GridData();
		gridData.widthHint = 100;
		lblAvgSizeToFile.setLayoutData(gridData);
	}

	public void delete()
	{
		Utils.disposeComposite(panel);
		rfcGraph.dispose();
		rffGraph.dispose();
		wtcGraph.dispose();
		wtfGraph.dispose();
	}

	public String getFullTitle()
	{
		return MessageText.getString("CacheView.title.full");
	}

	public Composite getComposite()
	{
		return panel;
	}

	public void refresh()
	{
		lblSize.setText(DisplayFormatters.formatByteCountToKiBEtc(stats.getSize()));
		lblInUse.setText(DisplayFormatters.formatByteCountToKiBEtc(stats.getUsedSize()));
		int perThousands = (int)((1000L * stats.getUsedSize()) / stats.getSize());
		lblPercentUsed.setText(DisplayFormatters.formatPercentFromThousands(perThousands));
		pbInUse.setSelection(perThousands);
		refrehReads();
		refreshWrites();
		rfcGraph.refresh();
		rffGraph.refresh();
		wtcGraph.refresh();
		wtfGraph.refresh();
	}

	private void refrehReads()
	{
		long readsFromCache = stats.getBytesReadFromCache();
		long readsFromFile = stats.getBytesReadFromFile();
		long nbReadsFromCache = stats.getCacheReadCount();
		long nbReadsFromFile = stats.getFileReadCount();
		lblNumberReadsFromCache.setText((new StringBuilder()).append("").append(nbReadsFromCache).toString());
		lblNumberReadsFromFile.setText((new StringBuilder()).append("").append(nbReadsFromFile).toString());
		if (nbReadsFromCache != 0L)
		{
			long avgReadFromCache = readsFromCache / nbReadsFromCache;
			lblAvgSizeFromCache.setText(DisplayFormatters.formatByteCountToKiBEtc(avgReadFromCache));
		} else
		{
			lblAvgSizeFromCache.setText("--");
		}
		if (nbReadsFromFile != 0L)
		{
			long avgReadFromFile = readsFromFile / nbReadsFromFile;
			lblAvgSizeFromFile.setText(DisplayFormatters.formatByteCountToKiBEtc(avgReadFromFile));
		} else
		{
			lblAvgSizeFromFile.setText("--");
		}
		lblReadsFromCache.setText(DisplayFormatters.formatByteCountToKiBEtc(readsFromCache));
		lblReadsFromFile.setText(DisplayFormatters.formatByteCountToKiBEtc(readsFromFile));
		long totalRead = readsFromCache + readsFromFile;
		if (totalRead > 0L)
		{
			int perThousands = (int)((1000L * stats.getBytesReadFromCache()) / totalRead);
			lblPercentReads.setText((new StringBuilder()).append(DisplayFormatters.formatPercentFromThousands(perThousands)).append(" ").append(MessageText.getString("CacheView.reads.hits")).toString());
			pbReads.setSelection(perThousands);
		}
	}

	private void refreshWrites()
	{
		long writesToCache = stats.getBytesWrittenToCache();
		long writesToFile = stats.getBytesWrittenToFile();
		long nbWritesToCache = stats.getCacheWriteCount();
		long nbWritesToFile = stats.getFileWriteCount();
		lblNumberWritesToCache.setText((new StringBuilder()).append("").append(nbWritesToCache).toString());
		lblNumberWritesToFile.setText((new StringBuilder()).append("").append(nbWritesToFile).toString());
		if (nbWritesToCache != 0L)
		{
			long avgReadToCache = writesToCache / nbWritesToCache;
			lblAvgSizeToCache.setText(DisplayFormatters.formatByteCountToKiBEtc(avgReadToCache));
		} else
		{
			lblAvgSizeToCache.setText("--");
		}
		if (nbWritesToFile != 0L)
		{
			long avgReadToFile = writesToFile / nbWritesToFile;
			lblAvgSizeToFile.setText(DisplayFormatters.formatByteCountToKiBEtc(avgReadToFile));
		} else
		{
			lblAvgSizeToFile.setText("--");
		}
		lblWritesToCache.setText(DisplayFormatters.formatByteCountToKiBEtc(writesToCache));
		lblWritesToFile.setText(DisplayFormatters.formatByteCountToKiBEtc(writesToFile));
		long totalNbWrites = nbWritesToCache + nbWritesToFile;
		if (totalNbWrites > 0L)
		{
			int perThousands = (int)((1000L * nbWritesToCache) / totalNbWrites);
			lblPercentWrites.setText((new StringBuilder()).append(DisplayFormatters.formatPercentFromThousands(perThousands)).append(" ").append(MessageText.getString("CacheView.writes.hits")).toString());
			pbWrites.setSelection(perThousands);
		}
	}

	public String getData()
	{
		return "CacheView.title.full";
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -