App.java 3.96 KB
package org.emercit.devinfo;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.ByteChannel;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import net.sourceforge.argparse4j.ArgumentParsers;
import net.sourceforge.argparse4j.impl.Arguments;
import net.sourceforge.argparse4j.inf.ArgumentParser;
import net.sourceforge.argparse4j.inf.ArgumentParserException;
import net.sourceforge.argparse4j.inf.Namespace;  

import org.apache.log4j.Logger;
import org.apache.log4j.ConsoleAppender; 
import org.apache.log4j.Level;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;
import org.emercit.devinfo.model.DevInfoBean;
import org.emercit.devinfo.service.DevInfoService;


public class App 
{
	private static final Logger log = Logger.getLogger(App.class);
	 

	  private static String method;
 	  private static String pr; 	  
   	  private static String value;
     	 	
	
    public static void main( String[] args )
    {
    	   ArgumentParser parser = ArgumentParsers.newArgumentParser("prog");
   
    	
         
    	 try {
  	     
   		 	parser.description("Информация об устройстве")
  			.version("Version:1.0.0.0")
  			.defaultHelp(true);

	    	parser.addArgument("-v")
  	   		.type(String.class)
  	   		.setDefault("")
  	   		.help("Значение параметра");
  	   
  	   		parser.addArgument("-m")
  	   		.type(String.class)
  	   		.setDefault("get")
  	   		.help("Функция. Получение параметров - get, установка параметров - set, создание файла DevInfo.xml - create");
  	   		
  	   		parser.addArgument("-log")
  	   		.type(Integer.class)
  	   		.setDefault(0)
  	   		.help("Логирование. 0-выкл.; 1-консоль; 2-файл");
  	   		
  	   		
  	   		parser.addArgument("-p")
	   		.type(String.class)
	   		.setDefault("get")
	   		.help("Параметр, который хотим прочитать или изменить");
  	   		
  	   
	    	 Logger rootLogger = Logger.getRootLogger();
	    	 PatternLayout layout = new PatternLayout("%d{ISO8601} [%t] %-5p %c %x - %m%n");
	    	 
	    	 //rootLogger.setLevel(Level.OFF);
	    	 rootLogger.setLevel(Level.DEBUG);
	    	
		     rootLogger.addAppender(new ConsoleAppender(layout));
	try
  	  {
  		  RollingFileAppender fileAppender = new RollingFileAppender(layout, "/var/log/devtools/DevInfo.log");
  		  rootLogger.addAppender(fileAppender);
  	  }
  	  catch (IOException e)
  	  {
  		  log.error(e.getMessage());
  	  }
  	  
  	  
  	  
  	 Namespace res = parser.parseArgs(args);
         
  	   method=res.getString("m");
  	   pr=res.getString("p");
  	  
  	  if (method.equals("set")) {  // Установка параметров 
  		  
    	 	 value = res.getString("v");
      	 	
      	 	
      	 	DevInfoBean m=DevInfoService.INSTANCE.Get();  
      	 	
      	 	if (pr.equals("title")) {
      	 		m.setDescription(value);
      	 	}else if (pr.equals("guid")) {
      	 		m.setGuid(value);
      	    }
      	 	
      	 	DevInfoService.INSTANCE.Set(m);
      	 
  	  }else if (method.equals("get")) { // Получение параметров
  		  
  		  DevInfoBean m=DevInfoService.INSTANCE.Get();
  		  
  		if (pr.equals("title")) {
  			System.out.println(m.getDescription());
  	 	}else if (pr.equals("guid")) {
  	 		System.out.println(m.getGuid());
  	    }
  	}else if (method.equals("create")) { 
  		DevInfoBean db=new DevInfoBean();
  		db.setDescription("");
  		db.setGuid("");
  		DevInfoService.INSTANCE.Set(db);
  		
  	}
  	  
}catch(Exception e){
	
	 

 if(e instanceof ArgumentParserException){
			log.error(e.getMessage());
    }  else {
    	parser.handleError((ArgumentParserException) e);
        	log.error(e.getMessage());
    	System.exit(1);
    }
}
  
        
    }
}