Commit 0235aab1 0235aab15ac88b3389b4b9d8357fb178aba78c10 by root

save

1 parent 293ffec7
......@@ -139,6 +139,15 @@
<version>1.13</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
......
package org.emercit.devtools.service;
import org.apache.log4j.Logger;
import org.emercit.model.IPAddressValidator;
import java.util.Vector;
......@@ -12,10 +13,17 @@ import java.util.Vector;
import org.emercit.pckutils.checkservice.STService;
import org.emercit.utilstools.config.Paths;
import org.apache.log4j.Logger;
public enum SvService {
INSTANCE;
private static final Logger log = Logger.getLogger(SvService.class);
private Sv sv=new Sv();
......@@ -36,6 +44,20 @@ public enum SvService {
svbeans=sv.get();
for (SvBean s:svbeans) { // проверяем запущен или остановлен
try {
boolean status=st.IsRun(s.getProcess());
log.info("Процесс:"+status);
} catch (Exception e) {
}
try { s.setIsrun(st.IsRun(s.getProcess())); } catch (Exception e) {};
}
......
......@@ -219,21 +219,15 @@ Ext.application({
{
title: 'СЕРВИСЫ',
items:[
{
region: 'center',
xtype: 'tabpanel',
items: [
{
xtype : 'mvvm-SvView',
id:'grdSv',
name:'grdSv'
}
]
}
{
xtype : 'mvvm-SvView',
id:'grdSv',
name:'grdSv',
width: 700,
height: 300
}
]
},
......
......@@ -30,7 +30,7 @@ Ext.define('App.view.Sv', {
xtype : 'mvvm-SvView',
title : 'Управление службами',
store : 'Sv',
bbar: {
items: [
{
......@@ -43,8 +43,7 @@ Ext.define('App.view.Sv', {
}
]
},
width: 500,
height: 300,
selType: 'rowmodel',
plugins: [new Ext.create('Ext.grid.plugin.RowEditing', {
clicksToEdit: 2,
......@@ -54,7 +53,7 @@ Ext.define('App.view.Sv', {
columns: [{
text : '№',
dataIndex : 'id',
flex: 1,
width: 50,
hidden:true
},
......@@ -62,10 +61,10 @@ Ext.define('App.view.Sv', {
{
text : 'Статус',
dataIndex : 'isrun',
flex : 1,
width : 100,
renderer:rendererstatusimg,
// editor: new Ext.form.TextField({
allowBlank: true
// allowBlank: true
// })
},
......@@ -73,7 +72,7 @@ Ext.define('App.view.Sv', {
{
text : 'Процесс',
dataIndex : 'process',
flex : 1,
width : 150,
renderer:renderercell,
// editor: new Ext.form.TextField({
// allowBlank: true
......@@ -83,7 +82,7 @@ Ext.define('App.view.Sv', {
{
text : 'Примечание',
dataIndex : 'isrun',
flex : 1,
width : 170,
renderer:rendererstatustitle,
// editor: new Ext.form.TextField({
allowBlank: true
......@@ -93,18 +92,17 @@ Ext.define('App.view.Sv', {
{
text : 'Автозагрузка',
dataIndex : 'autostart',
flex : 1,
width : 100,
xtype: 'checkcolumn'
},
{
xtype:'actioncolumn',
margin: "10 20 20 20",
width:170,
items: [{
icon: 'resources/img/start.png',
tooltip: 'Запустить',
margin: "10 20 20 20",
handler: function(grid, rowIndex, colIndex) {
var rec = grid.getStore().getAt(rowIndex);
alert("Edit " + rec.get('firstname'));
......@@ -112,7 +110,6 @@ Ext.define('App.view.Sv', {
},{
icon: 'resources/img/stop.png',
tooltip: 'Остановить',
margin: "10 20 20 20",
handler: function(grid, rowIndex, colIndex) {
var rec = grid.getStore().getAt(rowIndex);
alert("Terminate " + rec.get('firstname'));
......@@ -121,7 +118,6 @@ Ext.define('App.view.Sv', {
{
icon: 'resources/img/replay.png',
tooltip: 'Перезапустить',
margin: "10 20 20 20",
handler: function(grid, rowIndex, colIndex) {
var rec = grid.getStore().getAt(rowIndex);
alert("Terminate " + rec.get('firstname'));
......@@ -130,9 +126,7 @@ Ext.define('App.view.Sv', {
]
}
]
});
......
package org.emercit.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.pckutils.checkservice.STService;
import org.emercit.utilstools.service.Settings;
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;
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);
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)
{
btnStart.setEnabled(false);
btnStop.setEnabled(false);
lblStatus.setForeground(Color.YELLOW);
lblStatus.setText(" - выполняется запуск Web конфигуратора ...");
block=true;
//TODO
block=false;
}
}
public class Stop implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
btnStart.setEnabled(false);
btnStop.setEnabled(false);
lblStatus.setForeground(Color.YELLOW);
lblStatus.setText(" - выполняется остановка Web конфигуратора ...");
block=true;
//TODO
block=false;
}
}
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.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.controldevtools.bean;
\ No newline at end of file
......@@ -81,6 +81,7 @@ public class DefSettings {
public static final int ctrlpnl_starttime=10000; // время запуска процесса в мс
public static final int ctrlpnl_stoptime=5000; // время остановки процесса
public static final String devtools_title="Web интерфейс для конфигурации";
}
......