// Decompiled by DJ v3.10.10.93 Copyright 2007 Atanas Neshkov Date: 9/03/2009 14:49:41
// Home Page: http://members.fortunecity.com/neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name: Export.java
import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.*;
import java.util.zip.GZIPInputStream;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import jxl.*;
import jxl.format.*;
import jxl.write.*;
public class Export extends Applet
implements ActionListener
{
public class SimpleFileFilter extends FileFilter
{
public boolean accept(File file)
{
if(file.isDirectory())
return true;
String s = file.getName().toLowerCase();
for(int i = extensions.length - 1; i >= 0; i--)
if(s.endsWith(extensions[i]))
return true;
return false;
}
public String getDescription()
{
return description;
}
String extensions[];
String description;
public SimpleFileFilter(String s)
{
this(new String[] {
s
}, null);
}
public SimpleFileFilter(String as[], String s)
{
extensions = new String[as.length];
for(int i = as.length - 1; i >= 0; i--)
extensions[i] = as[i].toLowerCase();
description = s != null ? s : as[0] + " files";
}
}
public Export()
{
myLang = "en";
langStrings = new String[40];
blu_scuro = new Color(0x9db5cd);
blu_chiaro = new Color(0x6593b1);
blu_mix = new Color(0xbcd3e7);
blu_dixell = new Color(14699);
sendok = 0;
MAX_EXCEL_RECORDS = 65532;
MAX_BUFFER = 10240;
cancelAll = false;
nDvc = 0;
mySelf = this;
isWindows = false;
strPort = "";
activeString = "ACTIVE";
deactiveString = "DEACTIVE";
}
public void actionPerformed(ActionEvent actionevent)
{
if(actionevent.getActionCommand() == "cancBut")
{
cancelButton.setEnabled(false);
cancelAll = true;
} else
{
if(actionevent.getActionCommand() == "evmw")
{
sendok = 3636;
waitWindow.setVisible(false);
try
{
getAppletContext().showDocument(new URL("http://" + getCodeBase().getHost() + "/closew.html"));
}
catch(Exception exception) { }
waitWindow = null;
return;
}
if(actionevent.getActionCommand() == "closeAll")
{
try
{
getAppletContext().showDocument(new URL("http://" + getCodeBase().getHost() + "/closew.html"));
}
catch(Exception exception1) { }
waitWindow = null;
return;
}
if(actionevent.getActionCommand() == "2evmw")
waitWindow.setVisible(false);
}
}
public void init()
{
int j = getCodeBase().getPort();
if(j > 0)
strPort = ":" + j;
timezone = getParameter("TimeZone");
if(timezone == null)
timezone = "CET";
boolean flag = false;
Date date = new Date();
String as[] = TimeZone.getAvailableIDs();
for(int i = 0; !flag && i < as.length; i++)
{
TimeZone timezone1 = TimeZone.getTimeZone(as[i]);
String s = timezone1.getDisplayName(timezone1.inDaylightTime(date), 0);
if(!s.equals(timezone))
continue;
flag = true;
int k = timezone1.getRawOffset();
int l = k / 0x36ee80;
int i1 = Math.abs(k / 60000) % 60;
boolean flag2 = timezone1.inDaylightTime(date);
if(flag2)
l++;
String s8 = "";
String s9 = "";
if(l >= 0)
s8 = "+";
if(l < 0)
s8 = "-";
if(l > -9 || l < 9)
s8 = s8 + "0";
s8 = s8 + Math.abs(l);
if(i1 < 9)
s9 = "0";
s9 = s9 + i1;
timezone = "GMT" + s8 + ":" + s9;
System.err.println("Timezone (including DST) converted to: " + timezone);
}
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
screenX = dimension.width;
screenY = dimension.height;
if(getParameter("LANGSTR") != null)
myLang = getParameter("LANGSTR");
try
{
URL url = new URL("http://" + getCodeBase().getHost() + strPort + "/cgi-bin/getlang.cgi");
URLConnection urlconnection = url.openConnection();
urlconnection.setDoOutput(true);
PrintWriter printwriter = new PrintWriter(urlconnection.getOutputStream());
printwriter.println("LANGTEXT=" + myLang + "|applet-export|TOTALDNLOAD|CANCELBUT|DNUIDLABEL|DNLERROR|DNLFINISH|DNLABORT|TOOMANY|WARNDIA|JVM_MSG_1|JVM_MSG_2|JVM_MSG_3|JVM_MSG_4|BUTCONT|MAXREC|MAXARRIVED|BUTFINE|");
printwriter.close();
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(urlconnection.getInputStream()));
int k1 = 0;
String s1;
while((s1 = bufferedreader.readLine()) != null)
langStrings[k1++] = s1;
bufferedreader.close();
}
catch(Exception exception)
{
System.err.println(exception);
}
try
{
if(System.getProperty("java.vendor").indexOf("Sun") != -1)
{
boolean flag1 = false;
String s2 = System.getProperty("deployment.user.home");
String s4 = "javaplugin.jre.params=-Xmx768m";
if(s2 == null)
{
s2 = System.getProperty("user.home");
String s5 = System.getProperty("java.runtime.version");
int j1 = s5.indexOf('-');
if(j1 == 0)
s4 = "deployment.javapi.jre." + s5 + ".args=-Xmx768m";
else
s4 = "deployment.javapi.jre." + s5.substring(0, j1) + ".args=-Xmx768m";
flag1 = true;
}
boolean flag3 = true;
boolean flag5 = false;
if(System.getProperty("os.name").indexOf("Windows") != -1)
{
isWindows = true;
s4 = s4 + "\r\n";
s2 = s2 + "\\";
if(flag1)
s2 = s2 + "Application Data\\Sun\\Java\\Deployment\\";
} else
{
s4 = s4 + "\n";
s2 = s2 + "/";
if(flag1)
s2 = s2 + ".java/deployment/";
}
s2 = s2 + "deployment.properties";
System.err.println(s2);
try
{
FileReader filereader = new FileReader(s2);
BufferedReader bufferedreader1 = new BufferedReader(filereader);
do
{
String s6;
if((s6 = bufferedreader1.readLine()) == null)
break;
if(flag1)
{
if(s6.indexOf("deployment.javapi.jre") != -1 && s6.indexOf("-Xmx768m") != -1)
flag3 = false;
} else
if(s6.indexOf("javaplugin.jre.params") != -1 && s6.indexOf("-Xmx768m") != -1)
flag3 = false;
} while(true);
bufferedreader1.close();
filereader.close();
if(flag3)
{
FileWriter filewriter2 = new FileWriter(s2, true);
filewriter2.write(s4, 0, s4.length());
filewriter2.close();
flag5 = true;
flag3 = false;
}
}
catch(Exception exception2)
{
System.err.println(exception2);
}
if(flag3)
try
{
FileWriter filewriter = new FileWriter(s2, true);
filewriter.write(s4, 0, s4.length());
filewriter.close();
flag5 = true;
flag3 = false;
}
catch(Exception exception3)
{
System.err.println(exception3);
}
if(flag3 && flag1)
{
String s10 = System.getProperty("deployment.user.logdir");
String s3 = s10.substring(0, s10.length() - 3) + "deployment.properties";
try
{
try
{
FileReader filereader1 = new FileReader(s3);
BufferedReader bufferedreader2 = new BufferedReader(filereader1);
do
{
String s7;
if((s7 = bufferedreader2.readLine()) == null)
break;
if(s7.indexOf("deployment.javapi.jre") != -1 && s7.indexOf("-Xmx768m") != -1)
flag3 = false;
} while(true);
bufferedreader2.close();
filereader1.close();
}
catch(Exception exception4) { }
if(flag3)
{
FileWriter filewriter1 = new FileWriter(s3, true);
filewriter1.write(s4, 0, s4.length());
filewriter1.close();
flag5 = true;
boolean flag4 = false;
}
}
catch(Exception exception5)
{
System.err.println(exception5);
}
}
if(flag5)
{
waitWindow = new JDialog(new JFrame(), langStrings[7], true);
waitWindow.getContentPane().setBackground(blu_chiaro);
waitWindow.getContentPane().setForeground(Color.black);
waitWindow.setBounds(screenX / 2 - 300, screenY / 2 - 90, 600, 180);
waitWindow.getContentPane().setLayout(new GridLayout(0, 1));
waitWindow.add(new JLabel(langStrings[8], 0));
waitWindow.add(new JLabel(langStrings[9], 0));
waitWindow.add(new JLabel(langStrings[10], 0));
waitWindow.add(new JLabel(langStrings[11], 0));
Panel panel = new Panel();
JButton jbutton = new JButton(langStrings[12]);
jbutton.setActionCommand("evmw");
jbutton.addActionListener(this);
panel.add(jbutton);
waitWindow.add(panel);
waitWindow.setVisible(true);
if(sendok == 3636)
return;
}
}
}
catch(Exception exception1)
{
System.err.println(exception1);
}
firstLabel = new JLabel("", 0);
secondLabel = new JLabel(langStrings[0], 0);
firstProgress = new JProgressBar(0, 100);
firstProgress.setStringPainted(true);
nDvc = Integer.parseInt(getParameter("nDvc"));
secondProgress = new JProgressBar(0, nDvc);
secondProgress.setStringPainted(true);
setBackground(blu_scuro);
setForeground(Color.BLACK);
setLayout(new GridLayout(0, 1));
add(firstLabel);
add(firstProgress);
add(secondLabel);
add(secondProgress);
JPanel jpanel = new JPanel();
jpanel.setBackground(blu_scuro);
jpanel.setForeground(Color.BLACK);
cancelButton = new JButton(langStrings[1]);
cancelButton.setActionCommand("cancBut");
cancelButton.addActionListener(this);
jpanel.add(cancelButton);
add(jpanel);
(new Thread() {
public void run()
{
int l1;
String s13;
String s14;
long l2;
File file;
WritableCellFormat writablecellformat;
WritableCellFormat writablecellformat1;
WritableCellFormat writablecellformat2;
CellView cellview;
String s17;
String s11 = "";
JFileChooser jfilechooser = new JFileChooser();
jfilechooser.addChoosableFileFilter(new SimpleFileFilter("*.xls"));
s13 = "export_" + getParameter("SYSDESC") + "_" + createMyDate_short(Long.parseLong(getParameter("StartTime")) * 1000L) + "_" + createMyDate_short(Long.parseLong(getParameter("EndTime")) * 1000L) + ".xls";
s14 = "";
String s15 = "";
l2 = 0L;
jfilechooser.setSelectedFile(new File(s13));
if(jfilechooser.showSaveDialog(mySelf) != 0)
break MISSING_BLOCK_LABEL_3136;
file = jfilechooser.getSelectedFile();
try
{
WorkbookSettings workbooksettings = new WorkbookSettings();
workbooksettings.setGCDisabled(false);
workbooksettings.setInitialFileSize(0x80000);
workbooksettings.setArrayGrowSize(0x80000);
workbook = Workbook.createWorkbook(file, workbooksettings);
}
catch(Exception exception6)
{
System.err.println("Error creating workbook: " + exception6);
}
WritableFont writablefont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLUE);
writablecellformat = new WritableCellFormat(writablefont);
WritableFont writablefont1 = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.GREEN);
writablecellformat1 = new WritableCellFormat(writablefont1);
try
{
writablecellformat1.setAlignment(Alignment.CENTRE);
writablecellformat1.setShrinkToFit(false);
writablecellformat.setAlignment(Alignment.CENTRE);
writablecellformat.setShrinkToFit(false);
writablecellformat.setBackground(Colour.YELLOW);
}
catch(Exception exception7)
{
System.err.println("fmtcrea: " + exception7);
}
writablecellformat2 = new WritableCellFormat();
try
{
writablecellformat2.setAlignment(Alignment.CENTRE);
writablecellformat2.setShrinkToFit(false);
}
catch(Exception exception8)
{
System.err.println("valfmtcrea: " + exception8);
}
cellview = new CellView();
cellview.setSize(6144);
s17 = "";
if(isWindows)
s17 = "C:\\";
else
s17 = "/tmp/";
s17 = s17 + "dixtemp1234.dat";
l1 = 0;
_L9:
if(cancelAll || l1 >= nDvc) goto _L2; else goto _L1
_L1:
long l3;
long l4;
String s18;
String s19;
String s20;
String s21;
String s22;
boolean flag6;
long l5;
WritableSheet writablesheet;
l3 = Long.parseLong(getParameter("StartTime"));
l4 = Long.parseLong(getParameter("EndTime"));
s18 = getParameter("StartTime");
s19 = getParameter("EndTime");
s20 = getParameter(l1 + "-UID");
s21 = getParameter("SampleTime");
if(s21.equals("0"))
s21 = "1";
s22 = getParameter(l1 + "-ID");
flag6 = true;
l5 = 0L;
writablesheet = workbook.createSheet(getParameter(l1 + "-UID") + " " + getParameter(l1 + "-DispName"), l1);
firstLabel.setText(langStrings[2] + " " + s20);
StringTokenizer stringtokenizer = new StringTokenizer(getParameter(l1 + "-NAME"), "|");
int i2 = 0;
try
{
lab2 = new Label(i2++, 0, "Date-Time", writablecellformat);
writablesheet.addCell(lab2);
writablesheet.setColumnView(i2 - 1, cellview);
for(; stringtokenizer.hasMoreTokens(); writablesheet.setColumnView(i2 - 1, cellview))
{
lab2 = new Label(i2++, 0, stringtokenizer.nextToken(), writablecellformat);
writablesheet.addCell(lab2);
}
}
catch(Exception exception10)
{
System.err.println("Err cellFmtAdd: " + exception10);
}
String s12;
FileOutputStream fileoutputstream;
byte abyte0[];
boolean flag7;
if(System.getProperty("os.name").indexOf("Windows") != -1)
s12 = "C:\\XWEB500-" + s20 + ".TXT";
else
s12 = "XWEB500-" + s20 + ".TXT";
fileoutputstream = new FileOutputStream(s12);
abyte0 = new byte[MAX_BUFFER];
flag7 = true;
firstProgress.setValue(0);
_L8:
BufferedInputStream bufferedinputstream;
int j2;
boolean flag9;
int j4;
String s25;
if(cancelAll || !flag7)
break MISSING_BLOCK_LABEL_1902;
URL url1 = new URL("http://" + getCodeBase().getHost() + strPort + "/cgi-bin/viewLog.cgi?pg=5&UID=" + s20 + "&StartTime=" + s18 + "&EndTime=" + s19 + "&SampleTime=" + s21 + "&ID=" + s22);
URLConnection urlconnection1 = url1.openConnection();
bufferedinputstream = new BufferedInputStream(urlconnection1.getInputStream());
j2 = 1;
boolean flag8 = false;
flag9 = true;
boolean flag10 = false;
j4 = 0;
boolean flag11 = false;
s25 = "";
_L6:
String s26;
if(cancelAll || !flag9)
break MISSING_BLOCK_LABEL_1482;
byte abyte1[] = new byte[1];
boolean flag12 = true;
do
{
int i3;
if(cancelAll || !flag12 || (i3 = bufferedinputstream.read(abyte1, 0, 1)) <= 0)
break;
abyte0[j4++] = abyte1[0];
if(abyte1[0] == 10)
flag12 = false;
} while(true);
abyte0[j4++] = 0;
s26 = new String(abyte0, 0, j4 - 2);
if(s26 == null) goto _L4; else goto _L3
_L3:
if(s26.startsWith("EndTime:"))
l5 = Long.parseLong(s26.substring(9)) + Long.parseLong(s21);
if(s26.startsWith("STATUS: LOADOK"))
flag7 = false;
if(s26.startsWith("STATUS: MORE"))
{
s25 = s18;
s18 = "" + l5;
}
if(s26.startsWith("STATUS: ERR"))
{
flag7 = false;
firstLabel.setText(langStrings[3]);
return;
}
if(s26.startsWith("START_FILE"))
{
j2 = Integer.parseInt(s26.substring(12));
flag9 = false;
}
_L4:
j4 = 0;
if(true) goto _L6; else goto _L5
_L5:
FileOutputStream fileoutputstream1 = new FileOutputStream(s17);
boolean flag13 = false;
if(flag6)
{
flag6 = false;
if(!flag7)
{
firstProgress.setMaximum(j2 + 1);
} else
{
float f = 1.0F / ((float)(l5 - Long.parseLong(s25)) / (float)(Long.parseLong(s19) - Long.parseLong(s25)));
firstProgress.setMaximum((int)(f * (float)j2 + (float)j2 * 0.05F));
}
firstProgress.setValue(0);
} else
if(!s25.equals(""))
{
float f1 = (float)(Long.parseLong(s25) - l3) / (float)(l4 - l3);
if((float)firstProgress.getValue() < (float)firstProgress.getMaximum() * f1)
firstProgress.setValue((int)((float)firstProgress.getMaximum() * f1));
}
try
{
do
{
int j3;
if(cancelAll || (j3 = bufferedinputstream.read(abyte0)) <= 0)
break;
fileoutputstream1.write(abyte0, 0, j3);
if(firstProgress.getValue() + j3 < firstProgress.getMaximum())
firstProgress.setValue(firstProgress.getValue() + j3);
} while(true);
}
catch(Exception exception13)
{
System.err.println("Read loop: " + exception13);
}
fileoutputstream1.close();
FileInputStream fileinputstream = new FileInputStream(s17);
GZIPInputStream gzipinputstream = new GZIPInputStream(fileinputstream);
int k3;
try
{
while(!cancelAll && (k3 = gzipinputstream.read(abyte0)) > 0)
fileoutputstream.write(abyte0, 0, k3);
}
catch(Exception exception14)
{
System.err.println("GRead loop: " + exception14);
firstLabel.setText(langStrings[3]);
return;
}
if(true) goto _L8; else goto _L7
_L7:
}