package art.servers; import art.library.gui.FlatGUI; import art.library.gui.flat.FlatDialog; import art.library.interop.serialization.Serialization; import art.servers.rtzserver.Shared; import art.servers.rtzserver.configuration.ConfigurationDetail; import art.servers.rtzserver.controller.ListenerImplementation; import java.awt.Dimension; import java.awt.image.BufferedImage; import java.io.File; import java.io.PrintWriter; import java.io.StringWriter; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JWindow; public class RtzServer extends art.servers.Server { public static void main(String[] args) { try { FlatGUI.initialise(); Shared.setApplicationCode("ty2u4DNb2MPG6G7gPLDXB2MN5YtgXqvp"); Shared.setApplicationName("art.servers.rtzserver"); preinitialise(args, art.servers.rtzserver.configuration.Configuration.class); Shared.model = new art.servers.rtzserver.Model(Shared.configuration); postinitialise(args); try { // Configuration detail ConfigurationDetail configurationDetail = (ConfigurationDetail)Serialization.deserialize(ConfigurationDetail.class, new File(Shared.getApplicationName() + ".detail.json")); ((art.servers.rtzserver.configuration.Configuration)Shared.configuration).detail = configurationDetail; } catch (Exception e) { } ListenerImplementation listenerImplementation = new ListenerImplementation(); if (Shared.controllerListenerHttps != null) Shared.controllerListenerHttps.setListenerImplementation(listenerImplementation); if (Shared.controllerListener != null) Shared.controllerListener.setListenerImplementation(listenerImplementation); Shared.factory = new art.servers.rtzserver.controller.FactoryController(); Shared.factory.start(); } catch (Exception exception) { exception.printStackTrace(); StringWriter sw = new StringWriter(); exception.printStackTrace(new PrintWriter(sw)); FlatDialog.showDialog(null, Shared.getMessage("Error"), exception.getMessage() + "\n\n" + sw.toString(), true, FlatDialog.DIALOG_INFORMATION); System.exit(0); } } private static BufferedImage getImage(JComponent component, int width, int height, int sleep) { JWindow window = new JWindow(); try { window.setContentPane(component); window.setSize(new Dimension(width,height)); window.setLocation(-0,-0); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); window.setVisible(true); if (sleep > 0) { try { Thread.sleep(sleep); } catch (Exception e) { } } component.paint(image.getGraphics()); return image; } finally { // window.setVisible(false); // window.dispose(); } } private static BufferedImage getImage(JFrame window, int width, int height, int sleep) { try { window.setSize(new Dimension(width,height)); window.setLocation(-99999,-99999); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); window.setVisible(true); if (sleep > 0) { try { Thread.sleep(sleep); } catch (Exception e) { } } window.paint(image.getGraphics()); return image; } finally { // window.setVisible(false); // window.dispose(); } } }