[1174] | 1 | import java.awt.Frame; |
---|
| 2 | |
---|
| 3 | import javax.swing.JApplet; |
---|
| 4 | import javax.swing.SwingUtilities; |
---|
| 5 | |
---|
| 6 | import netscape.javascript.JSObject; |
---|
| 7 | |
---|
| 8 | import br.gov.serpro.js.Javascript2AppletPassingData; |
---|
| 9 | import br.gov.serpro.js.ParamReaderThread; |
---|
| 10 | import br.gov.serpro.setup.Setup; |
---|
| 11 | |
---|
| 12 | //TODO: Logs de depuração e interface para usuário reportar problemas. |
---|
| 13 | |
---|
| 14 | public class ExpressoSmimeApplet extends JApplet { |
---|
| 15 | |
---|
| 16 | /** |
---|
| 17 | * Variáveis de instância |
---|
| 18 | */ |
---|
| 19 | private Setup setup; |
---|
| 20 | private Javascript2AppletPassingData dataReader; |
---|
| 21 | private Thread paramReaderThread; |
---|
| 22 | |
---|
| 23 | /** |
---|
| 24 | * Variáveis de classe |
---|
| 25 | */ |
---|
| 26 | private static final long serialVersionUID = 4797603392324194391L; |
---|
| 27 | |
---|
| 28 | @Override |
---|
| 29 | public void init() { |
---|
| 30 | super.init(); |
---|
| 31 | this.setSize(1, 1); |
---|
| 32 | this.setup = new Setup(this); |
---|
| 33 | this.setup.addLanguageResource("ExpressoCertMailMessages"); |
---|
| 34 | this.dataReader = new Javascript2AppletPassingData(); |
---|
| 35 | // this.paramReaderThread = new ParamReaderThread(JSObject.getWindow(this), dataReader, setup); |
---|
| 36 | this.paramReaderThread = new ParamReaderThread(JSObject.getWindow(this), dataReader, |
---|
| 37 | setup, (Frame) SwingUtilities.getAncestorOfClass(Frame.class, this)); |
---|
| 38 | this.paramReaderThread.start(); |
---|
| 39 | } |
---|
| 40 | |
---|
| 41 | @Override |
---|
| 42 | /** |
---|
| 43 | * Retorna Informações sobre os parâmetros que essa applet aceita |
---|
| 44 | * @author Mário César Kolling <mario.kolling@serpro.gov.br> |
---|
| 45 | * @return String[][] Uma matriz de Strings relacionando cada parâmetro à sua descrição |
---|
| 46 | */ |
---|
| 47 | public String[][] getParameterInfo() { |
---|
| 48 | return setup.getParameterInfo(); |
---|
| 49 | } |
---|
| 50 | |
---|
| 51 | @Override |
---|
| 52 | public void start() { |
---|
| 53 | super.start(); |
---|
| 54 | |
---|
| 55 | } |
---|
| 56 | |
---|
| 57 | @Override |
---|
| 58 | public void stop() { |
---|
| 59 | super.stop(); |
---|
| 60 | //dataReader.unlock(); |
---|
| 61 | |
---|
| 62 | if (this.paramReaderThread.isAlive()){ |
---|
| 63 | if (setup.getParameter("debug").equalsIgnoreCase("true")){ |
---|
| 64 | System.out.println("Interrompendo Applet paramReaderThread"); |
---|
| 65 | } |
---|
| 66 | this.paramReaderThread.interrupt(); |
---|
| 67 | } |
---|
| 68 | } |
---|
| 69 | |
---|
| 70 | /** |
---|
| 71 | * Método da Applet chamado pela página (js) ao assinar ou decifrar um e-mail |
---|
| 72 | * @param resultado Dados serializados passados pela Applet |
---|
| 73 | */ |
---|
| 74 | public void doButtonClickAction(String resultado){ |
---|
| 75 | dataReader.setData(resultado); |
---|
| 76 | dataReader.unlock(); |
---|
| 77 | //return "cert"; |
---|
| 78 | } |
---|
| 79 | |
---|
| 80 | public void doButtonClickAction(String operation, String id, String body){ |
---|
| 81 | dataReader.setData(operation, id, body); |
---|
| 82 | //dataReader.unlock(); |
---|
| 83 | } |
---|
| 84 | |
---|
| 85 | public void doButtonClickAction(String operation, String id, String body, String folder){ |
---|
| 86 | dataReader.setData(operation, id, body, folder); |
---|
| 87 | //dataReader.unlock(); |
---|
| 88 | } |
---|
| 89 | |
---|
| 90 | } |
---|