Commit 14c7fccc 14c7fcccc5eefb79aaa1e2650870c6dc629ff0c4 by root

save

1 parent a4cd1744
Showing 70 changed files with 3919 additions and 0 deletions
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="SZSTerminal/src/main/java/org/emercit/jni"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>SZSTerminal</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.5
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
log4j.rootLogger=DEBUG, CA, file
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logging.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
\ No newline at end of file
File mode changed
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SZSTerminal</groupId>
<artifactId>SZSTerminal</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<pluginRepositories>
<pluginRepository>
<id>onejar-maven-plugin.googlecode.com</id>
<url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
</pluginRepository>
</pluginRepositories>
</project>
package org.emercit.components;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GraphicsEnvironment;
import java.awt.Image;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import java.awt.event.KeyEvent;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JLabel;
import java.awt.ComponentOrientation;
import java.awt.Font;
import javax.swing.UIManager;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.SystemColor;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.ImageIcon;
import javax.swing.SwingWorker;
import java.util.ArrayList;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import org.emercit.model.*;
import java.util.Timer;
import java.util.TimerTask;
import org.emercit.config.Config;
import org.emercit.service.SData;
import org.emercit.szsterminal.SZSTerminal;
public class DlgConfirm extends JDialog {
private Timer timer = new Timer();
boolean animate = false;
private final JPanel contentPanel = new JPanel();
JLabel lblTitleAgk = new JLabel();
JLabel lblTitleStatus = new JLabel();
JLabel lblTitleTime = new JLabel();
JLabel lblTitleRiver = new JLabel();
JLabel lblTitleRepair = new JLabel();
JLabel lblTitleOpenDoor = new JLabel();
JLabel lblTitleVeracity = new JLabel();
ImageIcon IconNotification = new ImageIcon(getClass().getResource(
"/notification.png"));
JLabel lblIcon = new JLabel();
JButton okButton = new JButton("ПОДТВЕРЖДЕНИЕ");
public MdlEvent ev;
private void setVisibleFalse() {
this.setVisible(false);
}
private class AnimateTask extends TimerTask {
@Override
public void run() {
EventQueue.invokeLater(new Runnable() {
//@Override
public void run() {
if (ev != null) {
if (animate) {
contentPanel
.setBackground(new Color(102, 102, 255));
animate = false;
} else {
animate = true;
contentPanel
.setBackground(new Color(204, 102, 102));
}
int countanimate = ev.getCoundAnimate();
if (countanimate > 0) {
ev.setCountAnimate(countanimate - 1);
} else {
if (ev.getSound()) {
int countsound = ev.getCountSound();
// on sound method
Util.Alarm();
if (countsound > 0) {
ev.setCountSound(countsound - 1);
} else {
if (ev.getSiren()) {
Util.RunSiren();
}
}
}
}
}
}
});
}
}
public void setEvent(MdlEvent event) {
SData.INSTANCE.setIsOpenDialog(true);
this.ev = event;
lblTitleAgk.setText(event.getTitleAgk());
lblTitleAgk.setForeground(Color.WHITE);
lblTitleStatus.setText(event.getTitleStatusForConfirm());
lblTitleStatus.setForeground(Color.WHITE);
lblTitleStatus.setIcon(event.getIconStatusLarge());
lblTitleTime.setText(event.getDateTime());
lblTitleTime.setIcon(event.getIconDateTime());
lblTitleTime.setForeground(Color.WHITE);
lblTitleRiver.setText(event.getTitleRiver());
lblTitleRiver.setIcon(event.getIconRiver());
lblTitleRiver.setForeground(Color.WHITE);
lblTitleRepair.setText(event.getTitleRepair());
lblTitleRepair.setForeground(Color.WHITE);
lblTitleRepair.setIcon(event.getIconRepairLarge());
lblTitleOpenDoor.setText(event.getTitleOpenDorr());
lblTitleOpenDoor.setForeground(Color.WHITE);
lblTitleOpenDoor.setIcon(event.getIconOpenDoorLarge());
lblTitleVeracity.setText(event.getTitleVeracity());
lblTitleVeracity.setForeground(Color.WHITE);
lblTitleVeracity.setIcon(event.getIconVeracityLarge());
}
public DlgConfirm( ) {
contentPanel.setLayout(null);
contentPanel.setBorder(new LineBorder(new Color(100, 149, 237), 10));
this.setUndecorated(true);
this.setForeground(UIManager.getColor("activeCaption"));
this.setBackground(Color.BLUE);
this.setLayout(null);
this.setSize(500, 370);
this.setLocationRelativeTo(null); // CENTER
this.setAlwaysOnTop(true);
this.setModal(true);
lblTitleAgk.setFont(new Font(null, Font.BOLD, 18));
lblTitleStatus.setFont(new Font(null, Font.BOLD, 18));
lblTitleTime.setFont(new Font(null, Font.BOLD, 18));
lblTitleRiver.setFont(new Font(null, Font.BOLD, 18));
lblTitleRepair.setFont(new Font(null, Font.ITALIC, 14));
lblTitleVeracity.setFont(new Font(null, Font.ITALIC, 14));
lblTitleOpenDoor.setFont(new Font(null, Font.ITALIC, 14));
contentPanel.setForeground(Color.BLUE);
this.setBackground(Color.BLUE);
lblTitleAgk.setBounds(15, 15, 300, 35);
contentPanel.add(lblTitleAgk);
lblTitleStatus.setBounds(15, 50, 450, 35);
contentPanel.add(lblTitleStatus);
lblTitleRiver.setBounds(15, 85, 345, 35);
contentPanel.add(lblTitleRiver);
lblTitleTime.setBounds(15, 120, 300, 35);
contentPanel.add(lblTitleTime);
lblTitleRepair.setBounds(15, 155, 300, 35);
contentPanel.add(lblTitleRepair);
lblTitleVeracity.setBounds(15, 190, 300, 35);
contentPanel.add(lblTitleVeracity);
lblTitleOpenDoor.setBounds(15, 225, 300, 35);
contentPanel.add(lblTitleOpenDoor);
lblIcon.setBounds(350, 100, 124, 124);
Image img = IconNotification.getImage();
Image newimg = img.getScaledInstance(124, 124,
java.awt.Image.SCALE_SMOOTH);
IconNotification = new ImageIcon(newimg);
lblIcon.setIcon(IconNotification);
contentPanel.add(lblIcon);
contentPanel.setBounds(5, 5, 490, 280);
add(contentPanel);
okButton.setBorder(new LineBorder(new Color(100, 149, 237), 7));
okButton.setFont(new Font("Tahoma", Font.PLAIN, 24));
okButton.setPreferredSize(new Dimension(320, 80));
okButton.setMinimumSize(new Dimension(220, 80));
okButton.setMaximumSize(new Dimension(220, 80));
okButton.setMnemonic(KeyEvent.VK_COMPOSE);
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
MdlEvent buff = ev;
ev = null;
Util.StopSiren();
EventTableModel model = (EventTableModel) SZSTerminal.jpnllog.table
.getModel();
model.AddRow(buff);
model.Update();
SZSTerminal.jpnllog.table.updateUI();
setVisibleFalse();
SData.INSTANCE.Confirm(buff);
}
});
}
});
okButton.setBounds(5, 290, 488, 75);
add(okButton);
timer.schedule(new AnimateTask(), 0, 1000);
}
}
package org.emercit.components;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GraphicsEnvironment;
import java.awt.Image;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import java.awt.event.KeyEvent;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JLabel;
import java.awt.ComponentOrientation;
import java.awt.Font;
import javax.swing.UIManager;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.SystemColor;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.ImageIcon;
import javax.swing.SwingWorker;
import java.util.ArrayList;
import java.io.File;
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import org.emercit.model.*;
import org.emercit.service.SData;
import org.emercit.szsterminal.*;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JCheckBox;
import javax.swing.JTextField;
import javax.swing.JFormattedTextField;
import javax.swing.text.MaskFormatter;
import org.emercit.config.*;
public class DlgMainConfig extends JDialog {
private final JPanel contentPanel = new JPanel();
private JButton ApplyButton = new JButton("ПРИМЕНИТЬ");
private JLabel lblGUID=new JLabel("GUID:");
private JLabel lblProxyServer=new JLabel("Server:");
private JLabel lblProxyPort=new JLabel("Port:");
private JLabel lblPassword=new JLabel("Password:");
public static JCheckBox chkUseProxy=new JCheckBox();
public static JTextField txtGUID=new JTextField();
public static JFormattedTextField txtProxyServer;
public static JFormattedTextField txtProxyPort;
private void setIsOpen(boolean visible) {
this.setVisible(visible);
}
public void setValue(Config config) {
this.txtGUID.setText(config.getRegKey());
this.txtProxyServer.setText(config.getProxyServer());
this.txtProxyPort.setText(String.valueOf(config.getProxyPort()));
this.chkUseProxy.setSelected(config.getProxyEnabled());
}
private void setVisibleFalse() {
this.setVisible(false);
}
public DlgMainConfig() {
try {
contentPanel.setLayout(null);
contentPanel.setBorder(new LineBorder(new Color(100, 149, 237), 10));
this.setTitle("Настройка программы");
//this.setUndecorated(true);
this.setForeground(UIManager.getColor("activeCaption"));
this.setBackground(Color.BLUE);
this.setLayout(null);
this.setSize(500, 400);
this.setLocationRelativeTo(null); // CENTER
this.setAlwaysOnTop(true);
this.setModal(true);
contentPanel.setForeground(Color.BLUE);
this.setBackground(Color.BLUE);
// GUID
this.lblGUID.setFont(new Font(null, Font.BOLD, 18));
this.lblGUID.setBounds(15, 20, 110, 35);
contentPanel.add(lblGUID);
this.txtGUID.setFont(new Font(null, Font.BOLD, 18));
this.txtGUID.setBounds(80, 20, 370, 35);
contentPanel.add(txtGUID);
// use Proxy
this.chkUseProxy.setFont(new Font(null, Font.BOLD, 18));
this.chkUseProxy.setBounds(15, 57, 370, 35);
this.chkUseProxy.setText("Proxy");
contentPanel.add(chkUseProxy);
//Server
this.lblProxyServer.setFont(new Font(null, Font.BOLD, 18));
this.lblProxyServer.setBounds(15, 100, 110, 35);
contentPanel.add(lblProxyServer);
MaskFormatter formatteIp = new MaskFormatter("###.###.###.###");
this.txtProxyServer = new JFormattedTextField(formatteIp);
this.txtProxyServer.setFont(new Font(null, Font.BOLD, 18));
this.txtProxyServer.setBounds(90, 100, 350, 35);
contentPanel.add(txtProxyServer);
// Port
this.lblProxyPort.setFont(new Font(null, Font.BOLD, 18));
this.lblProxyPort.setBounds(15, 143, 110, 35);
contentPanel.add(lblProxyPort);
MaskFormatter formattePort = new MaskFormatter("####");
this.txtProxyPort = new JFormattedTextField(formattePort);
this.txtProxyPort.setFont(new Font(null, Font.BOLD, 18));
this.txtProxyPort.setBounds(90, 143, 350, 35);
contentPanel.add(txtProxyPort);
contentPanel.setBounds(5, 5, 490, 280);
add(contentPanel);
ApplyButton.setBorder(new LineBorder(new Color(100, 149, 237), 7));
ApplyButton.setFont(new Font("Tahoma", Font.PLAIN, 24));
ApplyButton.setPreferredSize(new Dimension(320, 80));
ApplyButton.setMinimumSize(new Dimension(220, 80));
ApplyButton.setMaximumSize(new Dimension(220, 80));
ApplyButton.setMnemonic(KeyEvent.VK_COMPOSE);
ApplyButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
setVisibleFalse();
try
{
Config config=SData.INSTANCE.getConfig();
config.setRegkey(DlgMainConfig.txtGUID.getText());
config.setProxyServer(DlgMainConfig.txtProxyServer.getText());
config.setProxyPort(Integer.valueOf(DlgMainConfig.txtProxyPort.getText()));
config.setProxyEnabled(DlgMainConfig.chkUseProxy.isSelected());
config.Save();
SData.INSTANCE.SetConfig(config);
//configmain.setServer(DlgMainConfig.txtProxyServer.getText());
//configmain.setPort(Integer.valueOf(DlgMainConfig.txtProxyPort.getText()));
// String inputpassword=DlgMainConfig.txtPassword.getText();
// String pass=SZSTerminal.configmain.getPassword();
// if (inputpassword.trim().equals(pass.trim())) {
// SZSTerminal.configmain.Save();
// }
}
catch (Exception e) {
}
}
});
}
});
ApplyButton.setBounds(5, 290, 488, 75);
add(ApplyButton);
}
catch(Exception e) {
}
}
}
package org.emercit.components;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JPanel;
import javax.swing.*;
public class DrawPanel extends JComponent implements Runnable {
private long t = System.nanoTime();
public DrawPanel() {
super();
new Thread(this).start();
}
//@Override
public void run() {
while (true) {
repaint();
try {
Thread.sleep(5);
} catch (InterruptedException ex) {
}
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
long tm = System.nanoTime() - t;
double angle = tm / 300000000.0;
double sn = Math.sin(Math.sin(angle) * 0.5);
double cs = Math.cos(Math.sin(angle) * 0.5);
int x = (int) (250 * sn + 150);
int y = (int) (250 * cs);
g2d.drawLine(150, 0, x, y);
g2d.drawOval(x - 20, y - 20, 40, 40);
}
}
package org.emercit.components;
import javax.swing.JButton;
public class ExtJButton extends JButton {
public ExtJButton(String title) {
this.setBounds(0, 0, 150, 50);
this.setVisible(true);
this.setText(title);
}
}
package org.emercit.components;
import javax.swing.JLabel;
public class ExtJLabel extends JLabel {
public ExtJLabel(String title) {
this.setBounds(0, 0, 70, 50);
this.setVisible(true);
this.setText(title);
}
}
package org.emercit.components;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ExtPnlAgk extends JPanel {
protected int _strokeSize = 1;
protected Color _shadowColor = Color.BLACK;
protected boolean _shadowed = true;
protected boolean _highQuality = true;
protected Dimension _arcs = new Dimension(15, 15);
protected int _shadowGap = 5;
protected int _shadowOffset = 4;
protected int _shadowAlpha = 150;
public Color _backgroundColor = Color.lightGray;
public ExtPnlAgk() {
super();
}
/*
* @Override public void setBackground(Color c) { _backgroundColor = c; }
*/
public void setGreen() {
_backgroundColor = new Color(51, 204, 102);
}
public void setYellow() {
_backgroundColor = new Color(255, 255, 102);
}
public void setRed() {
_backgroundColor = new Color(255, 51, 102);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
int shadowGap = this._shadowGap;
Color shadowColorA = new Color(_shadowColor.getRed(),
_shadowColor.getGreen(), _shadowColor.getGreen(), _shadowAlpha);
Graphics2D graphics = (Graphics2D) g;
if (_highQuality) {
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
}
if (_shadowed) {
graphics.setColor(shadowColorA);
graphics.fillRoundRect(_shadowOffset, _shadowOffset, width
- _strokeSize - _shadowOffset, height - _strokeSize
- _shadowOffset, _arcs.width, _arcs.height);
} else {
_shadowGap = 1;
}
graphics.setColor(_backgroundColor);
graphics.fillRoundRect(0, 0, width - shadowGap, height - shadowGap,
_arcs.width, _arcs.height);
graphics.setStroke(new BasicStroke(_strokeSize));
graphics.setColor(getForeground());
graphics.drawRoundRect(0, 0, width - shadowGap, height - shadowGap,
_arcs.width, _arcs.height);
graphics.setStroke(new BasicStroke());
}
}
package org.emercit.components;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JPanel;
public class ExtPnlInfo extends JPanel {
protected int _strokeSize = 1;
protected Color _shadowColor = Color.BLACK;
protected boolean _shadowed = true;
protected boolean _highQuality = true;
protected Dimension _arcs = new Dimension(7, 7);
protected int _shadowGap = 3;
protected int _shadowOffset = 1;
protected int _shadowAlpha = 75;
public ExtPnlInfo() {
super();
setOpaque(false);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
int shadowGap = this._shadowGap;
Color shadowColorA = new Color(_shadowColor.getRed(),
_shadowColor.getGreen(), _shadowColor.getBlue(), _shadowAlpha);
Graphics2D graphics = (Graphics2D) g;
if (_highQuality) {
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
}
if (_shadowed) {
graphics.setColor(shadowColorA);
graphics.fillRoundRect(_shadowOffset, _shadowOffset, width
- _strokeSize - _shadowOffset, height - _strokeSize
- _shadowOffset, _arcs.width, _arcs.height);
} else {
_shadowGap = 1;
}
graphics.setColor(Color.WHITE);
graphics.fillRoundRect(0, 0, width - shadowGap, height - shadowGap,
_arcs.width, _arcs.height);
graphics.setStroke(new BasicStroke(_strokeSize));
graphics.setColor(getForeground());
graphics.drawRoundRect(0, 0, width - shadowGap, height - shadowGap,
_arcs.width, _arcs.height);
graphics.setStroke(new BasicStroke());
}
}
\ No newline at end of file
package org.emercit.components;
import java.awt.Color;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.Image;
import java.awt.Font;
import org.emercit.model.*;
import javax.swing.UIManager;
public class JPnlAgk extends ExtPnlAgk {
private class JPnlInfoExt extends ExtPnlInfo {
}
private int id;
private JLabel lblTitleAgk = new JLabel();
private JLabel lblTitleRiver = new JLabel();
private JLabel lblTitleStatus = new JLabel();
private JLabel lblTitleOpenDoor = new JLabel();
private JLabel lblTitleRepair = new JLabel();
private JLabel lblTitleVeracity = new JLabel();
private JPnlInfoExt JPnlInfo = new JPnlInfoExt();
public JPnlAgk(MdlEvent event) {
setLayout(null);
lblTitleAgk.setBounds(7, 47, 70, 15);
lblTitleAgk.setText(event.getTitleAgk());
// lblTitleAgk.setFont(new Font(null, Font.ITALIC, 14));
lblTitleAgk.setFont(new Font(null, Font.BOLD, 14));
lblTitleAgk.setForeground(Color.BLACK);
add(lblTitleAgk);
JPnlInfo.setLayout(null);
JPnlInfo.setBounds(83, 7, 142, 88);
// River
lblTitleRiver.setText(event.getTitleRiver());
lblTitleRiver.setForeground(Color.BLACK);
if (event.getIdStatus() != 0 || event.getOpenDorr()
|| event.getRepair() || !event.getVeracity()) {
this.setYellow();
if (event.getIdStatus() == 2)
this.setRed();
lblTitleRiver.setFont(new Font(null, Font.ITALIC, 12));
lblTitleRiver.setBounds(3, 3, 138, 15);
JPnlInfo.add(lblTitleRiver);
/*
* ***************************STATUS***************************
*/
lblTitleStatus.setBounds(3, 18, 138, 15);
lblTitleStatus.setFont(new Font(null, Font.ITALIC, 11));
lblTitleStatus.setText("cтатус:" + event.getTitleStatus());
lblTitleStatus.setForeground(event.getColorStatus());
lblTitleStatus.setIcon(event.getIconStatusSmall());
JPnlInfo.add(lblTitleStatus);
// **********************************************************************************
/*
* *****************************DOOR********************************
*/
lblTitleOpenDoor.setBounds(3, 34, 138, 15);
lblTitleOpenDoor.setFont(new Font(null, Font.ITALIC, 11));
lblTitleOpenDoor.setText(event.getTitleOpenDorr());
lblTitleOpenDoor.setForeground(event.getColorOpenDoor());
lblTitleOpenDoor.setIcon(event.getIconOpenDoorSmall());
JPnlInfo.add(lblTitleOpenDoor);
// ***************************************************************************
/*
* *****************************REPAIR*******************************
* *
*/
lblTitleRepair.setBounds(3, 50, 138, 15);
lblTitleRepair.setFont(new Font(null, Font.ITALIC, 11));
lblTitleRepair.setText(event.getTitleRepair());
lblTitleRepair.setForeground(event.getColorRepair());
lblTitleRepair.setIcon(event.getIconRepairSmall());
JPnlInfo.add(lblTitleRepair);
// ***************************************************************************
/*
* ******************************VERACITY****************************
* *********
*/
lblTitleVeracity.setBounds(3, 66, 138, 15);
lblTitleVeracity.setFont(new Font(null, Font.ITALIC, 11));
lblTitleVeracity.setText(event.getTitleVeracity());
lblTitleVeracity.setForeground(event.getColorVeracity());
lblTitleVeracity.setIcon(event.getIconVeracitySmall());
JPnlInfo.add(lblTitleVeracity);
// ****************************************************************************
add(JPnlInfo);
} else {
this.setGreen();
lblTitleRiver.setFont(new Font(null, Font.ITALIC, 14));
lblTitleRiver.setBounds(83, 47, 138, 15);
JPnlInfo.add(lblTitleRiver);
add(lblTitleRiver);
}
}
}
package org.emercit.components;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextPane;
import javax.swing.JScrollPane;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Font;
import java.awt.RenderingHints;
import java.util.Random;
import java.util.TimerTask;
import java.io.*;
import java.util.*;
import java.awt.Toolkit;
import java.net.URL;
import java.nio.*;
import java.net.*;
import javax.swing.SwingWorker;
public class JPnlContacts extends RoundedPanel3 {
private JTextPane pane = new JTextPane();
public JPnlContacts() {
this.setLayout(null);
pane.setFont(new Font(null, Font.ITALIC, 22));
// lblContact.setText(SZSTerminal.configmain.getPhone());
pane.setText("");
// pane.setBounds(10, 5, 750, 440);
JScrollPane sp = new JScrollPane(pane);
sp.setBounds(10, 5, 750, 440);
this.add(sp);
// setBackground(new Color(168, 181, 224)); // blue
}
public void setTitleContact(String title) {
try {
pane.setEditable(false);
pane.setText(title);
}
catch(Exception e) {
}
}
}
\ No newline at end of file
package org.emercit.components;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextPane;
import javax.swing.JScrollPane;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Font;
import java.awt.RenderingHints;
import java.util.Enumeration;
import java.util.Random;
import java.util.TimerTask;
import java.io.*;
import java.util.*;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.nio.*;
import java.net.*;
import java.net.*;
import java.io.*;
import java.util.StringTokenizer;
import javax.swing.SwingWorker;
import org.emercit.config.Config;
import org.emercit.service.SData;
import org.emercit.szsterminal.SZSTerminal;
public class JPnlControl extends RoundedPanel3 {
private JButton JbtnMainConfig=new JButton("НАСТРОЙКИ ПРОГРАММЫ");
public JPnlControl() {
this.setLayout(null);
JbtnMainConfig.addActionListener(new openSettingMainConfig());
JbtnMainConfig.setBounds(10, 20, 220, 30);
this.add(JbtnMainConfig);
}
static class exitApp implements ActionListener {
public void actionPerformed(ActionEvent e) {
}
}
static class openSettingMainConfig implements ActionListener {
public void actionPerformed(ActionEvent e) {
DlgMainConfig dlgmainconfig=new DlgMainConfig();
Config config=SData.INSTANCE.getConfig();
dlgmainconfig.setValue(config);
dlgmainconfig.show();
}
}
}
package org.emercit.components;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Font;
import java.awt.RenderingHints;
import java.util.Random;
import java.util.TimerTask;
import java.io.*;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.border.Border;
import java.util.Comparator;
import org.emercit.model.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.*;
import java.awt.Toolkit;
import java.net.URL;
import java.nio.*;
import java.net.*;
import java.awt.EventQueue;
import javax.swing.SwingWorker;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.util.*;
public class JPnlCurrent extends RoundedPanel3 {
public class EventComparator1 implements Comparator<MdlEvent> {
// @Override
public int compare(MdlEvent a, MdlEvent b) {
return Integer.valueOf(a.getIdStatus()).compareTo(
Integer.valueOf(b.getIdStatus()));
}
}
private JButton btnDown = new JButton();
private JButton btnUp = new JButton();
private JPanel panel = new JPanel();
private int start = 0;
private int end = 9;
private List<MdlEvent> lstevent;
private EventComparator1 eventComparator1=new EventComparator1();
public void setListEventCurrent(List<MdlEvent> lstevent) {
this.lstevent = lstevent;
try {
Update();
}
catch(Exception e) {
}
}
private void Update()throws Exception {
Collections.sort(lstevent, eventComparator1);
panel.removeAll();
int x = 0;
int y = 10;
for (int i = start; i < end; i++) {
try {
JPnlAgk agk = new JPnlAgk(lstevent.get(i));
agk.setBounds(x, y, 240, 105);
panel.add(agk);
x += 250;
if (x > 500) {
x = 0;
y += 105;
}
}
catch(Exception e) {
}
}
panel.updateUI();
}
private void Up() throws Exception {
if (start - 9 <= 0) {
start = 0;
end = 9;
btnUp.setEnabled(false);
} else {
end = start;
start = start - 9;
}
Update();
}
private void Down() throws Exception {
if (end + 9 > lstevent.size()) {
start = end;
end = lstevent.size();
btnDown.setEnabled(false);
} else {
start = end;
end += 9;
}
Update();
}
public JPnlCurrent() {
btnUp.setEnabled(false);
this.setBackground(new Color(168, 181, 224));
this.setLayout(null);
panel.setBounds(5, 5, 740, 350);
panel.setLayout(null);
panel.setBackground(new Color(168, 181, 224));
this.add(panel);
panel.updateUI();
ImageIcon imgUp = new ImageIcon(getClass().getResource("/top.png"));
btnUp.setIcon(imgUp);
btnUp.setBounds(5, 355, 370, 100);
btnUp.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
btnDown.setEnabled(true);
Up();
}
catch(Exception e) {
}
}
});
}
});
add(btnUp);
ImageIcon imgDown = new ImageIcon(getClass().getResource("/bottom.png"));
btnDown.setIcon(imgDown);
btnDown.setBounds(385, 355, 370, 100);
btnDown.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
btnUp.setEnabled(true);
Down();
}
catch(Exception e) {
}
}
});
}
});
add(btnDown);
}
}
package org.emercit.components;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.border.Border;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class JPnlHeader extends RoundedPanel3 {
private JLabel jlblclock;
private JLabel jlbltitle;
private JLabel jlblconnect;
private JButton jbtnExit;
public JPnlHeader(String title) {
this.setLayout(null);
// время
jlblclock = new JLabel();
jlblclock.setBounds(5, 2, 300, 30);
jlblclock.setText("Сегодня:03.03.2014 08:55:33");
jlblclock.setFont(new Font(null, Font.ITALIC, 13));
jlblclock.setForeground(Color.YELLOW);
jlblclock.setIcon(new ImageIcon(this.getClass().getResource(
"/clock.png")));
add(jlblclock);
// название
jlbltitle = new JLabel();
jlbltitle.setBounds(320, 2, 250, 30);
jlbltitle.setText(title);
jlbltitle.setFont(new Font(null, Font.ITALIC, 13));
jlbltitle.setForeground(Color.YELLOW);
add(jlbltitle);
// connect
jlblconnect = new JLabel();
jlblconnect.setBounds(600, 5, 50, 30);
ChangeConnectImg(false);
add(jlblconnect);
// exit
jbtnExit = new JButton("Выход");
jbtnExit.setText("ВЫХОД");
jbtnExit.addActionListener(new exitApp());
jbtnExit.setBounds(650, 5, 100, 30);
// add(jbtnExit);
}
static class exitApp implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
/*
* Обновляем время
*/
public void UpdateTime(String val) {
jlblclock.setText(val);
}
public void SetBlue() {
setBackground(new Color(168, 181, 224));
}
public void ChangeConnectImg(boolean connect) {
if (connect) {
jlblconnect.setIcon(new ImageIcon(this.getClass().getResource(
"/connect_service.png")));
} else {
jlblconnect.setIcon(new ImageIcon(this.getClass().getResource(
"/disconnect_service.png")));
}
this.repaint();
}
public void setTitleSubscriver(String title) {
try {
jlbltitle.setText(title);
}
catch(Exception e) {
}
}
}
package org.emercit.components;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Font;
import java.awt.RenderingHints;
import java.util.ArrayList;
import java.util.Random;
import java.util.TimerTask;
import java.io.*;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTable;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Font;
import java.awt.RenderingHints;
import java.util.Random;
import java.util.TimerTask;
import java.io.*;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.border.Border;
import org.emercit.model.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.*;
import java.awt.Toolkit;
import java.net.URL;
import java.nio.*;
import java.net.*;
import java.awt.EventQueue;
import javax.swing.SwingWorker;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import javax.swing.SwingWorker;
import javax.swing.table.TableModel;
import org.emercit.szsterminal.*;
public class JPnlLog extends RoundedPanel3 {
private JButton btnDown = new JButton();
private JButton btnUp = new JButton();
TableModel model = new EventTableModel();
public JButton btnBtndown = new JButton();
public JTable table = new JTable(model);
private int start = 0;
private int end = 7;
private void Update() {
EventTableModel model = (EventTableModel) SZSTerminal.jpnllog.table
.getModel();
model.Update(start, end);
SZSTerminal.jpnllog.table.updateUI();
}
private void Up() {
if (start - 7 <= 0) {
start = 0;
end = 7;
btnUp.setEnabled(false);
} else {
end = start;
start = start - 7;
}
Update();
}
private void Down() {
EventTableModel model = (EventTableModel) SZSTerminal.jpnllog.table
.getModel();
int valsize = model.getSize();
if (end + 7 > valsize) {
start = end;
end = valsize;
btnDown.setEnabled(false);
} else {
start = end;
end += 7;
}
Update();
}
public JPnlLog() {
btnUp.setEnabled(false);
this.setBackground(new Color(168, 181, 224));
this.setLayout(null);
table.setBounds(5, 5, 760, 350);
table.setDefaultRenderer(MdlEvent.class, new EventCellRenderer());
table.setRowHeight(40);
table.setBackground(new Color(168, 181, 224));
this.add(table);
ImageIcon imgUp = new ImageIcon(getClass().getResource("/top.png"));
btnUp.setIcon(imgUp);
btnUp.setBounds(5, 355, 370, 100);
btnUp.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
btnDown.setEnabled(true);
Up();
}
});
}
});
add(btnUp);
ImageIcon imgDown = new ImageIcon(getClass().getResource("/bottom.png"));
btnDown.setIcon(imgDown);
btnDown.setBounds(385, 355, 370, 100);
btnDown.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
btnUp.setEnabled(true);
Down();
}
});
}
});
add(btnDown);
}
}
package org.emercit.components;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JPanel;
public class RoundedPanel2 extends JPanel {
protected int _strokeSize = 1;
protected Color _shadowColor = Color.BLACK;
protected boolean _shadowed = true;
protected boolean _highQuality = true;
protected Dimension _arcs = new Dimension(15, 15);
protected int _shadowGap = 3;
protected int _shadowOffset = 1;
protected int _shadowAlpha = 75;
protected Color _backgroundColor = new Color(168, 181, 224);
public RoundedPanel2() {
super();
setOpaque(false);
}
@Override
public void setBackground(Color c) {
_backgroundColor = c;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
int shadowGap = this._shadowGap;
Color shadowColorA = new Color(_shadowColor.getRed(),
_shadowColor.getGreen(), _shadowColor.getBlue(), _shadowAlpha);
Graphics2D graphics = (Graphics2D) g;
if (_highQuality) {
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
}
if (_shadowed) {
graphics.setColor(shadowColorA);
graphics.fillRoundRect(_shadowOffset, _shadowOffset, width
- _strokeSize - _shadowOffset, height - _strokeSize
- _shadowOffset, _arcs.width, _arcs.height);
} else {
_shadowGap = 1;
}
graphics.setColor(_backgroundColor);
graphics.fillRoundRect(0, 0, width - shadowGap, height - shadowGap,
_arcs.width, _arcs.height);
graphics.setStroke(new BasicStroke(_strokeSize));
graphics.setColor(getForeground());
graphics.drawRoundRect(0, 0, width - shadowGap, height - shadowGap,
_arcs.width, _arcs.height);
graphics.setStroke(new BasicStroke());
}
}
\ No newline at end of file
package org.emercit.components;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JPanel;
public class RoundedPanel3 extends JPanel {
protected int _strokeSize = 1;
protected Color _shadowColor = Color.BLACK;
protected boolean _shadowed = true;
protected boolean _highQuality = true;
protected Dimension _arcs = new Dimension(30, 30);
protected int _shadowGap = 5;
protected int _shadowOffset = 4;
protected int _shadowAlpha = 150;
public Color _backgroundColor = Color.LIGHT_GRAY;
public RoundedPanel3() {
super();
setOpaque(false);
}
@Override
public void setBackground(Color c) {
_backgroundColor = c;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
int shadowGap = this._shadowGap;
Color shadowColorA = new Color(_shadowColor.getRed(),
_shadowColor.getGreen(), _shadowColor.getBlue(), _shadowAlpha);
Graphics2D graphics = (Graphics2D) g;
if (_highQuality) {
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
}
if (_shadowed) {
graphics.setColor(shadowColorA);
graphics.fillRoundRect(_shadowOffset, _shadowOffset, width
- _strokeSize - _shadowOffset, height - _strokeSize
- _shadowOffset, _arcs.width, _arcs.height);
} else {
_shadowGap = 1;
}
graphics.setColor(_backgroundColor);
graphics.fillRoundRect(0, 0, width - shadowGap, height - shadowGap,
_arcs.width, _arcs.height);
graphics.setStroke(new BasicStroke(_strokeSize));
graphics.setColor(getForeground());
graphics.drawRoundRect(0, 0, width - shadowGap, height - shadowGap,
_arcs.width, _arcs.height);
graphics.setStroke(new BasicStroke());
}
}
\ No newline at end of file
package org.emercit.config;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.awt.Toolkit;
import java.net.URL;
import org.apache.log4j.Logger;
public class Config {
static final Logger logger = Logger.getLogger(Config.class);
private Properties prop = new Properties();
private String regkey;
private String service;
private boolean proxyEnabled;
private String proxyServer;
private int proxyPort;
private String version;
public Config() {
InputStream input = null;
try {
input = new FileInputStream("szsterminal.properties");
prop.load(input);
this.regkey=String.valueOf(prop.getProperty("regkey"));
this.service=String.valueOf(prop.getProperty("service"));
this.proxyEnabled=Boolean.valueOf(prop.getProperty("proxyEnabled"));
this.proxyServer=String.valueOf(prop.getProperty("proxyServer"));
this.proxyPort=Integer.valueOf(prop.getProperty("proxyPort"));
//029d10ca-22c3-4303-8fc0-2d2c586990a1
this.version=String.valueOf(prop.getProperty("version"));
} catch (IOException ex) {
logger.error(ex.getMessage());
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
logger.error(e.getMessage());
}
}
}
}
public void Save() {
OutputStream output = null;
try {
output = new FileOutputStream("szsterminal.properties");
prop.setProperty("regkey", String.valueOf(this.regkey));
// prop.setProperty("service", String.valueOf(this.service));
prop.setProperty("proxyEnabled", String.valueOf(this.proxyEnabled));
prop.setProperty("proxyServer", String.valueOf(this.proxyServer));
prop.setProperty("proxyPort", String.valueOf(this.proxyPort));
prop.setProperty("version", String.valueOf(this.version));
prop.store(output, null);
} catch (IOException io) {
} finally {
if (output != null) {
try {
output.close();
} catch (IOException e) {
}
}
}
}
/*
* Get
*/
public String getRegKey() {
return this.regkey;
}
public String getService() {
return this.service;
}
public boolean getProxyEnabled() {
return this.proxyEnabled;
}
public String getProxyServer() {
return this.proxyServer;
}
public int getProxyPort() {
return this.proxyPort;
}
public String getVersion() {
return this.version;
}
/*
* Set
*/
public void setRegkey(String value){
this.regkey=value;
}
public void setService(String value){
this.service=value;
}
public void setProxyEnabled(boolean value){
this.proxyEnabled=value;
}
public void setProxyServer(String value){
this.proxyServer=value;
}
public void setProxyPort(int value){
this.proxyPort=value;
}
public void setVersion(String version) {
this.version=version;
}
}
#include <jni.h>
#include <stdio.h>
#include "model_SirenJNI.h"
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <asm/ioctl.h>
#include <linux/parport.h>
#include <linux/ppdev.h>
#define DEVICE "/dev/parport0"
JNIEXPORT void JNICALL Java_model_SirenJNI_sirenOn(JNIEnv *env, jobject obj) {
int fd = open(DEVICE, O_WRONLY | O_NOCTTY | O_NDELAY);
if (fd < 0) {
// fprintf(stderr, "can not open %s\n", DEVICE);
return;
}
if(ioctl(fd, PPCLAIM)) {
perror("PPCLAIM");
close(fd);
return;
}
unsigned char data = 255;
if (ioctl(fd, PPWDATA, &data) < 0)
perror("ioctl()");
ioctl(fd, PPRELEASE);
close(fd);
return;
}
JNIEXPORT void JNICALL Java_model_SirenJNI_sirenOff (JNIEnv *env, jobject obj) {
int fd = open(DEVICE, O_WRONLY | O_NOCTTY | O_NDELAY);
if (fd < 0) {
// fprintf(stderr, "can not open %s\n", DEVICE);
return;
}
if(ioctl(fd, PPCLAIM)) {
perror("PPCLAIM");
close(fd);
return;
}
unsigned char data = 0;
if (ioctl(fd, PPWDATA, &data) < 0)
perror("ioctl()");
ioctl(fd, PPRELEASE);
close(fd);
return;
}
#!/bin/bash
#gcc -std=gnu99 -shared -fPIC -c Siren.c -L/usr/local/lib/lisiren.so -I /usr/java/jdk1.7.0_04/include/ -I /usr/java/jdk1.7.0_04/include/linux/
#gcc -shared Siren.o -shared -o libsiren.so -Wl,-soname,siren
gcc -std=gnu99 -shared -fPIC -c Siren.c -L/usr/local/lib/lisiren.so -I /usr/lib/jvm/java-1.7.0-openjdk-amd64/include -I /usr/lib/jvm/java-1.7.0-openjdk-amd64/include/linux/
gcc -shared Siren.o -shared -o libsiren.so -Wl,-soname,siren
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class model_SirenJNI */
#ifndef _Included_model_SirenJNI
#define _Included_model_SirenJNI
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: model_SirenJNI
* Method: sirenOn
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_model_SirenJNI_sirenOn
(JNIEnv *, jobject);
/*
* Class: model_SirenJNI
* Method: sirenOff
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_model_SirenJNI_sirenOff
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
package org.emercit.model;
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.UnsupportedAudioFileException;
import java.net.*;
public class AePlayWave extends Thread {
private String filename;
private Position curPosition;
private final int EXTERNAL_BUFFER_SIZE = 524288; // 128Kb
enum Position {
LEFT, RIGHT, NORMAL
};
public AePlayWave(String wavfile) {
filename = wavfile;
curPosition = Position.NORMAL;
}
public AePlayWave(String wavfile, Position p) {
filename = wavfile;
curPosition = p;
}
public void run() {
// URL url= getClass().getResource(filename);
// URL jarLocation =
// getClass().getProtectionDomain().getCodeSource().getLocation();
// URL dataXML = new URL(jarLocation, "config.xml");
// URL url;
// url = this.getClass().getResource("/config.xml");
try {
File soundFile = new File(getClass().getResource(filename)
.getFile());
if (!soundFile.exists()) {
System.err.println("Wave file not found: " + filename);
return;
}
AudioInputStream audioInputStream = null;
try {
audioInputStream = AudioSystem.getAudioInputStream(soundFile);
} catch (UnsupportedAudioFileException e1) {
e1.printStackTrace();
return;
} catch (IOException e1) {
e1.printStackTrace();
return;
}
AudioFormat format = audioInputStream.getFormat();
SourceDataLine auline = null;
DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
try {
auline = (SourceDataLine) AudioSystem.getLine(info);
auline.open(format);
} catch (LineUnavailableException e) {
e.printStackTrace();
return;
} catch (Exception e) {
e.printStackTrace();
return;
}
if (auline.isControlSupported(FloatControl.Type.PAN)) {
FloatControl pan = (FloatControl) auline
.getControl(FloatControl.Type.PAN);
if (curPosition == Position.RIGHT)
pan.setValue(1.0f);
else if (curPosition == Position.LEFT)
pan.setValue(-1.0f);
}
auline.start();
int nBytesRead = 0;
byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];
try {
while (nBytesRead != -1) {
nBytesRead = audioInputStream
.read(abData, 0, abData.length);
if (nBytesRead >= 0)
auline.write(abData, 0, nBytesRead);
}
} catch (IOException e) {
e.printStackTrace();
return;
} finally {
auline.drain();
auline.close();
}
} catch (Exception e1) {
}
}
}
package org.emercit.model;
public class EventAgk {
public long id;
public int id_agk;
public String river;
public String datetime;
public String value;
public int id_status; // 0-norm, 1-nj-2, oj;
public boolean repair; // true -repair; false- no repair
public boolean opendoor; // true - open; false-close
public boolean veracity; // veracity -true, no veracity -false;
}
package org.emercit.model;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.Image;
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
public class EventCellRenderer implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
MdlEvent event = (MdlEvent) value;
JPanel panel = new JPanel();
panel.setLayout(null);
// Row1
// DateTime
JLabel lblTitleDateTime = new JLabel();
lblTitleDateTime.setBounds(5, 0, 170, 17);
lblTitleDateTime.setForeground(Color.BLUE);
lblTitleDateTime.setIcon(event.getIconDateTimeSmall());
lblTitleDateTime.setText(event.getDateTime());
panel.add(lblTitleDateTime);
// Title Status
JLabel lblTitleStatus = new JLabel();
lblTitleStatus.setBounds(185, 0, 300, 17);
lblTitleStatus.setForeground(event.getColorStatus());
lblTitleStatus.setText(event.getTitleStatusForConfirm());
lblTitleStatus.setIcon(event.getIconStatusSmall());
panel.add(lblTitleStatus);
// TitleRiver
JLabel lblTitleRiver = new JLabel();
lblTitleRiver.setBounds(500, 0, 250, 17);
lblTitleRiver.setForeground(Color.BLUE);
lblTitleRiver.setText(event.getTitleRiver());
lblTitleRiver.setIcon(event.getIconRiverSmall());
panel.add(lblTitleRiver);
// Row2
// TitileAGK
JLabel lblTitleAgk = new JLabel();
lblTitleAgk.setBounds(5, 18, 80, 17);
lblTitleAgk.setForeground(Color.BLUE);
lblTitleAgk.setText(event.getTitleAgk());
lblTitleAgk.setFont(new Font(null, Font.ITALIC, 11));
panel.add(lblTitleAgk);
// Title Repair
JLabel lblTitleRepair = new JLabel();
lblTitleRepair.setBounds(100, 18, 170, 17);
lblTitleRepair.setForeground(Color.BLUE);
lblTitleRepair.setIcon(event.getIconRepairSmall());
lblTitleRepair.setText(event.getTitleRepair());
lblTitleRepair.setFont(new Font(null, Font.ITALIC, 11));
panel.add(lblTitleRepair);
// Title box
JLabel lblTitleBox = new JLabel();
lblTitleBox.setBounds(280, 18, 170, 17);
lblTitleBox.setForeground(Color.BLUE);
lblTitleBox.setIcon(event.getIconOpenDoorSmall());
lblTitleBox.setText(event.getTitleOpenDorr());
lblTitleBox.setFont(new Font(null, Font.ITALIC, 11));
panel.add(lblTitleBox);
// Title veracity
JLabel lblTitleVeracity = new JLabel();
lblTitleVeracity.setBounds(450, 18, 200, 17);
lblTitleVeracity.setForeground(Color.BLUE);
lblTitleVeracity.setIcon(event.getIconVeracitySmall());
lblTitleVeracity.setText(event.getTitleVeracity());
lblTitleVeracity.setFont(new Font(null, Font.ITALIC, 11));
panel.add(lblTitleVeracity);
panel.setBackground(event.getColorLogPanel());
return panel;
}
}
package org.emercit.model;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;
import javax.swing.table.TableCellRenderer;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableModel;
import javax.swing.table.AbstractTableModel;
import java.awt.*;
import java.text.MessageFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class EventTableModel extends AbstractTableModel {
private Set<TableModelListener> listeners = new HashSet<TableModelListener>();
private List<MdlEvent> event;
private List<MdlEvent> eventsource;
private int start = 0;
private int end = 9;
public int getSize() {
return eventsource.size();
}
public void AddRow(MdlEvent event) {
eventsource.add(0, event);
for (int i = 0; i < eventsource.size(); i++) {
MdlEvent obj = eventsource.get(i);
// if (obj.IsOld())
// eventsource.remove(i);
}
Update(start, end);
}
public void Update(int start, int end) {
this.start = start;
this.end = end;
event = new ArrayList<MdlEvent>();
try {
for (int i = start; i < end; i++)
event.add(eventsource.get(i));
} catch (Exception ex) {
}
}
public void Update() {
event = new ArrayList<MdlEvent>();
try {
for (int i = start; i < end; i++)
event.add(eventsource.get(i));
} catch (Exception ex) {
}
}
public void RemoveOld() {
try {
ArrayList<MdlEvent> buff = new ArrayList<MdlEvent>();
for (int i = 0; i < eventsource.size(); i++)
buff.add(eventsource.get(i));
this.eventsource = buff;
} catch (Exception e) {
}
}
public EventTableModel(List<MdlEvent> event) {
this.eventsource = event;
}
public EventTableModel() {
List<MdlEvent> initList = new ArrayList<MdlEvent>();
// for (int i=0;i<100;i++)
// {
// LRTable lrtable=new
// LRTable(i,"River "+i,i,"20.11.2013 8:00","7.5"+i);
// initList.add(0,lrtable);
// }
this.event = initList;
this.eventsource = initList;
}
public Class getColumnClass(int columnIndex) {
return MdlEvent.class;
}
public int getColumnCount() {
return 1;
}
public String getColumnName(int columnIndex) {
return "Event";
}
public int getRowCount() {
return (event == null) ? 0 : event.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
return (event == null) ? null : event.get(rowIndex);
}
public boolean isCellEditable(int columnIndex, int rowIndex) {
return true;
}
}
package org.emercit.model;
import java.io.*;
public class LinuxCMD {
public void ConfigLanStatic(String eth, String address, String gateway, String netmask, String password) {
String pas = password;
String[] array= { "nano"};
Process proc = null;
BufferedWriter writer = null;
try
{
proc = Runtime.getRuntime().exec(array);
writer = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
writer.write(pas);
}
catch (IOException e)
{
}
}
public void RestartInterfaces() {
String[] array= { "/etc/init.d/networking restart"};
Process proc = null;
BufferedWriter writer = null;
try
{
proc = Runtime.getRuntime().exec(array);
try {
int res=proc.waitFor();
}
catch (Exception e) {
}
// writer = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
// writer.write(pas);
}
catch (IOException e)
{
}
}
public void ConfigLanDHCP(String eth, String password) {
try
{
}
catch(Exception e) {
}
}
public void InstallTiemViewer() {
}
}
package org.emercit.model;
import java.util.List;
public class ModelConfig {
}
\ No newline at end of file
package org.emercit.model;
import java.util.List;
import java.util.ArrayList;
public class ModelResponse {
public String titlesubscriber;
public String titlecontact;
public boolean siren;
public boolean updateguid;
public List<EventAgk> lsteventagkconfirm;
public List<EventAgk> lsteventagkstate;
}
package org.emercit.model;
public class SirenJNI {
static {
System.loadLibrary("siren");
}
public native void sirenOn();
public native void sirenOff();
}
\ No newline at end of file
package org.emercit.model;
import java.io.*;
import java.util.*;
/**
* This class is an auto-resizable String array. It has similar methods to ArrayList
*
* @author Henry Zheng
* @url http://www.ireasoning.com
*/
public class StringArray implements Serializable
{
public static final int DEFAULT_CAPACITY = 10;
protected String[] _strings = null;
protected int _upperBound = 0;
protected int _capacity = DEFAULT_CAPACITY;
protected int _initialSize = _capacity;
protected float _loadFactory = 1.5F;
public StringArray ()
{
this(DEFAULT_CAPACITY);
}
public StringArray( int size)
{
_capacity = size;
_initialSize = size;
_strings = new String[size];
}
public synchronized void ensureCapacity(int capacity)
{
if(_capacity < capacity)
{
_capacity = (_capacity * 3)/2 + 1;
if(_capacity < capacity)
{
_capacity = capacity;
}
String [] oldData = _strings;
_strings = new String[_capacity];
System.arraycopy(oldData, 0, _strings, 0, _upperBound);
}
}
public synchronized void add(String s)
{
if(_upperBound == _capacity )
{
resize((int) (_capacity * _loadFactory));
}
_strings[_upperBound++] = s;
}
public synchronized void add(StringArray sa)
{
for (int i = 0; i < sa.size() ; i++)
{
add(sa.get(i));
}
}
public synchronized String get(int index)
{
return _strings[index];
}
public synchronized void set(int index, String newVal)
{
_strings[index] = newVal;
}
/** Adds all elements in passed string array */
public synchronized void add(String [] strs)
{
for (int i = 0; i < strs.length ; i++)
{
add(strs[i]);
}
}
/** Resets this object. */
public synchronized void clear()
{
_capacity = _initialSize;
_strings = new String[_capacity];
_upperBound = 0;
}
public synchronized String remove(int index)
{
if(index >= _upperBound )
{
throw new IndexOutOfBoundsException();
}
String s = _strings[index];
for (int i = index; i < _upperBound - 1 ; i++)
{
_strings[i] = _strings[i + 1];
}
_upperBound --;
return s;
}
/**
* Removes the first occurance of passed str
* @return the string removed, or null if not found
*/
public synchronized String remove(String str)
{
for (int i = 0; i < _upperBound ; i++)
{
if(_strings[i].equals(str))
{
return remove(i);
}
}
return null;
}
public synchronized int size()
{
return _upperBound;
}
public synchronized boolean isEmpty()
{
return _upperBound == 0;
}
public synchronized String[] toArray()
{
String [] ret = new String[_upperBound];
for (int i = 0; i < _upperBound ; i++)
{
ret[i] = _strings[i];
}
return ret;
}
protected synchronized void resize(int newCapacity)
{
String [] as = new String[newCapacity];
for (int i = 0; i < _strings.length ; i++)
{
as[i] = _strings[i];
}
_strings = as;
_capacity = newCapacity;
}
public String toString()
{
StringBuffer buf = new StringBuffer();
for (int i = 0; i < _upperBound ; i++)
{
buf.append(_strings[i] + "\n");
}
return buf.toString();
}
public static void main(String[] args)
{
StringArray as = new StringArray();
String [] ss = null;
ss = as.toArray();
// System.out.println( "ss len="+ss.length);
// System.out.println( "ss = " + ss);
for (int i = 0; i < 10 ; i++)
{
as.add("" + i);
}
// System.out.println( "size = " + as.size());
ss = as.toArray();
for (int i = 0; i < ss.length ; i++)
{
// System.out.println( ss[i]);
}
// System.out.println( "remove 5th element.");
as.remove(5);
// System.out.println( "size = " + as.size());
ss = as.toArray();
for (int i = 0; i < ss.length ; i++)
{
// System.out.println( ss[i]);
}
}
}//end of class StringArray
package org.emercit.model;
import java.io.*;
import java.util.*;
/**
* This class perform similar functionality to StringTokenizer class but faster.
* The difference is StringTokenizer doesn't count empty token, but this class does.
*
* @author Henry Zheng
* @url http://www.ireasoning.com
*/
public class Tokenizer
{
private Tokenizer()
{
}
/**
* It's different from the other parse method in that it checks left and right string first, which take higer
* priority than the delimiter. For example, if left and right is ", for string a:b:1"c:d"2:3 ,
* it returns { a, b, 1"c:d"2, 3 }
* @param left the openning tag of higher priority token
* @param right the closing tag of higher priority token
* @trimEachToken if true, each token will be trim by calling String.trim()
*/
public static String[] parse(String text, char delimiter, boolean trimEachToken, String left, String right)
{
if(text == null) return null;
int len = text.length();
StringArray tokens = new StringArray();
int pos1 = -1;
int pos2 = -1;
int firstPos = -1;
while(true)
{
pos2 = text.indexOf(delimiter, firstPos + 1);
if(pos2 < 0 )
{
String str = text.substring(pos1 + 1);
if(trimEachToken )
{
str = str.trim();
}
tokens.add(str);
break;
}
if(pos2 == pos1 + 1)
{
tokens.add("");
}
else
{
int tagPos1 = text.indexOf(left, firstPos + 1);
if(tagPos1 > 0 && tagPos1 < pos2 )
{
int tagPos2 = text.indexOf(right, tagPos1 + 1);
if(tagPos2 > 0)
{
firstPos = tagPos2;
continue;
}
}
String str = text.substring(pos1 + 1, pos2);
if(trimEachToken )
{
str = str.trim();
}
tokens.add(str);
}
pos1 = pos2;
firstPos = pos1;
}
String[] ret = tokens.toArray();
return ret;
}
/**
* @trimEachToken if true, each token will be trim by calling String.trim()
*/
public static String[] parse(String text, char delimiter, boolean trimEachToken)
{
return parse(text, delimiter, trimEachToken, false);
}
/**
* @trimEachToken if true, each token will be trim by calling String.trim()
*/
public static String[] parse(String text, char delimiter, boolean trimEachToken, boolean ignoreEmptyToken)
{
if(text == null) return null;
int len = text.length();
StringArray tokens = new StringArray();
int pos1 = -1;
int pos2 = -1;
while(true)
{
pos2 = text.indexOf(delimiter, pos1 + 1);
if(pos2 < 0 )
{
String str = text.substring(pos1 + 1);
if(trimEachToken )
{
str = str.trim();
}
if(ignoreEmptyToken)
{
if(str.length() != 0) tokens.add(str);
}
else
{
tokens.add(str);
}
break;
}
if(pos2 == pos1 + 1)
{
if(!ignoreEmptyToken) { tokens.add(""); }
}
else
{
String str = text.substring(pos1 + 1, pos2);
if(trimEachToken )
{
str = str.trim();
}
if(ignoreEmptyToken)
{
if(str.length() != 0) tokens.add(str);
}
else
{
tokens.add(str);
}
}
pos1 = pos2;
}
String[] ret = tokens.toArray();
return ret;
}
/**
* Does not trim each token.
* @see #parse(String, char, boolean)
*/
public static String[] parse(String text, char delimiter)
{
return parse(text, delimiter, false);
}
public static void main(String[] args)
{
String str = "1,\"2,\"ab\",ttt1,\"3,,a\"222\",4";
if(args.length > 0)
{
str = args[0];
}
// String [] tokens = Tokenizer.parse(str, ',');
//
//// System.out.println( "Text = (" + str + ")");
// // System.out.println( "------------------------------------------");
// for (int i = 0; i < tokens.length ; i++)
// {
// // System.out.println( "(" + tokens[i] + ")");
// }
// // System.out.println( "------------------------------------------");
// String [] tokens = Tokenizer.parse(str, ',', new String[]{"("}, new String[]{")"});
//
// // System.out.println( "Text = [" + str + "]");
// // System.out.println( "------------------------------------------");
// for (int i = 0; i < tokens.length ; i++)
// {
// // System.out.println( "[" + tokens[i] + "]");
// }
// // System.out.println( "------------------------------------------");
}
}//end of class Tokenizer
package org.emercit.model;
import java.util.Random;
import java.io.*;
import org.emercit.szsterminal.*;
import java.util.regex.*;
public class Util {
public static void StopSiren() {
try {
SZSTerminal.siren.sirenOff();
} catch (Exception e) {
}
}
public static void RunSiren() {
try {
SZSTerminal.siren.sirenOn();
} catch (Exception e) {
}
}
public static final void Alarm() {
try {
AePlayWave player = new AePlayWave("/Alarm.wav");
player.start();
} catch (Exception e) {
}
}
public static final String reverse(String str) {
if (str.length() <= 1)
return str;
String result = "";
result += str.charAt(str.length() - 1)
+ reverse(str.substring(0, str.length() - 1));
return result;
}
public static boolean[] toBinary(int number, int base) {
final boolean[] ret = new boolean[base];
for (int i = 0; i < base; i++) {
ret[base - 1 - i] = (1 << i & number) != 0;
}
return ret;
}
public static double round(double value, int places) {
if (places < 0)
throw new IllegalArgumentException();
long factor = (long) Math.pow(10, places);
value = value * factor;
long tmp = Math.round(value);
return (double) tmp / factor;
}
public static int randInt(int min, int max) {
Random rand = new Random();
int randomNum = rand.nextInt((max - min) + 1) + min;
return randomNum;
}
public static String DoubleToString(double d) {
String result = String.valueOf(d);
String buff = "";
int i = 0;
while (result.charAt(i) != '.') {
buff += result.charAt(i);
i++;
}
buff += result.charAt(i); // '.'
buff += result.charAt(i + 1); // 1 число после точки
return buff;
}
// представление дробной части
public static final int Drob(String str) {
double j = 0;
str = reverse(str);
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == '1') {
j = j + Math.pow(2, str.length() - 1 - i);
}
}
return (int) j;
}
public static final byte[] stringToBytesASCII(char[] buffer) {
byte[] b = new byte[buffer.length];
for (int i = 0; i < b.length; i++) {
b[i] = (byte) buffer[i];
}
return b;
}
private static String ParserID(String input) {
String pattern = "id=[0-9]*";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(input);
if (m.find()) {
String buff = m.group(0);
if (buff.length() >= 12) {
char[] str = buff.toCharArray();
String res = "";
for (int i = 3; i < buff.length(); i++)
res += str[i];
return res;
}
}
return "";
}
}
\ No newline at end of file
package org.emercit.model;
import java.io.*;
import java.net.*;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Map;
import java.util.Map;
import org.json.simple.*;
import com.google.gson.*;
import org.emercit.config.Config;
import org.emercit.service.SData;
public class WebPost {
private Config config;
public WebPost(Config config) {
this.config=config;
}
public ModelResponse Request() {
ModelResponse md = null;
StringBuilder sb = new StringBuilder();
HttpURLConnection urlConnection = null;
BufferedReader br=null;
try {
URL url = new URL("http://"+ config.getService()+":8088/api/DataSzs/");
Proxy proxy;
if (config.getProxyEnabled()) {
proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(
config.getProxyServer(),
config.getProxyPort()));
// System.out.println(config.getProxyServer()+":"+config.getProxyPort());
urlConnection = (HttpURLConnection) url.openConnection(proxy);
} else {
urlConnection = (HttpURLConnection) url.openConnection();
}
urlConnection.setDoOutput(true);
urlConnection.setRequestMethod("POST");
urlConnection
.setRequestProperty("Content-Type", "application/json");
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(10000);
JSONObject jsonParam = new JSONObject();
jsonParam.put("RegKey", config.getRegKey());
jsonParam.put("SoftVersion", config.getVersion());
jsonParam.put("IDTeamViewer","");
OutputStreamWriter out = new OutputStreamWriter(
urlConnection.getOutputStream());
out.write(jsonParam.toString());
out.close();
int HttpResult = urlConnection.getResponseCode();
if (HttpResult == HttpURLConnection.HTTP_OK) {
br = new BufferedReader(new InputStreamReader(
urlConnection.getInputStream(), "utf-8"));
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();
Gson gson = new Gson();
md = gson.fromJson(sb.toString(), ModelResponse.class);
}
br.close();
urlConnection.disconnect();
SData.INSTANCE.setIsConnect(true);
} catch (Exception e) {
SData.INSTANCE.setIsConnect(false);
} finally {
try {
if (urlConnection != null) {
urlConnection.disconnect();
}
if (br!=null) {
br.close();
}
} catch (Exception ex) {
SData.INSTANCE.setIsConnect(false);
}
}
return md;
}
public void Confirm(MdlEvent event) {
HttpURLConnection urlConnection = null;
try {
URL url = new URL("http://"+config.getService()+":8088/api/ConfirmLevelsRivers/");
Proxy proxy;
if (config.getProxyEnabled()) {
proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress(config.getProxyServer(),
config.getProxyPort()));
urlConnection = (HttpURLConnection) url
.openConnection(proxy);
} else {
urlConnection = (HttpURLConnection) url
.openConnection();
}
urlConnection.setDoOutput(true);
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("Content-Type",
"application/json");
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(10000);
// Create JSONObject here
JSONObject jsonParam = new JSONObject();
jsonParam.put("RegKey",
config.getRegKey());
jsonParam.put("id_agk", event.getIdAgk());
jsonParam.put("id_webapi_message", event.getId());
OutputStreamWriter out = new OutputStreamWriter(
urlConnection.getOutputStream());
out.write(jsonParam.toString());
out.close();
int HttpResult = urlConnection.getResponseCode();
if (HttpResult == HttpURLConnection.HTTP_OK) {
}
urlConnection.disconnect();
} catch (Exception e) {
} finally {
try {
if (urlConnection != null) {
urlConnection.disconnect();
}
} catch (Exception ex) {
}
}
}
}
\ No newline at end of file
package org.emercit.service;
import java.util.ArrayList;
import java.util.List;
import org.emercit.model.EventAgk;
import org.emercit.model.ModelResponse;
import org.emercit.model.MdlEvent;
import org.emercit.config.Config;
import org.emercit.model.WebPost;
import org.emercit.szsterminal.SZSTerminal;
@javax.inject.Singleton
public enum SData {
INSTANCE;
private ModelResponse data;
private boolean IsConnect;
private Config config;
private boolean IsOpenDialog=false;
/*
* Получение данных с веб сервиса
*/
public void Scan() {
if (!IsOpenDialog) {
WebPost webpost=new WebPost(config);
this.data= webpost.Request();
}
}
/*
* Получение текущего состояния датчиков
*/
public ModelResponse getData() {
return this.data;
}
/*
* Подтверждение события
*/
public void Confirm(MdlEvent mdlevent) {
WebPost webpost=new WebPost(config);
webpost.Confirm(mdlevent);
this.IsOpenDialog=false;
}
/*
* Установка конфигурации
*/
public void SetConfig(Config config) {
this.config=config;
}
/*
* Получение конфигурации
*/
public Config getConfig() {
return this.config;
}
/*
* Связь с сервисом
*/
public boolean isConnect() {
return this.IsConnect;
}
public void setIsConnect(boolean value) {
this.IsConnect=value;
}
/*
* Удаление события для подтверждеия
*/
public void RemoveEvent() {
this.data.lsteventagkconfirm.clear();
}
/*
*
*/
public boolean getIsOpenDialog() {
return this.IsOpenDialog;
}
/*
*
*/
public void setIsOpenDialog(boolean value) {
this.IsOpenDialog=value;
}
}
package org.emercit.service;
import org.apache.log4j.Logger;
import org.emercit.service.SData;
public class TScan implements Runnable{
static final Logger logger = Logger.getLogger(TScan.class);
public TScan() {
}
public void run() {
while(true) {
try {
SData.INSTANCE.Scan();
Thread.sleep(3000);
}
catch(Exception e) {
//logger.error(e.getMessage());
}
}
}
}
\ No newline at end of file
package org.emercit.szsterminal;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import javax.swing.border.BevelBorder;
import javax.swing.border.CompoundBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.border.LineBorder;
import java.awt.Dimension;
import javax.swing.table.TableModel;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.swing.SwingWorker;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import java.awt.Toolkit;
import java.awt.Rectangle;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.util.Scanner;
import org.emercit.components.*;
import java.awt.Dialog.ModalExclusionType;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.google.gson.Gson;
import java.beans.*;
import org.emercit.model.*;
import org.emercit.config.*;
import org.emercit.service.*;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PropertyConfigurator;
public class SZSTerminal {
private static JFrame mainFrame;
private static JPanel mainPanel;
public static JPnlHeader jpnlheader;
public static JPnlCurrent pnlcurrent = new JPnlCurrent();
public static JPnlLog jpnllog = new JPnlLog();
public static JPnlContacts jpnlcontacts = new JPnlContacts();
public static JPnlControl jpnlcontrol = new JPnlControl();
public static SirenJNI siren = new SirenJNI();
private static Timer ftdTimerMain = new Timer();
public static DlgConfirm dlgconfirm = new DlgConfirm();
private static class ftdTimerTask extends TimerTask {
@Override
public void run() {
EventQueue.invokeLater(new Runnable() {
// @Override
public void run() {
DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
Date date = new Date();
Calendar cal = Calendar.getInstance();
jpnlheader.UpdateTime("Сегодня:"+ dateFormat.format(cal.getTime()));
jpnlheader.ChangeConnectImg(SData.INSTANCE.isConnect());
if (SData.INSTANCE.isConnect()){
jpnlheader.setTitleSubscriver(SData.INSTANCE.getData().titlesubscriber);
jpnlcontacts.setTitleContact(SData.INSTANCE.getData().titlecontact);
/*
* Текущее состояние датчиков
*/
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
List<MdlEvent> lstEvent = new ArrayList<MdlEvent>();
ModelResponse mdl=SData.INSTANCE.getData();
for (EventAgk eventagk : mdl.lsteventagkstate) {
MdlEvent ev = new MdlEvent(eventagk.id,
eventagk.id_agk,
eventagk.river,
eventagk.datetime,
eventagk.value,
eventagk.id_status,
eventagk.repair,
eventagk.opendoor,
eventagk.veracity);
lstEvent.add(ev);
}
pnlcurrent.setListEventCurrent(lstEvent);
return null;
}
}.execute();
/*
* События для подтверждения
*/
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
ModelResponse mdl=SData.INSTANCE.getData();
for (EventAgk eventagk : mdl.lsteventagkconfirm) {
SData.INSTANCE.RemoveEvent();
MdlEvent ev = new MdlEvent(eventagk.id, eventagk.id_agk,
eventagk.river, eventagk.datetime, eventagk.value,
eventagk.id_status, eventagk.repair, eventagk.opendoor,
eventagk.veracity);
ev.setSiren(mdl.siren);
dlgconfirm.setEvent(ev);
dlgconfirm.setVisible(true);
}
return null;
}
}.execute();
}
}
});
}
}
public static void main(String[] args) {
PropertyConfigurator.configure("log4j.properties");
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
// siren.sirenOff();
} catch (Exception e) {
}
mainFrame = new JFrame();
mainFrame.setSize(800, 600);
mainFrame.setUndecorated(false);
mainFrame.setResizable(false);
mainFrame.setVisible(true);
mainPanel = new JPanel();
Toolkit tk = Toolkit.getDefaultToolkit();
int xSize = ((int) tk.getScreenSize().getWidth());
int ySize = ((int) tk.getScreenSize().getHeight());
// mainFrame.setSize(xSize,ySize);
mainPanel.setBackground(UIManager
.getColor("Separator.foreground"));
mainPanel.setBounds(0, 0, xSize, ySize);
jpnlheader = new JPnlHeader("");
jpnlheader.setBounds(10, 10, 770, 50);
jpnlheader.setBackground(new Color(168, 181, 224));
mainPanel.add(jpnlheader);
// pnlcurrent.setBounds(10, 70, 770, 470);
List<Event> lstevent = new ArrayList<Event>();
JTabbedPane jtp = new JTabbedPane();
jtp.setFont(new Font("Tahoma", Font.PLAIN, 14));
mainPanel.add(jtp);
jtp.setBounds(10, 70, 780, 520);
ImageIcon imgJournal = new ImageIcon(getClass().getResource(
"/journal.png"));
ImageIcon imgCurrent = new ImageIcon(getClass().getResource(
"/current.png"));
ImageIcon imgContact = new ImageIcon(getClass().getResource(
"/contacts.png"));
ImageIcon imgControl = new ImageIcon(getClass().getResource(
"/update.png"));
jtp.addTab("Текущее состояние", imgCurrent, pnlcurrent);
jtp.addTab("Журнал", imgJournal, jpnllog);
jtp.addTab("Контакты", imgContact, jpnlcontacts);
jtp.addTab("Управление", imgControl, jpnlcontrol);
mainFrame.setAlwaysOnTop(true);
mainPanel.setBackground(UIManager
.getColor("Separator.foreground"));
jpnlheader.SetBlue();
mainPanel.setLayout(null);
mainFrame.getContentPane().add(mainPanel);
Config config=new Config();
SData.INSTANCE.SetConfig(config);
Runnable rTScan = new TScan();
Thread tScan = new Thread(rTScan);
tScan.start();
ftdTimerMain.schedule(new ftdTimerTask(), 0, 1000);
}
});
}
}
No preview for this file type
[LocalizedFileNames]
notify.wav=@%windir%\system32\mmres.dll,-706
Windows Minimize.wav=@%windir%\system32\mmres.dll,-726
Windows Startup.wav=@%windir%\system32\mmres.dll,-735
Windows Notify.wav=@%windir%\system32\mmres.dll,-727
Windows Pop-up Blocked.wav=@%windir%\system32\mmres.dll,-737
tada.wav=@%windir%\system32\mmres.dll,-710
#Mon Dec 01 11:40:07 MSK 2014
service=62.183.103.6
version=1.0.0.0
proxyEnabled=false
regkey=677bfa98-1489-4d07-9edf-9e1b35826ccb
proxyPort=2011
proxyServer=111.111.111.115