Commit f9c36f3c f9c36f3cbc13b0437731783cfde6cfedffd659b0 by root

save

1 parent a4cd1744
Showing 106 changed files with 5072 additions and 0 deletions
No preview for this file type
Manifest-Version: 1.0
Built-By: root
Build-Jdk: 1.8.0_25
Created-By: Maven Integration for Eclipse
#Generated by Maven Integration for Eclipse
#Wed Aug 12 17:48:32 MSK 2015
version=0.0.1-SNAPSHOT
groupId=SZSTerminal
m2e.projectName=SZSTerminal
m2e.projectLocation=/root/git/hardwareconfig/SZSTerminal
artifactId=SZSTerminal
<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>
[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
<?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 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 including="**/*.java" kind="src" path="src/main/resources"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<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>SzsBb</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.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.7
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
<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>Szs</groupId>
<artifactId>Szs</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<executable>${env.JAVA_HOME_7}/bin/javac</executable>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
<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>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.51</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.emercit</groupId>
<artifactId>utilstools</artifactId>
<version>1.50</version>
</dependency>
</dependencies>
<pluginRepositories>
<pluginRepository>
<id>onejar-maven-plugin.googlecode.com</id>
<url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>project.local</id>
<name>project</name>
<url>file:/root/git/hardwareconfig/DevTools/repo</url>
</repository>
</repositories>
</project>
package org.emercit.szs.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 java.util.Timer;
import java.util.TimerTask;
import org.emercit.szs.model.*;
import org.emercit.szs.service.SData;
import org.emercit.szs.szsterminal.SZSTerminal;
import org.emercit.szs.controldevtools.bean.NotificationBB;
public class DlgConfirm extends JDialog {
private Timer timer = new Timer();
boolean animate = false;
private NotificationBB notification=new NotificationBB();
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 {
notification.playSiren();
}
}
}
});
}
}
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;
notification.stopSiren();
EventTableModel model = (EventTableModel) SZSTerminal.jpnllog.table
.getModel();
model.AddRow(buff);
SZSTerminal.jpnllog.Upd();
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.szs.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.szs.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.szs.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.szs.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.szs.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.szs.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.szs.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) {
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.szs.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.szs.components;
import java.awt.Color;
import javax.swing.JFrame;
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.szs.controldevtools.bean.ControlDeviceBean;
import org.emercit.szs.controldevtools.bean.DevToolsBean;
import org.emercit.szs.controldevtools.bean.CheckNotification;
import org.emercit.szs.service.SData;
import org.emercit.szs.szsterminal.SZSTerminal;
public class JPnlControl extends RoundedPanel3 {
private DevToolsBean pnlDevTools=new DevToolsBean();
private ControlDeviceBean pnlControlDevice=new ControlDeviceBean();
private CheckNotification checkNotification=new CheckNotification();
public JPnlControl() {
this.setLayout(null);
pnlDevTools.setBounds(10, 20, 660, 150);
this.add(pnlDevTools);
pnlControlDevice.setBounds(10, 190, 450, 150);
this.add(pnlControlDevice);
checkNotification.setBounds(470,190,200,150);
this.add(checkNotification);
}
}
package org.emercit.szs.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.szs.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 = 6;
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 - 6 <= 0) {
start = 0;
end = 6;
btnUp.setEnabled(false);
} else {
end = start;
start = start - 6;
}
Update();
}
private void Down() throws Exception {
if (end + 6 > lstevent.size()) {
start = end;
end = lstevent.size();
btnDown.setEnabled(false);
} else {
start = end;
end += 6;
}
Update();
}
public JPnlCurrent() {
btnUp.setEnabled(false);
this.setBackground(new Color(168, 181, 224));
this.setLayout(null);
panel.setBounds(5, 5, 740, 300);
panel.setLayout(null);
panel.setBackground(new Color(168, 181, 224));
this.add(panel);
panel.updateUI();
ImageIcon imgUp = new ImageIcon(this.getClass().getResource("/top.png"));
btnUp.setIcon(imgUp);
btnUp.setBounds(5, 320, 370, 70);
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(this.getClass().getResource("/bottom.png"));
btnDown.setIcon(imgDown);
btnDown.setBounds(385, 320, 370, 70);
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.szs.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;
import org.emercit.szs.model.Config;
import org.emercit.szs.szsterminal.SZSTerminal;
import java.net.URL;
public class JPnlHeader extends RoundedPanel3 {
private JLabel jlblclock;
private JLabel jlbltitle;
public JPnlHeader() {
this.setLayout(null);
// время
jlblclock = new JLabel();
jlblclock.setBounds(10, 2, 300, 30);
jlblclock.setText("");
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(Config.devinfobean.getDescription());
jlbltitle.setFont(new Font(null, Font.ITALIC, 13));
jlbltitle.setForeground(Color.YELLOW);
add(jlbltitle);
// connect
// jlblconnect = new JLabel();
// jlblconnect.setBounds(5, 5, 50, 30);
// ChangeConnectImg(false);
// add(jlblconnect);
}
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));
}
}
package org.emercit.szs.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 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.szs.model.*;
import org.emercit.szs.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;
public void Upd() {
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;
}
Upd();
}
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;
}
Upd();
}
public JPnlLog() {
btnUp.setEnabled(false);
this.setBackground(new Color(168, 181, 224));
this.setLayout(null);
table.setBounds(5, 5, 760, 300);
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, 320, 370, 70);
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, 320, 370, 70);
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.szs.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.szs.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.szs.controldevtools.bean;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeListener;
import java.beans.PropertyVetoException;
import java.beans.VetoableChangeListener;
import java.beans.VetoableChangeSupport;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingWorker;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.EventListenerList;
import javax.swing.event.SwingPropertyChangeSupport;
import org.apache.log4j.Logger;
import org.emercit.utilstools.config.DefSettings;
import org.emercit.szs.controldevtools.bean.DevToolsBean;
import org.emercit.szs.controldevtools.bean.RoundPanel;
import org.emercit.utilstools.pckutils.checkservice.STService;
import org.emercit.utilstools.service.Settings;
import org.emercit.utilstools.svmanager.model.SvBean;
import org.emercit.utilstools.svmanager.service.Sv;
import org.emercit.utilstools.svmanager.service.SvControl;
import org.emercit.szs.controldevtools.bean.NotificationBB;
public class CheckNotification extends RoundPanel implements Externalizable {
private static final Logger log = Logger.getLogger(CheckNotification.class);
private NotificationBB notificationbb=new NotificationBB();
private Dimension beanDimension; // simple
protected EventListenerList listenerList = new EventListenerList();
private JLabel lblTitle=new JLabel();
private JButton btnSound=new JButton();
private JButton btnSiren=new JButton();
private Font font = new Font(null, Font.ITALIC, 13);
public CheckNotification() {
this.setLayout(null);
this.setBackground(new Color(168, 181, 224)); // blue
beanDimension = new Dimension(200, 130);
// TITLE
font = new Font(null, Font.ITALIC, 18);
lblTitle.setBounds(10,10,200,20);
lblTitle.setForeground(Color.YELLOW);
lblTitle.setText("Диагностика");
lblTitle.setVisible(true);
lblTitle.setFont(font);
add(lblTitle);
//SOUND
btnSound.setIcon(new ImageIcon(ControlDeviceBean.class.getResource("/sound.png")));
btnSound.setBounds(10,30,170,40);
btnSound.setFont(font);
btnSound.setText("Динамик");
btnSound.setSelected(false);
btnSound.addActionListener(new checkSound());
add(btnSound);
//SIREN
btnSiren.setIcon(new ImageIcon(ControlDeviceBean.class.getResource("/siren.png")));
btnSiren.setBounds(10,80,170,40);
btnSiren.setFont(font);
btnSiren.setText("Сирена");
btnSiren.setSelected(false);
btnSiren.addActionListener(new checkSiren());
add(btnSiren);
}
public class checkSound implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
btnSound.setEnabled(false);
notificationbb.playSound();
btnSound.setEnabled(true);
return null;
}
}.execute();
}
}
public class checkSiren implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
btnSiren.setEnabled(false);
notificationbb.playSiren();
Thread.sleep(5000);
notificationbb.stopSiren();
btnSiren.setEnabled(true);
return null;
}
}.execute();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
}
public void setPreferredSize(Dimension dim) {
beanDimension = dim;
}
public Dimension getPreferredSize() {
return beanDimension;
}
public void setMinimumSize(Dimension dim) {
beanDimension = dim;
}
public Dimension getMinimumSize() {
return beanDimension;
}
public void addChangeListener(ChangeListener l) {
listenerList.add(ChangeListener.class, l);
}
public void removeChangeListener(ChangeListener l) {
listenerList.remove(ChangeListener.class, l);
}
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(beanDimension);
}
public void readExternal(ObjectInput in) throws IOException,
ClassNotFoundException {
setPreferredSize((Dimension) in.readObject());
setMinimumSize(getPreferredSize());
}
}
package org.emercit.szs.controldevtools.bean;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeListener;
import java.beans.PropertyVetoException;
import java.beans.VetoableChangeListener;
import java.beans.VetoableChangeSupport;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingWorker;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.EventListenerList;
import javax.swing.event.SwingPropertyChangeSupport;
import org.apache.log4j.Logger;
import org.emercit.utilstools.config.DefSettings;
import org.emercit.szs.controldevtools.bean.DevToolsBean;
import org.emercit.szs.controldevtools.bean.RoundPanel;
import org.emercit.utilstools.pckutils.checkservice.STService;
import org.emercit.utilstools.service.Settings;
import org.emercit.utilstools.svmanager.model.SvBean;
import org.emercit.utilstools.svmanager.service.Sv;
import org.emercit.utilstools.svmanager.service.SvControl;
import org.emercit.utilstools.sshexec.SSHExec;
public class ControlDeviceBean extends RoundPanel implements Externalizable {
private static final Logger log = Logger.getLogger(DevToolsBean.class);
private Dimension beanDimension; // simple
protected EventListenerList listenerList = new EventListenerList();
private JLabel lblStatus=new JLabel();
private JButton btnOffStart=new JButton();
private JButton btnRebootStart=new JButton();
private SSHExec sshecex=new SSHExec();
private Font font = new Font(null, Font.ITALIC, 13);
public ControlDeviceBean() {
this.setLayout(null);
this.setBackground(new Color(168, 181, 224)); // blue
beanDimension = new Dimension(600, 130);
// BUTTON OFF
btnOffStart.setIcon(new ImageIcon(ControlDeviceBean.class.getResource("/offDevice.png")));
btnOffStart.setBounds(10,30,190,55);
btnOffStart.setFont(font);
btnOffStart.setText("Выключить");
btnOffStart.setSelected(false);
btnOffStart.addActionListener(new Off());
add(btnOffStart);
// BUTTON REBOOT
btnRebootStart.setIcon(new ImageIcon(ControlDeviceBean.class.getResource("/reloadDevice.png")));
btnRebootStart.setBounds(220,30,190,55);
btnRebootStart.setFont(font);
btnRebootStart.setText("Перезагрузить");
btnRebootStart.setSelected(false);
btnRebootStart.addActionListener(new Reboot());
add(btnRebootStart);
// STATUS
font = new Font(null, Font.ITALIC, 18);
lblStatus.setBounds(10,80,600,55);
lblStatus.setForeground(Color.YELLOW);
lblStatus.setText("");
lblStatus.setVisible(true);
lblStatus.setFont(font);
add(lblStatus);
}
public class Off implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
lblStatus.setText("выполняется выключение...");
sshecex.setCmd("shutdown -h now");
sshecex.Exec();
return null;
}
}.execute();
}
}
public class Reboot implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
lblStatus.setText("выполняется перезагрузка...");
sshecex.setCmd("reboot");
sshecex.Exec();
return null;
}
}.execute();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
}
public void setPreferredSize(Dimension dim) {
beanDimension = dim;
}
public Dimension getPreferredSize() {
return beanDimension;
}
public void setMinimumSize(Dimension dim) {
beanDimension = dim;
}
public Dimension getMinimumSize() {
return beanDimension;
}
public void addChangeListener(ChangeListener l) {
listenerList.add(ChangeListener.class, l);
}
public void removeChangeListener(ChangeListener l) {
listenerList.remove(ChangeListener.class, l);
}
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(beanDimension);
}
public void readExternal(ObjectInput in) throws IOException,
ClassNotFoundException {
setPreferredSize((Dimension) in.readObject());
setMinimumSize(getPreferredSize());
}
}
package org.emercit.szs.controldevtools.bean;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeListener;
import java.beans.PropertyVetoException;
import java.beans.VetoableChangeListener;
import java.beans.VetoableChangeSupport;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingWorker;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.EventListenerList;
import javax.swing.event.SwingPropertyChangeSupport;
import org.apache.log4j.Logger;
import org.emercit.utilstools.config.DefSettings;
import org.emercit.szs.controldevtools.bean.DevToolsBean;
import org.emercit.szs.controldevtools.bean.RoundPanel;
import org.emercit.utilstools.pckutils.checkservice.STService;
import org.emercit.utilstools.service.Settings;
import org.emercit.utilstools.svmanager.model.SvBean;
import org.emercit.utilstools.svmanager.service.Sv;
import org.emercit.utilstools.svmanager.service.SvControl;
public class DevToolsBean extends RoundPanel implements Externalizable {
private static final Logger log = Logger.getLogger(DevToolsBean.class);
private Dimension beanDimension; // simple
private JLabel lblTitle=new JLabel();
private JLabel lblStatus=new JLabel();
private JButton btnStart=new JButton("ЗАПУСТИТЬ");
private JButton btnStop=new JButton("ОСТАНОВИТЬ");
private JButton btnDefaults=new JButton("СБРОС НАСТРОЕК");
private STService stservice=new STService();
private Timer timerAnimate=new Timer();
private Settings settings=new Settings();
protected transient ChangeEvent changeEvent = null;
public Update update=null;
public boolean block=false;
public SvBean svbean;
public SvControl svcontrol;
public Sv sv;
protected EventListenerList listenerList = new EventListenerList();
public DevToolsBean() {
this.setLayout(null);
this.setBackground(new Color(168, 181, 224)); // blue
beanDimension = new Dimension(600, 130);
Font font = new Font(null, Font.ITALIC, 13);
lblTitle.setBounds(10, 2, 600, 30);
lblTitle.setText(DefSettings.devtools_title);
lblTitle.setFont(font);
lblTitle.setForeground(Color.BLUE);
add(lblTitle);
// BUTTON START
btnStart.setIcon(new ImageIcon(DevToolsBean.class.getResource("/start.png")));
btnStart.setBounds(10,30,150,40);
btnStart.setFont(font);
btnStart.setSelected(false);
btnStart.addActionListener(new Start());
add(btnStart);
// BUTTON STOP
btnStop.setIcon(new ImageIcon(DevToolsBean.class.getResource("/stop.png")));
btnStop.setBounds(170,30,180,40);
btnStop.setFont(font);
btnStop.setSelected(false);
btnStop.addActionListener(new Stop());
add(btnStop);
// BUTTON DEFAULTS
btnDefaults.setIcon(new ImageIcon(DevToolsBean.class.getResource("/replay.png")));
btnDefaults.setBounds(360,30,230,40);
btnDefaults.setFont(font);
btnDefaults.setSelected(false);
btnDefaults.addActionListener(new Defaults());
add(btnDefaults);
// STATUS
font = new Font(null, Font.ITALIC, 18);
lblStatus.setIcon(new ImageIcon(DevToolsBean.class.getResource("/running.png")));
lblStatus.setBounds(10,80,600,55);
lblStatus.setForeground(Color.YELLOW);
lblStatus.setText("");
lblStatus.setVisible(true);
lblStatus.setFont(font);
add(lblStatus);
sv=new Sv();
for (SvBean bean:sv.get()) {
if (bean.getProcess().equals("jetty")) {
svcontrol=new SvControl(bean);
}
}
timerAnimate.schedule(new Task(),0,10000);
}
public void initCmpEnabled() {
try {
boolean jattyrun=stservice.IsRun(DefSettings.jetty_process);
if(jattyrun){
btnStop.setEnabled(true);
btnStart.setEnabled(false);
lblStatus.setIcon(new ImageIcon(DevToolsBean.class.getResource("/up.png")));
lblStatus.setForeground(Color.GREEN);
lblStatus.setText("- Web конфигуратор запущен");
}else {
btnStop.setEnabled(false);
btnStart.setEnabled(true);
lblStatus.setIcon(new ImageIcon(DevToolsBean.class.getResource("/down.png")));
lblStatus.setForeground(Color.WHITE);
lblStatus.setText("- Web конфигуратор не запущен");
}
}catch(Exception e){
log.error(e.getMessage());
}
}
public class Start implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
btnStart.setEnabled(false);
btnStop.setEnabled(false);
lblStatus.setForeground(Color.YELLOW);
lblStatus.setText(" - выполняется запуск Web конфигуратора ...");
block=true;
svcontrol.start();
block=false;
return null;
}
}.execute();
}
}
public class Stop implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
btnStart.setEnabled(false);
btnStop.setEnabled(false);
lblStatus.setForeground(Color.YELLOW);
lblStatus.setText(" - выполняется остановка Web конфигуратора ...");
block=true;
svcontrol.stop();
block=false;
return null;
}
}.execute();
}
}
public class Defaults implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
block=true;
lblStatus.setForeground(Color.YELLOW);
lblStatus.setText(" - выполняется сброс настроек ...");
btnDefaults.setEnabled(false);
btnStart.setEnabled(false);
btnStop.setEnabled(false);
try {
settings.init();
Thread.sleep(5000);
}catch(Exception er) {
log.error(er.getMessage());
}
btnDefaults.setEnabled(true);
block=false;
return null;
}
}.execute();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
}
public void setPreferredSize(Dimension dim) {
beanDimension = dim;
}
public Dimension getPreferredSize() {
return beanDimension;
}
public void setMinimumSize(Dimension dim) {
beanDimension = dim;
}
public Dimension getMinimumSize() {
return beanDimension;
}
public void addChangeListener(ChangeListener l) {
listenerList.add(ChangeListener.class, l);
}
public void removeChangeListener(ChangeListener l) {
listenerList.remove(ChangeListener.class, l);
}
protected void fireStateChanged() {
Object[] listeners = listenerList.getListenerList();
for (int i = listeners.length - 2; i >= 0; i -= 2) {
if (listeners[i] == ChangeListener.class) {
if (changeEvent == null)
changeEvent = new ChangeEvent(this);
((ChangeListener) listeners[i + 1]).stateChanged(changeEvent);
}
}
}
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(beanDimension);
}
public void readExternal(ObjectInput in) throws IOException,
ClassNotFoundException {
setPreferredSize((Dimension) in.readObject());
setMinimumSize(getPreferredSize());
}
public class Update extends SwingWorker<Void, Void> {
@Override
public Void doInBackground()
{
// Если выполняется запуск или остановка, то не проверяем
if (!block){
initCmpEnabled();
}
return null;
}
@Override
public void done(){
}
}
private class Task extends TimerTask {
@Override
public void run() {
EventQueue.invokeLater(new Runnable() {
// @Override
public void run() {
update=new Update();
update.execute();
}
});
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Управление Web конфигуратором");
frame.getContentPane().add(new DevToolsBean());
frame.setVisible(true);
frame.pack();
}
}
\ No newline at end of file
package org.emercit.szs.controldevtools.bean;
public interface INotification {
public void playSound();
//public void stopSound();
public void playSiren();
public void stopSiren();
}
package org.emercit.szs.controldevtools.bean;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import org.apache.log4j.Logger;
import org.emercit.szs.controldevtools.bean.Player;
public class NotificationBB implements INotification {
private static final Logger log = Logger.getLogger(NotificationBB.class);
public void playSound() {
Player player = new Player("/Alarm.wav");
log.info("Sound - up ");
player.start();
}
public void playSiren() {
try {
FileWriter fw = new FileWriter("/dev/relay1", true);
BufferedWriter output = new BufferedWriter(fw);
output.write("1");
output.close();
log.info("Siren - up ");
} catch (IOException e) {
log.error(e.getMessage());
}
}
public void stopSiren() {
try {
FileWriter fw = new FileWriter("/dev/relay1", true);
BufferedWriter output = new BufferedWriter(fw);
output.write("0");
output.close();
log.info("Siren - down ");
} catch (IOException e) {
log.error(e.getMessage());
}
}
}
package org.emercit.szs.controldevtools.bean;
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 org.apache.log4j.Logger;
import java.net.*;
public class Player extends Thread {
private static final Logger log = Logger.getLogger(Player.class);
private String filename;
private Position curPosition;
private final int EXTERNAL_BUFFER_SIZE = 524288; // 128Kb
enum Position {
LEFT, RIGHT, NORMAL
};
public Player(String wavfile) {
filename = wavfile;
curPosition = Position.NORMAL;
}
public Player(String wavfile, Position p) {
filename = wavfile;
curPosition = p;
}
public void run() {
try {
File soundFile = new File(getClass().getResource(filename)
.getFile());
if (!soundFile.exists()) {
log.error("Wave file not found: " + filename);
return;
}
AudioInputStream audioInputStream = null;
try {
audioInputStream = AudioSystem.getAudioInputStream(soundFile);
} catch (UnsupportedAudioFileException e1) {
e1.printStackTrace();
return;
} catch (IOException e1) {
log.error(e1.getMessage());
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) {
log.error(e.getMessage());
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) {
log.error(e.getMessage());
return;
} finally {
auline.drain();
auline.close();
}
} catch (Exception e1) {
log.error(e1.getMessage());
}
}
}
package org.emercit.szs.controldevtools.bean;
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 RoundPanel 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 = 4;
protected int _shadowAlpha = 100;
public Color _backgroundColor = Color.WHITE;
public RoundPanel()
{
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
/**
*
*/
/**
* @author root
*
*/
package org.emercit.szs.controldevtools.bean;
\ No newline at end of file
package org.emercit.szs.model;
import org.emercit.utilstools.devinfo.service.DevInfo;
import org.emercit.utilstools.devinfo.model.DevInfoBean;
import org.emercit.utilstools.gsmmanager.model.GSMBean;
import org.emercit.utilstools.gsmmanager.service.Gsm;
import org.emercit.utilstools.servers.model.ServerBean;
import org.emercit.utilstools.servers.service.Servers;
public class Config {
private static Gsm gsm=new Gsm();
private static DevInfo devinfo=new DevInfo();
private static Servers servers=new Servers();
public final static GSMBean gsmbean=gsm.get();
public final static DevInfoBean devinfobean=devinfo.get();
public final static ServerBean serverbean=servers.get().firstElement();
}
package org.emercit.szs.model;
public class EventAgk {
public int id;
public int id_agk;
public String name;
public String message;
public String datetime;
public int id_status; // 0-norm, 1-nj-2, oj;
}
package org.emercit.szs.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.szs.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.szs.model;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.ImageIcon;
import java.awt.Color;
import java.awt.Image;
public class MdlEvent {
private long id;
private int id_agk;
private String river;
private String datetime;
private String value;
private int id_status; // 0-norm, 1-nj-2, oj;
private boolean repair; // true -repair; false- no repair
private boolean opendoor; // true - open; false-close
private boolean veracirty; // veracity -true, no veracity -false;
private String imgstatus;
private String imgrepair;
private String imgdoor;
private String imgveracity;
private String titleagk;
private String titlestatus;
private String titlerepair;
private String titleopendoor;
private String titleveracity;
private String titlestatusconfirm;
private ImageIcon IconStatusSmall;
private ImageIcon IconRepairSmall;
private ImageIcon IconOpenDoorSmall;
private ImageIcon IconVeracitySmall;
private ImageIcon IconStatusLarge;
private ImageIcon IconRepairLarge;
private ImageIcon IconOpenDoorLarge;
private ImageIcon IconVeracityLarge;
private Color ColorStatus;
private Color ColorRepair;
private Color ColorOpenDoor;
private Color ColorVeracity;
private Color ColorLogPanel;
private int countsecanimate = 0;
private int countsecsound = 0;
private boolean sound = false; // false -no sound
private boolean siren = false; // false- no siren
/*
* Текущее состояние
*/
public MdlEvent(int id_agk, String name, int id_status) {
this.setIdAgk(id_agk);
this.setRiver(name);
this.setIdStatus(id_status);
}
/*
* Событие для подтверждения
*/
public MdlEvent(int id,String name,
int id_agk,
String datetime,
int id_status,
String message) {
this.setId(id);
this.setIdAgk(id_agk);
this.setRiver(name);
this.setDateTime(datetime);
this.setIdStatus(id_status);
}
public MdlEvent(int id, int id_agk, String river, String datetime,
String value, int id_status, boolean repair, boolean opendoor,
boolean veracity) {
this.setId(id);
this.setIdAgk(id_agk);
this.setRiver(river);
this.setDateTime(datetime);
this.setValue(value);
this.setIdStatus(id_status);
this.setRepair(repair);
this.setOpenDoor(opendoor);
this.setVeracity(veracity);
if (this.repair || this.opendoor || !this.veracirty) {
SetStrategy(0);
}
if (this.id_status == 0)
SetStrategy(0);
else if (this.id_status == 1)
SetStrategy(1);
else
SetStrategy(2);
}
public Color getColorLogPanel() {
return this.ColorLogPanel;
}
private void setId(long id) {
this.id = id;
}
public long getId() {
return id;
}
public int getCoundAnimate() {
return this.countsecanimate;
}
public int getCountSound() {
return this.countsecsound;
}
public boolean getSound() {
return this.sound;
}
public boolean getSiren() {
return this.siren;
}
public void setCountAnimate(int countanimate) {
this.countsecanimate = countanimate;
}
public void setCountSound(int countsecsound) {
this.countsecsound = countsecsound;
}
public void setSiren(boolean siren) {
this.siren = siren;
}
private void setSound(boolean sound) {
this.sound = sound;
}
private void setIdAgk(int id_agk) {
this.id_agk = id_agk;
this.titleagk = "АГК-" + id_agk;
}
public String getTitleAgk() {
return titleagk;
}
public int getIdAgk() {
return id_agk;
}
private void setRiver(String river) {
this.river = river;
}
public String getTitleRiver() {
return river;
}
public ImageIcon getIconRiver() {
ImageIcon icon = new ImageIcon(getClass().getResource("/river.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
return icon = new ImageIcon(newimg);
}
public ImageIcon getIconRiverSmall() {
ImageIcon icon = new ImageIcon(getClass().getResource("/river.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(15, 15,
java.awt.Image.SCALE_SMOOTH);
return icon = new ImageIcon(newimg);
}
public void setDateTime(String datetime) {
this.datetime = datetime;
}
public String getDateTime() {
return datetime;
}
public ImageIcon getIconDateTime() {
ImageIcon icon = new ImageIcon(getClass().getResource("/clock.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
return icon = new ImageIcon(newimg);
}
public ImageIcon getIconDateTimeSmall() {
ImageIcon icon = new ImageIcon(getClass().getResource("/clock.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(15, 15,
java.awt.Image.SCALE_SMOOTH);
return icon = new ImageIcon(newimg);
}
public void setValue(String value) {
this.value = value;
}
public String getValue() {
return value;
}
private void setIdStatus(int id_status) {
this.id_status = id_status;
if (id_status == 0) {
this.titlestatus = "В НОРМЕ";
this.titlestatusconfirm = "Уровень реки в норме";
this.imgstatus = "green.png";
ImageIcon icon = new ImageIcon(getClass().getResource("/green.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconStatusLarge = icon;
img = icon.getImage();
newimg = img.getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconStatusSmall = icon;
this.ColorStatus = Color.BLUE;
this.ColorLogPanel = new Color(102, 255, 204);
} else if (id_status == 1) {
this.titlestatus = "НЯ";
this.titlestatusconfirm = "Неблагоприятное явление";
this.imgstatus = "yellow.png";
ImageIcon icon = new ImageIcon(getClass()
.getResource("/yellow.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconStatusLarge = icon;
img = icon.getImage();
newimg = img.getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconStatusSmall = icon;
this.ColorStatus = Color.RED;
this.ColorLogPanel = new Color(255, 255, 153);
} else {
this.titlestatus = "ОЯ";
this.titlestatusconfirm = "Опасное явление";
this.imgstatus = "red.png";
ImageIcon icon = new ImageIcon(getClass().getResource("/red.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconStatusLarge = icon;
img = icon.getImage();
newimg = img.getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconStatusSmall = icon;
this.ColorStatus = Color.RED;
this.ColorLogPanel = new Color(255, 153, 204);
}
}
public String getTitleStatus() {
return titlestatus;
}
public String getTitleStatusForConfirm() {
return this.titlestatusconfirm;
}
public String getStrImgStatus() {
return imgstatus;
}
public int getIdStatus() {
return id_status;
}
public ImageIcon getIconStatusSmall() {
return this.IconStatusSmall;
}
public ImageIcon getIconStatusLarge() {
return this.IconStatusLarge;
}
private void setRepair(boolean repair) {
this.repair = repair;
if (repair) {
this.titlerepair = "Станция неисправна";
this.imgrepair = "repair.png";
ImageIcon icon = new ImageIcon(getClass()
.getResource("/repair.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconRepairLarge = icon;
img = icon.getImage();
newimg = img.getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconRepairSmall = icon;
this.ColorRepair = Color.RED;
} else {
this.titlerepair = "Станция исправна";
this.imgrepair = "good.png";
ImageIcon icon = new ImageIcon(getClass().getResource("/good.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconRepairLarge = icon;
img = icon.getImage();
newimg = img.getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconRepairSmall = icon;
this.ColorRepair = Color.BLUE;
}
}
public boolean getRepair() {
return repair;
}
public String getTitleRepair() {
return titlerepair;
}
public String getImgRepair() {
return imgrepair;
}
public ImageIcon getIconRepairSmall() {
return this.IconRepairSmall;
}
public ImageIcon getIconRepairLarge() {
return this.IconRepairLarge;
}
private void setOpenDoor(boolean opendoor) {
this.opendoor = opendoor;
if (opendoor) {
this.titleopendoor = "Контейнер открыт";
this.imgdoor = "opendoor.png";
ImageIcon icon = new ImageIcon(getClass().getResource(
"/opendoor.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconOpenDoorLarge = icon;
img = icon.getImage();
newimg = img.getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconOpenDoorSmall = icon;
this.ColorOpenDoor = Color.RED;
} else {
this.titleopendoor = "Контейнер закрыт";
this.imgdoor = "closedoor.png";
ImageIcon icon = new ImageIcon(getClass().getResource(
"/closedoor.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconOpenDoorLarge = icon;
img = icon.getImage();
newimg = img.getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconOpenDoorSmall = icon;
this.ColorOpenDoor = Color.BLUE;
}
}
public boolean getOpenDorr() {
return opendoor;
}
public String getTitleOpenDorr() {
return titleopendoor;
}
public String getImgOpenDoor() {
return imgdoor;
}
public ImageIcon getIconOpenDoorLarge() {
return this.IconOpenDoorLarge;
}
public ImageIcon getIconOpenDoorSmall() {
return this.IconOpenDoorSmall;
}
public void setVeracity(boolean veracity) {
this.veracirty = veracity;
if (veracity) {
this.titleveracity = "Данные достоверны";
this.imgveracity = "varacitytrue.png";
ImageIcon icon = new ImageIcon(getClass().getResource(
"/veracitytrue.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconVeracityLarge = icon;
img = icon.getImage();
newimg = img.getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconVeracitySmall = icon;
this.ColorVeracity = Color.BLUE;
} else {
this.titleveracity = "Данные недостоверны";
this.imgveracity = "varacityfalse.png";
ImageIcon icon = new ImageIcon(getClass().getResource(
"/veracityfalse.png"));
Image img = icon.getImage();
Image newimg = img.getScaledInstance(30, 30,
java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconVeracityLarge = icon;
img = icon.getImage();
newimg = img.getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
this.IconVeracitySmall = icon;
this.ColorVeracity = Color.RED;
}
}
public String getTitleVeracity() {
return this.titleveracity;
}
public boolean getVeracity() {
return this.veracirty;
}
public ImageIcon getIconVeracityLarge() {
return this.IconVeracityLarge;
}
public ImageIcon getIconVeracitySmall() {
return this.IconVeracitySmall;
}
public Color getColorStatus() {
return this.ColorStatus;
}
public Color getColorRepair() {
return this.ColorRepair;
}
public Color getColorOpenDoor() {
return this.ColorOpenDoor;
}
public Color getColorVeracity() {
return this.ColorVeracity;
}
public boolean IsOld() {
boolean old = false;
try {
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
Date dt1 = new Date();
Date dt2 = new Date();
try {
dt1 = dateFormat.parse(datetime);
// add -24
Calendar cal2 = Calendar.getInstance();
cal2.add(Calendar.MINUTE, -1);
dt2 = cal2.getTime();
if (dt1.before(dt2)) {
old = true;
}
} catch (Exception e) {
}
} catch (Exception e) {
}
return old;
}
// Устанавливаем стратегию оповещения для события
// 0 -animate 30+ sound ( repair, open door and status river is norm)
// 1- animate 20 + sound 25+siren // nj
// 2- animate 10 + sound 10+ siren // oj
private void SetStrategy(int type) {
switch (type) {
case 0:
this.setCountAnimate(30);
this.setSound(true);
break;
case 1:
this.setCountAnimate(20);
this.setCountSound(25);
this.setSound(true);
this.setSiren(true);
break;
default:
this.setCountAnimate(10);
this.setCountSound(10);
this.setSound(true);
this.setSiren(true);
}
}
}
package org.emercit.szs.model;
import java.util.List;
public class ModelConfig {
}
\ No newline at end of file
package org.emercit.szs.model;
import java.util.List;
import java.util.ArrayList;
public class ModelResponse {
public List<EventAgk> lsteventagkconfirm;
public List<EventAgk> lsteventagkstate;
}
package org.emercit.szs.model;
public class MsgSzs {
public final static String downPpp="Остановка PPP соединения";
public final static String upPpp="Запуск PPP соединения";
public final static String offGsm="Выключение Gsm модема";
public final static String onGms="Включение Gsm модема";
public final static String connectServerError="Связь с сервером потеряна";
}
package org.emercit.szs.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.szs.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.szs.model;
import java.util.Random;
import java.io.*;
import org.emercit.szs.szsterminal.*;
import java.util.regex.*;
public class Util {
public static void SettingsNetwork() {
}
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 "";
}
}
package org.emercit.szs.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 java.io.IOException;
import java.io.StringReader;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import com.google.gson.*;
import org.apache.log4j.Logger;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Element;
import java.util.ArrayList;
import org.emercit.szs.model.Config;
import org.emercit.szs.service.Gprs;
import org.emercit.szs.service.SData;
import org.emercit.szs.model.MsgSzs;
public class WebPost {
private static final Logger log = Logger.getLogger(WebPost.class);
private String ip;
private String guid;
private String gsm;
private Gprs gprs;
public WebPost() {
this.guid=Config.devinfobean.getGuid();
this.ip=Config.serverbean.getIp()+":"+Config.serverbean.getPort();
this.gsm=Config.gsmbean.getOperator();
this.gprs=new Gprs(this.gsm);
print();
}
private void print() {
log.info("guid:"+this.guid);
log.info("ip:"+this.ip);
log.info("gsm:"+this.gsm);
}
public ModelResponse Request() {
ModelResponse md = new ModelResponse();
md.lsteventagkconfirm=new ArrayList<EventAgk>();
md.lsteventagkstate=new ArrayList<EventAgk>();
StringBuilder sb = new StringBuilder();
HttpURLConnection urlConnection = null;
BufferedReader br=null;
try {
URL url = new URL("http://"+ip+"/api/lss_info.php"+"?guid="+guid);
urlConnection = (HttpURLConnection) url
.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setRequestMethod("GET");
urlConnection.setRequestProperty("Content-Type", "application/xml");
urlConnection.setConnectTimeout(45000);
urlConnection.setReadTimeout(60000);
urlConnection.connect();
int HttpResult = urlConnection.getResponseCode();
if (HttpResult == HttpURLConnection.HTTP_OK) {
InputStream xml = urlConnection.getInputStream();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(xml);
SData.INSTANCE.setIsConnect(true);
/*
* Неподтвержденные события
*/
NodeList list = doc.getElementsByTagName("alarmList");
Element element = (Element)list.item(0);
NodeList nl=element.getElementsByTagName("alarm");
if(nl != null && nl.getLength() > 0) {
for(int i = 0 ; i < nl.getLength();i++) {
Element el = (Element)nl.item(i);
try {
EventAgk event=new EventAgk();
event.id=Integer.valueOf(getTextValue(el,"id"));
event.name=getTextValue(el,"name");
event.id_agk=Integer.valueOf(getTextValue(el,"guid"));
event.datetime=getTextValue(el,"datetime");
event.id_status=Integer.valueOf(getTextValue(el,"status"));
event.message=getTextValue(el,"message");
md.lsteventagkconfirm.add(event);
}
catch(Exception e) {
log.error(e.getMessage());
}
}
}
/*
* Текущее состояние станций
*/
list = doc.getElementsByTagName("deviceList");
element = (Element)list.item(0);
nl=element.getElementsByTagName("device");
if(nl != null && nl.getLength() > 0) {
for(int i = 0 ; i < nl.getLength();i++) {
Element el = (Element)nl.item(i);
try {
EventAgk event=new EventAgk();
event.name=getTextValue(el,"name");
event.id_agk=Integer.valueOf(getTextValue(el,"guid"));
event.id_status=Integer.valueOf(getTextValue(el,"alarm"));
md.lsteventagkstate.add(event);
} catch(Exception e) {
log.error(e.getMessage());
}
}
}
}
urlConnection.disconnect();
} catch (Exception e) {
log.error(e.getMessage());
log.error(MsgSzs.connectServerError);
gprs.Reconnect();
} finally {
try {
if (urlConnection != null) {
urlConnection.disconnect();
}
if (br!=null) {
br.close();
}
} catch (Exception ex) {
log.error(ex.getMessage());
log.error(MsgSzs.connectServerError);
gprs.Reconnect();
}
}
return md;
}
private String getTextValue(Element ele, String tagName) {
String textVal = null;
NodeList nl = ele.getElementsByTagName(tagName);
if(nl != null && nl.getLength() > 0) {
Element el = (Element)nl.item(0);
textVal = el.getFirstChild().getNodeValue();
}
return textVal;
}
public void Confirm(long alarm) {
HttpURLConnection urlConnection = null;
try {
URL url = new URL("http://"+ip+"/api/lss_confirm.php"+"?guid="+guid+"&alarm="+alarm);
urlConnection = (HttpURLConnection) url
.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setRequestMethod("GET");
urlConnection.setRequestProperty("Content-Type",
"application/json");
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(10000);
urlConnection.connect();
int HttpResult = urlConnection.getResponseCode();
if (HttpResult == HttpURLConnection.HTTP_OK) {
}
urlConnection.disconnect();
} catch (Exception e) {
log.error(e.getMessage());
log.error(MsgSzs.connectServerError);
} finally {
try {
if (urlConnection != null) {
urlConnection.disconnect();
}
} catch (Exception ex) {
log.error(ex.getMessage());
log.error(MsgSzs.connectServerError);
}
}
}
}
\ No newline at end of file
package org.emercit.szs.service;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import org.apache.log4j.Logger;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import org.emercit.szs.model.MsgSzs;
import java.io.*;
public class Gprs {
static final Logger logger = Logger.getLogger(Gprs.class);
private static final int BUFFER_SIZE = 10000;
private String host="127.0.0.1";
private String user="debian";
private String password="temppwd";
private String operator;
public Gprs(String operator){
this.operator=operator;
}
public void Reconnect() {
try {
logger.info(MsgSzs.downPpp);
OffLine();
Thread.sleep(3000);
logger.info(MsgSzs.offGsm);
OffGsm();
Thread.sleep(3000);
logger.info(MsgSzs.onGms);
PowerGsm();
Thread.sleep(60000);
logger.info(MsgSzs.upPpp);
OnLine();
Thread.sleep(30000);
}catch(Exception e) {
logger.error(e.getMessage());
}
}
/*
* Подключение к интернету
*/
private void OnLine() {
ExecCmd("pon "+this.operator);
}
/*
* Отключение от интернета
*/
private void OffLine() {
ExecCmd("poff "+this.operator);
}
/*
* Включение Gsm терминала
*/
private void PowerGsm() {
ExecCmd("echo 1 > /dev/gsm-modem-ctl");
}
/*
* Выключение GSM
*/
private void OffGsm() {
ExecCmd("echo 0 > /dev/gsm-modem-ctl");
}
private void ExcCmd(String value) {
ExecCmd(value);
}
private void ExecCmd(String cmd) {
try{
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
Session session=jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
session.connect();
Channel channel=session.openChannel("exec");
((ChannelExec)channel).setCommand("sudo -S -p '' "+cmd);
InputStream in=channel.getInputStream();
OutputStream out=channel.getOutputStream();
((ChannelExec)channel).setErrStream(System.err);
channel.connect();
out.write((password+"\n").getBytes());
out.flush();
byte[] tmp=new byte[1024];
while(true){
while(in.available()>0){
int i=in.read(tmp, 0, 1024);
if(i<0)break;
System.out.print(new String(tmp, 0, i));
}
if(channel.isClosed()){
break;
}
try{Thread.sleep(1000);}catch(Exception ee){}
}
channel.disconnect();
session.disconnect();
}catch(Exception e){
logger.error(e.getMessage());
}
}
}
package org.emercit.szs.service;
import java.util.ArrayList;
import java.util.List;
import org.emercit.szs.model.EventAgk;
import org.emercit.szs.model.MdlEvent;
import org.emercit.szs.model.ModelResponse;
import org.emercit.szs.model.WebPost;
import org.emercit.szs.szsterminal.SZSTerminal;
@javax.inject.Singleton
public enum SData {
INSTANCE;
private ModelResponse data;
private boolean IsConnect;
private boolean IsOpenDialog=false;
private WebPost webpost=new WebPost();
/*
* Получение данных с веб сервиса
*/
public void Scan() {
if (!IsOpenDialog) {
this.data= webpost.Request();
}
}
/*
* Получение текущего состояния датчиков
*/
public ModelResponse getData() {
return this.data;
}
/*
* Подтверждение события
*/
public void Confirm(MdlEvent mdlevent) {
webpost.Confirm(mdlevent.getId());
this.IsOpenDialog=false;
}
/*
* Связь с сервисом
*/
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.szs.service;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import org.apache.log4j.Logger;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import java.io.*;
public class Ssh {
private String host="127.0.0.1";
private String user;
private String password;
public Ssh(String user,String password) {
this.user=user;
this.password=password;
}
public boolean ExecCmd(String cmd) {
try{
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
Session session=jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
session.connect();
Channel channel=session.openChannel("exec");
((ChannelExec)channel).setCommand("sudo -S -p '' "+cmd);
InputStream in=channel.getInputStream();
OutputStream out=channel.getOutputStream();
((ChannelExec)channel).setErrStream(System.err);
channel.connect();
out.write((password+"\n").getBytes());
out.flush();
byte[] tmp=new byte[1024];
while(true){
while(in.available()>0){
int i=in.read(tmp, 0, 1024);
if(i<0)break;
// System.out.print(new String(tmp, 0, i));
}
if(channel.isClosed()){
break;
}
try{Thread.sleep(1000);}catch(Exception ee){}
}
channel.disconnect();
session.disconnect();
}catch(Exception e){
return false;
}
return true;
}
}
package org.emercit.szs.service;
import org.apache.log4j.Logger;
import org.emercit.szs.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.szs.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.TimeZone;
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 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.szs.components.*;
import org.emercit.szs.model.*;
import org.emercit.szs.service.*;
import org.emercit.utilstools.devinfo.service.DevInfo;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PropertyConfigurator;
import org.emercit.szs.model.Config;
public class SZSTerminal {
private static final Logger log = Logger.getLogger(SZSTerminal.class);
private static String version="1.0.0.0";
private static JFrame mainFrame;
private static JPanel mainPanel;
public static JPnlCurrent pnlcurrent;
public static JPnlLog jpnllog;
public static JPnlContacts jpnlcontacts;
public static JPnlControl jpnlcontrol;
private static Timer ftdTimerMain = new Timer();
public static DlgConfirm dlgconfirm;
public static JPnlHeader jpnlheader = new JPnlHeader();
private static class ftdTimerTask extends TimerTask {
@Override
public void run() {
EventQueue.invokeLater(new Runnable() {
// @Override
public void run() {
Calendar calendar = Calendar.getInstance();
TimeZone.setDefault(TimeZone.getTimeZone("Europe/Moscow"));
TimeZone timeZone = calendar.getTimeZone();
Date date=calendar.getTime();
jpnlheader.UpdateTime(new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(new Date()));
if (SData.INSTANCE.isConnect()){
/*
* Текущее состояние датчиков
*/
new SwingWorker<Void, Void>()
{
protected Void doInBackground() throws Exception
{
List<MdlEvent> lstEvent = new ArrayList<MdlEvent>();
ModelResponse mdl=SData.INSTANCE.getData();
if(mdl.lsteventagkstate.size()!=0) {
for (EventAgk event:mdl.lsteventagkstate) {
MdlEvent ev = new MdlEvent(event.id_agk,event.name,event.id_status);
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.name,
eventagk.id_agk,
eventagk.datetime,
eventagk.id_status,
eventagk.message
);
ev.setSiren(true);
ev.setCountAnimate(15);
ev.setCountSound(2);
dlgconfirm.setEvent(ev);
dlgconfirm.setVisible(true);
}
return null;
}
}.execute();
}
}
});
}
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
mainFrame = new JFrame();
mainFrame.setSize(800, 500);
mainFrame.setUndecorated(true);
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.setBounds(10, 5, 780, 40);
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, 50, 780, 450);
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"));
pnlcurrent = new JPnlCurrent();
jtp.addTab("Текущее состояние", imgCurrent, pnlcurrent);
jpnllog = new JPnlLog();
jtp.addTab("Журнал", imgJournal, jpnllog);
jpnlcontrol = new JPnlControl();
jtp.addTab("Управление", null, jpnlcontrol);
mainFrame.setAlwaysOnTop(true);
dlgconfirm=new DlgConfirm();
mainPanel.setBackground(UIManager
.getColor("Separator.foreground"));
mainPanel.setLayout(null);
mainFrame.getContentPane().add(mainPanel);
log.info("Запуск приложения CtrlPnl."+ " Версия:"+version);
log.info(Config.devinfobean.getDescription());
Runnable rTScan = new TScan();
Thread tScan = new Thread(rTScan);
tScan.start();
ftdTimerMain.schedule(new ftdTimerTask(), 0, 1000);
EventTableModel model = (EventTableModel) SZSTerminal.jpnllog.table
.getModel();
SZSTerminal.jpnllog.Upd();
}
});
}
}
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
log4j.rootLogger=debug,stdout,server
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSSS} %p %t %c \u2013 %m%n
log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4560
log4j.appender.server.RemoteHost=localhost
log4j.appender.server.ReconnectionDelay=10000
log4j.appender.server.Application=ctrlpnl
log4j.appender.server.LocationInfo=true
\ No newline at end of file