NetService.java 3.93 KB
package org.emercit.service;


import org.emercit.model.NetBean;
import org.emercit.model.EthBean;
import org.emercit.model.DnsBean;
import org.emercit.model.ProxyBean;




import org.emercit.model.IPAddressValidator;

import java.util.Vector;

public enum NetService {

	INSTANCE;
	
	private IPAddressValidator ipvalidator=new IPAddressValidator();
	
	private CommandExecutor ce=new CommandExecutor();
	
	private NetBean nb=new NetBean();

	
	
	private final String urlZabixAgent="zabbix_get -s 127.0.0.1 -p 10050 -k";
	
	
	public NetBean get(String eth) throws Exception {
		
			nb.setEthName(eth);
		
			String strUseDhcp=ce.Run(urlZabixAgent+" 'custom.utils.net.eth.usedhcp['"+eth+"'"+"]'").get(1);
		
			if (!strUseDhcp.equals("dhcp")) {
				nb.setUseDhcp(false);
				// Получение шлюза из файла /etc/networ/interfaces
				nb.setGateway(ce.Run(urlZabixAgent+" 'custom.utils.net.eth.gwstatic[]'").firstElement());

				nb.setMac(ce.Run(urlZabixAgent+" 'custom.utils.net.eth.mac["+eth+"]'").firstElement());
				nb.setIp(ce.Run(urlZabixAgent+" 'custom.utils.net.eth.addrstatic[]'").firstElement());
				nb.setBroadcast(ce.Run(urlZabixAgent+" 'custom.utils.net.eth.bcaststatic[]'").firstElement());
				nb.setNetmask(ce.Run(urlZabixAgent+ " 'custom.utils.net.eth.netmaskstatic[]'").firstElement());
				
				
			}else {
				nb.setUseDhcp(true);
				// Получение шлюза по умолчанию
				nb.setGateway(ce.Run(urlZabixAgent+" 'custom.utils.net.gwdefault[]'").firstElement());
				
				nb.setMac(ce.Run(urlZabixAgent+" 'custom.utils.net.eth.mac["+eth+"]'").firstElement());
				nb.setIp(ce.Run(urlZabixAgent+" 'custom.utils.net.eth.inetaddr["+eth+"]'").firstElement());
				nb.setBroadcast(ce.Run(urlZabixAgent+" 'custom.utils.net.eth.bcast["+eth+"]'").firstElement());
				nb.setNetmask(ce.Run(urlZabixAgent+ " 'custom.utils.net.eth.mask["+eth+"]'").firstElement());
			}
			
			
			// ExtInfo
			Vector<String> buff=ce.Run(urlZabixAgent+ " 'custom.utils.net.extinfo["+eth+"]'");
			
			buff.remove(0);
			buff.remove(0);
			
			for (int i=0;i<buff.size();i++) {
				
				String v=buff.get(i).trim();
				
				buff.remove(i);
				buff.insertElementAt(v, i);
			}
			
			
			nb.setExtInfo(buff);
			
	
		 return nb;
	}
	
	public Vector<String> set(NetBean m) throws Exception{
		
		Vector<String> result=new Vector<String>();
 		
	
			if (!ipvalidator.validate(m.getIp())) {
				 new Exception(m.getIp()+"- неверный формат");
			}
			
			if (!ipvalidator.validate(m.getNetmask())) {
				 new Exception(m.getNetmask()+"- неверный формат");
			}
			
			if (!ipvalidator.validate(m.getGateway())) {
				 new Exception(m.getGateway()+"- неверный формат");
			}
			
			if (m.getUseDhcp()) {
				
				ce.Run("");
	
			}else {
				
				
				ce.Run("");
				
			}
			
			
			
			this.nb=m;
		
	
		
		return result;
	}
	
	
	public Vector<EthBean> getAllEth() throws Exception {

		Vector<EthBean> result=new Vector<EthBean>();
		
		Vector<String> v=ce.Run("zabbix_get -s 127.0.0.1 -p 10050 -k 'custom.utils.net.eths[]'");
		int i=0;
		for (String s:v) {
			
			EthBean eb=new EthBean();
					eb.setId(i);
					eb.setEth(s);
					result.add(eb);
			i++;
		}
		return result;
	}
	
	
	public Vector<DnsBean> getDns() throws Exception {
		
		
		Vector<DnsBean> result=new Vector<DnsBean>();
		
		Vector<String> v=ce.Run("zabbix_get -s 127.0.0.1 -p 10050 -k 'custom.utils.net.dns[]'");
		int i=0;
		for (String s:v) {
			
			DnsBean db=new DnsBean();
					db.setId(i);
					db.setDns(s);
					result.add(db);
			i++;
		}
		return result;
		
		
	}
	
	
	public Vector<ProxyBean> getProxy() throws Exception { 
		
		
			Vector<ProxyBean> result=new Vector<ProxyBean>();
		
		Vector<String> v=ce.Run("zabbix_get -s 127.0.0.1 -p 10050 -k 'custom.utils.net.globalproxy[]'");
		int i=0;
		for (String s:v) {
			
			ProxyBean db=new ProxyBean();
					db.setId(i);
					db.setProxy(s);
					result.add(db);
			i++;
		}
		return result;
		
		
		
		
		
	}
	
	
}