home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2005 June / PCpro_2005_06.ISO / files / opensource / openoffice / openofficeorg1.cab / MemoryUsage.jar / MemoryUsage.class (.txt)
Encoding:
Java Class File  |  2005-02-15  |  5.9 KB  |  128 lines

  1. import com.sun.star.awt.Rectangle;
  2. import com.sun.star.beans.PropertyValue;
  3. import com.sun.star.beans.XPropertySet;
  4. import com.sun.star.chart.XChartDocument;
  5. import com.sun.star.chart.XDiagram;
  6. import com.sun.star.container.XIndexAccess;
  7. import com.sun.star.container.XNameAccess;
  8. import com.sun.star.document.XEmbeddedObjectSupplier;
  9. import com.sun.star.frame.XComponentLoader;
  10. import com.sun.star.lang.XComponent;
  11. import com.sun.star.lang.XMultiServiceFactory;
  12. import com.sun.star.script.provider.XScriptContext;
  13. import com.sun.star.sheet.XCellRangeAddressable;
  14. import com.sun.star.sheet.XSpreadsheet;
  15. import com.sun.star.sheet.XSpreadsheetDocument;
  16. import com.sun.star.table.CellRangeAddress;
  17. import com.sun.star.table.XCellRange;
  18. import com.sun.star.table.XTableChart;
  19. import com.sun.star.table.XTableCharts;
  20. import com.sun.star.table.XTableChartsSupplier;
  21. import com.sun.star.uno.AnyConverter;
  22. import com.sun.star.uno.Type;
  23. import com.sun.star.uno.UnoRuntime;
  24. import java.util.Date;
  25. import java.util.Random;
  26.  
  27. public class MemoryUsage {
  28.    // $FF: synthetic field
  29.    static Class class$com$sun$star$frame$XComponentLoader;
  30.    // $FF: synthetic field
  31.    static Class class$com$sun$star$sheet$XSpreadsheetDocument;
  32.    // $FF: synthetic field
  33.    static Class class$com$sun$star$container$XIndexAccess;
  34.    // $FF: synthetic field
  35.    static Class class$com$sun$star$sheet$XSpreadsheet;
  36.    // $FF: synthetic field
  37.    static Class class$com$sun$star$table$XCellRange;
  38.    // $FF: synthetic field
  39.    static Class class$com$sun$star$sheet$XCellRangeAddressable;
  40.    // $FF: synthetic field
  41.    static Class class$com$sun$star$table$XTableChartsSupplier;
  42.    // $FF: synthetic field
  43.    static Class class$com$sun$star$container$XNameAccess;
  44.    // $FF: synthetic field
  45.    static Class class$com$sun$star$table$XTableChart;
  46.    // $FF: synthetic field
  47.    static Class class$com$sun$star$document$XEmbeddedObjectSupplier;
  48.    // $FF: synthetic field
  49.    static Class class$com$sun$star$chart$XChartDocument;
  50.    // $FF: synthetic field
  51.    static Class class$com$sun$star$lang$XMultiServiceFactory;
  52.    // $FF: synthetic field
  53.    static Class class$com$sun$star$chart$XDiagram;
  54.    // $FF: synthetic field
  55.    static Class class$com$sun$star$beans$XPropertySet;
  56.  
  57.    public void updateMemoryUsage(XScriptContext var1) throws Exception {
  58.       XSpreadsheet var2 = this.createSpreadsheet(var1);
  59.       Runtime var3 = Runtime.getRuntime();
  60.       Random var4 = new Random();
  61.       Date var5 = new Date();
  62.       int var6 = (int)(var4.nextFloat() * (float)var3.freeMemory() / 5.0F);
  63.       byte[] var7 = new byte[var6];
  64.       this.addData(var2, var5.toString(), var3.totalMemory(), var3.freeMemory());
  65.       this.addChart(var2);
  66.    }
  67.  
  68.    private XSpreadsheet createSpreadsheet(XScriptContext var1) throws Exception {
  69.       XComponentLoader var2 = (XComponentLoader)UnoRuntime.queryInterface(class$com$sun$star$frame$XComponentLoader == null ? (class$com$sun$star$frame$XComponentLoader = class$("com.sun.star.frame.XComponentLoader")) : class$com$sun$star$frame$XComponentLoader, var1.getDesktop());
  70.       XComponent var3 = var2.loadComponentFromURL("private:factory/scalc", "_blank", 4, new PropertyValue[0]);
  71.       XSpreadsheetDocument var4 = (XSpreadsheetDocument)UnoRuntime.queryInterface(class$com$sun$star$sheet$XSpreadsheetDocument == null ? (class$com$sun$star$sheet$XSpreadsheetDocument = class$("com.sun.star.sheet.XSpreadsheetDocument")) : class$com$sun$star$sheet$XSpreadsheetDocument, var3);
  72.       XIndexAccess var5 = (XIndexAccess)UnoRuntime.queryInterface(class$com$sun$star$container$XIndexAccess == null ? (class$com$sun$star$container$XIndexAccess = class$("com.sun.star.container.XIndexAccess")) : class$com$sun$star$container$XIndexAccess, var4.getSheets());
  73.       XSpreadsheet var6 = (XSpreadsheet)AnyConverter.toObject(new Type(class$com$sun$star$sheet$XSpreadsheet == null ? (class$com$sun$star$sheet$XSpreadsheet = class$("com.sun.star.sheet.XSpreadsheet")) : class$com$sun$star$sheet$XSpreadsheet), var5.getByIndex(0));
  74.       return var6;
  75.    }
  76.  
  77.    private void addData(XSpreadsheet var1, String var2, long var3, long var5) throws Exception {
  78.       var1.getCellByPosition(0, 0).setFormula("Used");
  79.       var1.getCellByPosition(0, 1).setFormula("Free");
  80.       var1.getCellByPosition(0, 2).setFormula("Total");
  81.       var1.getCellByPosition(1, 0).setValue((double)(var3 - var5));
  82.       var1.getCellByPosition(1, 1).setValue((double)var5);
  83.       var1.getCellByPosition(1, 2).setValue((double)var3);
  84.    }
  85.  
  86.    private void addChart(XSpreadsheet var1) throws Exception {
  87.       Rectangle var2 = new Rectangle();
  88.       var2.X = 500;
  89.       var2.Y = 3000;
  90.       var2.Width = 10000;
  91.       var2.Height = 8000;
  92.       XCellRange var3 = (XCellRange)UnoRuntime.queryInterface(class$com$sun$star$table$XCellRange == null ? (class$com$sun$star$table$XCellRange = class$("com.sun.star.table.XCellRange")) : class$com$sun$star$table$XCellRange, var1);
  93.       XCellRange var4 = var3.getCellRangeByName("A1:B2");
  94.       XCellRangeAddressable var5 = (XCellRangeAddressable)UnoRuntime.queryInterface(class$com$sun$star$sheet$XCellRangeAddressable == null ? (class$com$sun$star$sheet$XCellRangeAddressable = class$("com.sun.star.sheet.XCellRangeAddressable")) : class$com$sun$star$sheet$XCellRangeAddressable, var4);
  95.       CellRangeAddress var6 = var5.getRangeAddress();
  96.       CellRangeAddress[] var7 = new CellRangeAddress[]{var6};
  97.       XTableChartsSupplier var8 = (XTableChartsSupplier)UnoRuntime.queryInterface(class$com$sun$star$table$XTableChartsSupplier == null ? (class$com$sun$star$table$XTableChartsSupplier = class$("com.sun.star.table.XTableChartsSupplier")) : class$com$sun$star$table$XTableChartsSupplier, var1);
  98.       XTableCharts var9 = var8.getCharts();
  99.       var9.addNewByName("Example", var2, var7, false, true);
  100.  
  101.       try {
  102.          Thread.sleep(3000L);
  103.       } catch (InterruptedException var19) {
  104.       }
  105.  
  106.       XNameAccess var10 = (XNameAccess)UnoRuntime.queryInterface(class$com$sun$star$container$XNameAccess == null ? (class$com$sun$star$container$XNameAccess = class$("com.sun.star.container.XNameAccess")) : class$com$sun$star$container$XNameAccess, var9);
  107.       XTableChart var11 = (XTableChart)UnoRuntime.queryInterface(class$com$sun$star$table$XTableChart == null ? (class$com$sun$star$table$XTableChart = class$("com.sun.star.table.XTableChart")) : class$com$sun$star$table$XTableChart, var10.getByName("Example"));
  108.       XEmbeddedObjectSupplier var12 = (XEmbeddedObjectSupplier)UnoRuntime.queryInterface(class$com$sun$star$document$XEmbeddedObjectSupplier == null ? (class$com$sun$star$document$XEmbeddedObjectSupplier = class$("com.sun.star.document.XEmbeddedObjectSupplier")) : class$com$sun$star$document$XEmbeddedObjectSupplier, var11);
  109.       XComponent var13 = var12.getEmbeddedObject();
  110.       XChartDocument var14 = (XChartDocument)UnoRuntime.queryInterface(class$com$sun$star$chart$XChartDocument == null ? (class$com$sun$star$chart$XChartDocument = class$("com.sun.star.chart.XChartDocument")) : class$com$sun$star$chart$XChartDocument, var13);
  111.       XMultiServiceFactory var15 = (XMultiServiceFactory)UnoRuntime.queryInterface(class$com$sun$star$lang$XMultiServiceFactory == null ? (class$com$sun$star$lang$XMultiServiceFactory = class$("com.sun.star.lang.XMultiServiceFactory")) : class$com$sun$star$lang$XMultiServiceFactory, var14);
  112.       Object var16 = var15.createInstance("com.sun.star.chart.PieDiagram");
  113.       XDiagram var17 = (XDiagram)UnoRuntime.queryInterface(class$com$sun$star$chart$XDiagram == null ? (class$com$sun$star$chart$XDiagram = class$("com.sun.star.chart.XDiagram")) : class$com$sun$star$chart$XDiagram, var16);
  114.       var14.setDiagram(var17);
  115.       XPropertySet var18 = (XPropertySet)UnoRuntime.queryInterface(class$com$sun$star$beans$XPropertySet == null ? (class$com$sun$star$beans$XPropertySet = class$("com.sun.star.beans.XPropertySet")) : class$com$sun$star$beans$XPropertySet, var14.getTitle());
  116.       var18.setPropertyValue("String", "JVM Memory Usage");
  117.    }
  118.  
  119.    // $FF: synthetic method
  120.    static Class class$(String var0) {
  121.       try {
  122.          return Class.forName(var0);
  123.       } catch (ClassNotFoundException var2) {
  124.          throw new NoClassDefFoundError(var2.getMessage());
  125.       }
  126.    }
  127. }
  128.