Commit 63205f6a 63205f6ae1ad9916edc8d6617b174afbcabc235c by root

save

1 parent 2fae680f
Showing 48 changed files with 794 additions and 11 deletions
45d762803bf23878b394494e9b8ec966
\ No newline at end of file
bcb512bc2d6ea81f72c6b9fb5c9fab866bf8ed55
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.emercit</groupId>
<artifactId>pckutils</artifactId>
<version>1.0</version>
</project>
885411a907233888727ee8797896488d
\ No newline at end of file
874189a2aabf491b3e6aaf5513c400e2cc932899
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>org.emercit</groupId>
<artifactId>pckutils</artifactId>
<versioning>
<release>1.0</release>
<versions>
<version>1.0</version>
</versions>
<lastUpdated>20150717143732</lastUpdated>
</versioning>
</metadata>
beef9eced655ee313a03e264529f4e5e
\ No newline at end of file
0881c3d87e83e58e68094f807bd594933d746940
\ No newline at end of file
7d9bb10da29a2caf08c23ffbbcfb52be
\ No newline at end of file
be97790e794cf9b556b068004587c23704d96f8e
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.emercit</groupId>
<artifactId>remoteservers</artifactId>
<version>1.0</version>
</project>
780810c93c8564aabd3cebc4484e5540
\ No newline at end of file
8b9cc53d81b3225e50dfd89bc3c6c591aa89ed60
\ No newline at end of file
501d8feba852973bad1a075673f004d6
\ No newline at end of file
b3d6fbfdc94cd983a8be46aa551bf5c24d2c544b
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.emercit</groupId>
<artifactId>remoteservers</artifactId>
<version>1.1</version>
</project>
da7c4688cce5db79d016a7c08cc3978c
\ No newline at end of file
54e2dfd71e5891beb9de05d8b08e94838c531e67
\ No newline at end of file
0aaacdd678213463d1a396d9a763b42a
\ No newline at end of file
62d904bfbb0265201fba27bddf9869c078afd404
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.emercit</groupId>
<artifactId>remoteservers</artifactId>
<version>1.2</version>
</project>
d93eaf68258dca65064ee513d74aa15d
\ No newline at end of file
9ce077d872a701a9ee8b69ee7cb723759fe0b440
\ No newline at end of file
dad2a569361e36bb2d09b474b0d9850b
\ No newline at end of file
99a77174b3c51fa27c3af37d7441361e1bb5fa92
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.emercit</groupId>
<artifactId>remoteservers</artifactId>
<version>1.3</version>
</project>
55620e80d7aeb6a4cc2fed99bb5c5f1c
\ No newline at end of file
429b1101db8e9268630aaeca78b4e1ed88b44a15
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>org.emercit</groupId>
<artifactId>remoteservers</artifactId>
<versioning>
<release>1.3</release>
<versions>
<version>1.0</version>
<version>1.1</version>
<version>1.2</version>
<version>1.3</version>
</versions>
<lastUpdated>20150717110442</lastUpdated>
</versioning>
</metadata>
9b8e334c8cfa36ac553251e1f35a02e2
\ No newline at end of file
774541070a9ee120430dcc491d4aadb30ced2f25
\ No newline at end of file
package org.emercit.devtools.app;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.*;
import javax.servlet.ServletContext;
import java.io.*;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Vector;
import org.emercit.devtools.service.EthService;
import org.emercit.devtools.service.RemoteServerManager;
import org.emercit.ethmanager.model.EthBean;
import org.emercit.remoteservers.model.RemoteServerBean;
@Controller
@RequestMapping("api")
public class RemoteServerController {
@RequestMapping(value = "remoteserver/bytype/{type}", method = RequestMethod.GET)
public @ResponseBody RemoteServerBean getRemoteServerByType(@PathVariable String type) {
return RemoteServerManager.INSTANCE.getByType(type);
}
@RequestMapping(value="remoteserver/update" , method = RequestMethod.POST)
public @ResponseBody boolean update(@RequestBody RemoteServerBean b) {
return RemoteServerManager.INSTANCE.Update(b);
}
}
package org.emercit.devtools.app;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.*;
import javax.servlet.ServletContext;
import java.io.*;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Vector;
import org.emercit.ethmanager.model.EthBean;
import org.emercit.proxymanager.model.ProxyBean;
import org.emercit.devtools.service.DnsService;
import org.emercit.devtools.service.EthService;
import org.emercit.dnsmanager.model.DnsBean;
import java.util.ArrayList;
import java.util.List;
import org.emercit.devtools.service.UtilsService;
@Controller
@RequestMapping("api")
public class UtilsController {
@RequestMapping(value="utils/ping" , method = RequestMethod.POST)
public @ResponseBody Vector<String> getResultPing(@RequestBody String host) {
return UtilsService.INSTANCE.Ping(host);
/*
Vector<String> results=new Vector<String>();
results.add("result1");
results.add("result2");
results.add("result3");
return results;
*/
}
}
package org.emercit.devtools.service;
import org.emercit.model.IPAddressValidator;
import java.util.Vector;
import org.emercit.remoteservers.model.RemoteServerBean;
import org.emercit.remoteserver.service.RemoteServerDB;
public enum RemoteServerManager {
INSTANCE;
private RemoteServerDB store=new RemoteServerDB();
private Vector<RemoteServerBean> beans;
public Vector<RemoteServerBean> getAll() {
return store.SelectServers();
}
public RemoteServerBean getByType(String type) {
beans=store.SelectServers();
for (RemoteServerBean b:beans) {
if (b.getType().equals(type)) {
return b;
}
}
return null;
}
public boolean Update(RemoteServerBean b) {
beans=store.SelectServers();
for (RemoteServerBean bean:beans) {
if (bean.getId()==b.getId()) {
bean.setName(b.getName());
bean.setTitle(b.getTitle());
bean.setIp(b.getIp());
bean.setPort(b.getPort());
return store.Update(beans);
}
}
return false;
}
}
\ No newline at end of file
package org.emercit.devtools.service;
import org.emercit.model.IPAddressValidator;
import java.util.Vector;
import org.emercit.pckutils.cmd.CmdExec;
public enum UtilsService {
INSTANCE;
private CmdExec cmdexec=new CmdExec();
public Vector<String> Ping(String host) {
try {
Vector<String> result=cmdexec.Run("ping -c 7 "+host);
return result;
}catch(Exception e) {
return new Vector<String>();
}
}
}
\ No newline at end of file
Ext.define('App.controller.RemoteServer', {
extend : 'Ext.app.Controller',
init : function() {
this.control({
'toolbar button[action=saveRemoteServer]' : {
click : this.onSave
},
'toolbar button[action=loadRemoteServer]' : {
click : this.onLoad
}
});
this.onLoad();
},
onLoad:function() {
//mask
//Ext.getCmp('formremoteserver').mask("Загрузка...");
Ext.Ajax.request({
method: "GET",
url: 'api/remoteserver/bytype/szs',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
success: function(response, opts) {
var result = Ext.JSON.decode(response.responseText);
var remoteServerView = Ext.getCmp('formremoteserver');
remoteServerView.down('#TitleRemoteServer').setValue(result.title);
remoteServerView.down('#PortRemoteServer').setValue(result.port);
remoteServerView.down('#IpRemoteServer').setValue(result.ip);
remoteServerView.down('#NameRemoteServer').setValue(result.name);
remoteServerView.down('#IdRemoteServer').setValue(result.id);
/*
Ext.getCmp('guid').setValue(result.guid);
Ext.getCmp('title').setValue(result.description);
*/
}, failure: function(response, opts) {
}
});
// Ext.getCmp('formremoteserver').unmask();
},
onSave : function() {
var formremoteserver=Ext.getCmp('formremoteserver');
var TitleRemoteServer=formremoteserver.down('#TitleRemoteServer').getValue();
var PortRemoteServer=formremoteserver.down('#PortRemoteServer').getValue();
var IpRemoteServer=formremoteserver.down('#IpRemoteServer').getValue();
var NameRemoteServer=formremoteserver.down('#NameRemoteServer').getValue();
var IdRemoteServer=formremoteserver.down('#IdRemoteServer').setValue();
remoteserver = {
id:1,
name:NameRemoteServer,
ip:IpRemoteServer,
port:parseInt(PortRemoteServer),
type:"",
title:TitleRemoteServer,
};
var data=Ext.util.JSON.encode(remoteserver);
Ext.Ajax.request({
method: "POST",
url: 'api/remoteserver/update',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
params: data,
success: function(response, opts) {
var result = Ext.JSON.decode(response.responseText);
if(result) {
Ext.Msg.alert('Success', 'Обновление конфигурации выполнено!');
//record.commit();
}
else
{
Ext.Msg.alert('Failure', 'Обновление конфигурации не выполнено!');
}
}, failure: function(response, opts) {
Ext.Msg.alert('Failure', 'Обновление конфигурации не выполнено!');
}
});
}
});
Ext.define('App.view.RemoteServer', {
extend : 'Ext.form.Panel',
xtype : 'mvvm-RemoteServerView',
// requires : [
// 'App.view.RemoteServerViewModel'
// ],
frame : true,
padding : 10,
bind : {
},
viewModel: {
type: 'remoteserverform'
},
bbar: {items: [{
xtype: 'button',
iconCls:'save',
itemId: 'RemoteServerButton',
text: 'Сохранить',
action: 'saveRemoteServer',
disabled:false
},
{
xtype: 'button',
iconCls:'load',
itemId: 'LoadRemoteServerButton',
text: 'Обновить',
action: 'loadRemoteServer',
disabled:false
}]
},
items:[{
xtype : 'textfield',
fieldLabel : '',
itemId:'IdRemoteServer',
disable:true,
width:500,
hidden:true,
margin:'5 5 10 3'
},
{
xtype : 'textfield',
fieldLabel : 'НАЗВАНИЕ',
itemId:'NameRemoteServer',
disable:true,
width:500,
margin:'5 5 10 3'
},{
xtype : 'textfield',
fieldLabel : 'IP адрес',
itemId:'IpRemoteServer',
disable:true,
width:500,
margin:'5 5 10 3'
},{
xtype : 'textfield',
fieldLabel : 'ПОРТ',
itemId:'PortRemoteServer',
disable:true,
width:500,
margin:'5 5 10 3'
},{
xtype : 'textarea',
itemId:'TitleRemoteServer',
fieldLabel : 'ОПИСАНИЕ',
height:50,
width:500,
margin:'5 5 10 3'
}]
});
\ No newline at end of file
......@@ -15,11 +15,37 @@
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<groupId>net.sourceforge.argparse4j</groupId>
<artifactId>argparse4j</artifactId>
<version>0.6.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>com.cedarsoftware</groupId>
<artifactId>json-io</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
</project>
......
package org.emercit.remoteserver.service;
import java.util.Vector;
import org.emercit.remoteservers.model.RemoteServerBean;
public interface IRemoteServerDB {
public Vector<RemoteServerBean> SelectServers();
public boolean Update(Vector<RemoteServerBean> beans);
public boolean CreateDB();
}
package org.emercit.remoteserver.service;
import java.util.Vector;
import java.beans.XMLEncoder;
import java.beans.XMLDecoder;
import java.io.BufferedOutputStream;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import org.apache.log4j.Logger;
import org.emercit.remoteserver.service.IRemoteServerDB;
import org.emercit.remoteservers.model.RemoteServerBean;
public class RemoteServerDB implements IRemoteServerDB {
private static final Logger log = Logger.getLogger(RemoteServerDB.class);
public boolean Update(Vector<RemoteServerBean> beans) {
boolean result=true;
try {
FileOutputStream fos = new FileOutputStream("/opt/devtools/beans/RemoteServerBeans.xml");
BufferedOutputStream bos = new BufferedOutputStream(fos);
XMLEncoder xmlEncoder = new XMLEncoder(bos);
xmlEncoder.writeObject(beans);
xmlEncoder.close();
}catch(Exception e) {
log.error(e.getMessage());
result=false;
}
return result;
}
public Vector<RemoteServerBean> SelectServers() {
Vector<RemoteServerBean> result=new Vector<RemoteServerBean>();
try {
XMLDecoder d = new XMLDecoder(
new BufferedInputStream(
new FileInputStream("/opt/devtools/beans/RemoteServerBeans.xml")));
result=(Vector<RemoteServerBean>)d.readObject();
d.close();
}catch(Exception e) {
log.error(e.getMessage());
result=null;
}
return result;
}
public boolean CreateDB() {
boolean result=true;
try {
Vector<RemoteServerBean> beans=new Vector<RemoteServerBean>();
RemoteServerBean rsb=new RemoteServerBean();
rsb.setId(1);
rsb.setIp("127.0.0.1");
rsb.setPort(80);
rsb.setName("");
rsb.setType("szs");
rsb.setTitle("");
beans.add(rsb);
FileOutputStream fos = new FileOutputStream("/opt/devtools/beans/RemoteServerBeans.xml");
BufferedOutputStream bos = new BufferedOutputStream(fos);
XMLEncoder xmlEncoder = new XMLEncoder(bos);
xmlEncoder.writeObject(beans);
xmlEncoder.close();
}catch(Exception e) {
log.error(e.getMessage());
result=false;
}
return result;
}
}
package org.emercit.remoteservers;
/**
* Hello world!
*
*/
import org.emercit.remoteserver.service.RemoteServerDB;
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
RemoteServerDB sv=new RemoteServerDB();
sv.CreateDB();
}
}
......
package org.emercit.remoteservers.model;
import java.io.Serializable;
import java.util.Vector;
public class RemoteServerBean implements Serializable {
private static final long serialVersionUID = 1L;
private int id;
private String name;
private String ip;
private int port;
private String type;
private String title;
public RemoteServerBean() {
}
/*
* SET
*/
public void setId(int value) {
this.id=value;
}
public void setIp(String value) {
this.ip=value;
}
public void setPort(int value) {
this.port=value;
}
public void setName(String value) {
this.name=value;
}
public void setType(String value) {
this.type=value;
}
public void setTitle(String value) {
this.title=value;
}
/*
* GET
*/
public int getId() {
return id;
}
public String getIp() {
return ip;
}
public int getPort() {
return port;
}
public String getName() {
return name;
}
public String getType() {
return type;
}
public String getTitle() {
return title;
}
}
package HardwareConfig.RemoteServers;
package org.emercit.remoteservers;
import junit.framework.Test;
import junit.framework.TestCase;
......