to东东

来源:互联网 发布:ubuntu安装英文输入法 编辑:程序博客网 时间:2024/04/30 02:28

package com.inspur.pmv5.service.impl.sysintegration.wsclient.provider;


import java.beans.IntrospectionException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.ossj.xml.troubleticket.v1_2.CreateTroubleTicketByValueRequest;
import org.ossj.xml.troubleticket.v1_2.CreateTroubleTicketByValueResponse;
import org.ossj.xml.troubleticket_x790.v1_0.X790TroubleTicketValue;

import com.inspur.pmv5.common.finals.SysIntegration.SysIntegrationFinals;
import com.inspur.pmv5.pojo.sysintegration.Result;
import com.inspur.pmv5.pojo.sysintegration.TT;
import com.inspur.pmv5.service.api.exception.WebServiceException;
import com.inspur.pmv5.service.impl.sysintegration.wsclient.connection.SDMWSProxyBean;
import com.inspur.pmv5.service.impl.sysintegration.wsclient.util.BeanFactory;
import com.inspur.pmv5.service.impl.sysintegration.wsclient.util.X790BeanFactory;
/**
 * 参数核查派单接口
 * @author qiudong
 *
 */
public class SDMCreateParamTTService implements ServiceProvider{
 private X790BeanFactory factory =  new X790BeanFactory();
 @Override
 public Result execService(Object[] args) throws WebServiceException {
  CreateTroubleTicketByValueRequest parameters = null;
  CreateTroubleTicketByValueResponse response = null;
  TT  tt = null;
  tt = (TT)args[0];
  Map<String, Object> map;
  Result rs = new Result ();
  List<String> alist = new ArrayList<String>();
  try {
   map = BeanFactory.Bean2Map(tt);
   parameters = new CreateTroubleTicketByValueRequest();
   X790TroubleTicketValue x790tt = getTroubleTicket4Param(map);
   parameters.setTroubleTicketValue(x790tt);
   response  = SDMWSProxyBean.getNBIServiceImpl().createTroubleTicketByValue(parameters);
   
   }catch (IntrospectionException e) {
    e.printStackTrace();
    alist.add("0");
    rs.setResult(alist);
    return rs;
   }catch (Exception e) {
    e.printStackTrace();
    alist.add("0");
    rs.setResult(alist);
    return rs;
   }
  
  alist.add(response.getTroubleTicketKey().getPrimaryKey().getAny().get(0).getFirstChild().getNodeValue());
     rs.setResult(alist); 
  
  return rs;
 
 }
  

 private X790TroubleTicketValue getTroubleTicket4Param(Map<String, Object> datasource) throws WebServiceException{
     X790TroubleTicketValue x790tt= null;
     try {
      
      factory.setObjectConfigFile(SysIntegrationFinals.SDM_OBJCONFIG_TT4PARAM);
      x790tt =(X790TroubleTicketValue)factory.createTroubleTicket(datasource);
     } catch (Exception e) {
  // TODO Auto-generated catch block
      e.printStackTrace();
      throw new WebServiceException(e.getMessage());
     }
     return x790tt;
 }
 
 public static void main(String[] args){
//  Alarm alarm = new Alarm();
//     alarm.setAdditionalText("additionalText");
//     alarm.setAlarmId("alarmId");
//     alarm.setAlarmRaisedTime("20130724124708");
//     alarm.setArmTime("20130724124708");
//     alarm.setComments("commentswwwww");
//  subject:问题单标题
//  category:问题类型
//  vendor : 涉及产品厂商
//  preferredPriority :问题级别
//  troubleDescription :问题描述
//  attachment :附件,Base64字符串
     TT tt = new TT();
     tt.setOriginator("PM");
     tt.setAttachment("Attachment");
     tt.setVendor("Huawei");
     tt.setCategory("GSM Parameter");
     tt.setPreferredPriority("1");
     tt.setSubject("Bsc Trouble");
     tt.setTroubleDescription("Product:BSC,error details.....");
     SDMCreateParamTTService sdmctt = new SDMCreateParamTTService();
     Object[] obj = new Object[]{tt};
     try {
   sdmctt.execService(obj);
  } catch (WebServiceException e) {
   e.printStackTrace();
  }
 }
}

package com.inspur.pmv5.service.impl.sysintegration.wsclient.provider;


import java.beans.IntrospectionException;


import java.util.ArrayList;

import java.util.List;
import java.util.Map;


import org.ossj.xml.common.v1_5.Modifier;
import org.ossj.xml.common_sharedalarm.v1_5.ArrayOfBaseAlarmValue;
import org.ossj.xml.common_sharedalarm.v1_5.BaseAlarmValue;
import org.ossj.xml.troubleticket.v1_2.CreateTroubleTicketByValueRequest;
import org.ossj.xml.troubleticket.v1_2.CreateTroubleTicketByValueResponse;
import org.ossj.xml.troubleticket_x790.v1_0.AlarmValueMultiValueList;
import org.ossj.xml.troubleticket_x790.v1_0.X790TroubleTicketValue;

import com.inspur.pmv5.common.finals.SysIntegration.SysIntegrationFinals;
import com.inspur.pmv5.pojo.sysintegration.Alarm;
import com.inspur.pmv5.pojo.sysintegration.TT;
import com.inspur.pmv5.pojo.sysintegration.Result;
import com.inspur.pmv5.service.api.exception.WebServiceException;
import com.inspur.pmv5.service.impl.sysintegration.wsclient.connection.SDMWSProxyBean;
import com.inspur.pmv5.service.impl.sysintegration.wsclient.util.BeanFactory;
import com.inspur.pmv5.service.impl.sysintegration.wsclient.util.X790BeanFactory;
/**
 * 性能告警派单接口
 * @author Terry
 *
 */
public class SDMCreateTTService implements ServiceProvider{
 private X790BeanFactory factory =  new X790BeanFactory();
 @Override
 public Result execService(Object[] args) throws WebServiceException {
  CreateTroubleTicketByValueRequest parameters = null;
  CreateTroubleTicketByValueResponse response = null;
  Alarm alarm = null;
  TT  tt = null;
  if(args.length>=2){
    alarm = (Alarm)args[0];
    tt = (TT)args[1];
  }
  Map<String, Object> map;
  Result rs = new Result ();
  List<String> alist = new ArrayList<String>();
  try {
   map = BeanFactory.Bean2Map(alarm);
   map.putAll(BeanFactory.Bean2Map(tt));
   parameters = new CreateTroubleTicketByValueRequest();
   X790TroubleTicketValue x790tt = getTroubleTicke(map);
   BaseAlarmValue x790alarm = getBaseAlarmValue(map);
   AlarmValueMultiValueList alarmlist = new AlarmValueMultiValueList();
   ArrayOfBaseAlarmValue alarmarray=new ArrayOfBaseAlarmValue();
   alarmarray.getItem().add(x790alarm);
   alarmlist.setModifier(Modifier.ADD);
   alarmlist.setRelatedAlarms(alarmarray);
   x790tt.setRelatedAlarmList(alarmlist);
   parameters.setTroubleTicketValue(x790tt);
   response  = SDMWSProxyBean.getNBIServiceImpl().createTroubleTicketByValue(parameters);
   } catch (IntrospectionException e) {
    e.printStackTrace();
    alist.add("0");
    rs.setResult(alist);
    return rs;
   }catch (Exception e) {
    e.printStackTrace();
    alist.add("0");
    rs.setResult(alist);
    return rs;
   }
  alist.add(response.getTroubleTicketKey().getPrimaryKey().getAny().get(0).getFirstChild().getNodeValue());
  System.out.println("NodeValue: "+response.getTroubleTicketKey().getPrimaryKey().getAny().get(0).getFirstChild().getNodeValue());
     rs.setResult(alist); 
  
  return rs;
 
 }
 /**1.3
  * 性能告警到x790告警映射 将一个 JavaBean 对象转化为一个 Map
  * @param datasource  性能告警、TT单对象键值对
  * @return BaseAlarmValue x790告警对象

     * @throws WebServiceException
     *    
     *             如果实例化 JavaBean 失败
     *              InvocationTargetException
     *             如果调用属性的 setter 方法失败
     *             DocumentException dom文件异常
     *             ParseException 解析异常
     *             ClassNotFoundException  类文件异常
  *             InstantiationException  实例化异常
  */
 private BaseAlarmValue getBaseAlarmValue(Map<String, Object> datasource) throws WebServiceException {
  BaseAlarmValue x790alarm =null;
  
     try {
   factory.setObjectConfigFile(SysIntegrationFinals.SDM_OBJCONFIG_ALARM);
   x790alarm =factory.createBaseAlarm(datasource);
      
     } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   throw new WebServiceException(e.getMessage());
  }
     return x790alarm;
 }
 /**
     * 将一个 JavaBean 对象转化为一个 Map
     * 
     * @param datasource  性能告警、TT单对象键值对
     *            要转化的JavaBean 对象
     * @return 转化出来的 Map 对象
     * @throws WebServiceException
     *              分析类属性失败
     *             IllegalAccessException
     *             如果实例化 JavaBean 失败
     *              InvocationTargetException
     *             如果调用属性的 setter 方法失败
     *             DocumentException dom文件异常
     *              ParseException 解析异常
     *              ClassNotFoundException  类文件异常
     */
 private X790TroubleTicketValue getTroubleTicke(Map<String, Object> datasource) throws WebServiceException{
     X790TroubleTicketValue x790tt= null;
     try {
      X790BeanFactory factory =  new X790BeanFactory();
      factory.setObjectConfigFile(SysIntegrationFinals.SDM_OBJCONFIG_ALARM);
      x790tt =(X790TroubleTicketValue)factory.createTroubleTicket(datasource);
     } catch (Exception e) {
  // TODO Auto-generated catch block
      e.printStackTrace();
      throw new WebServiceException(e.getMessage());
     }
     return x790tt;
 }
 

}

 

package com.inspur.pmv5.service.impl.sysintegration.wsclient.util;

import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.util.Map;

import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.parsers.ParserConfigurationException;

import org.dom4j.DocumentException;
import org.ossj.xml.common_sharedalarm.v1_5.BaseAlarmValue;
import org.ossj.xml.troubleticket_cbetrouble.v1_2.TroubleTicketValue;
import org.ossj.xml.troubleticket_x790.v1_0.X790TroubleTicketValue;

import com.inspur.pmv5.common.finals.SysIntegration.SysIntegrationFinals;
import com.inspur.pmv5.pojo.sysintegration.Alarm;
import com.inspur.pmv5.pojo.sysintegration.TT;

public class X790BeanFactory implements OSSJBeanFactory{
 private final String _XML_X790BaseAlarmNode="baseAlarmValue";
 private final String _XML_X790TroubleTicketNode="X790TroubleTicketValue";
 private Map<Node,Object> map = null;
 
 
 
 public  X790BeanFactory(){
  super();
 }
 
 public void setObjectConfigFile(String xmlFile) throws DocumentException{
  if(this.map==null){
   this.map = XMLUtil.Dom2Map(xmlFile);
  }
  
 }
 
 @Override
 public TroubleTicketValue createTroubleTicket(Map datasource) throws IntrospectionException, IllegalAccessException, InstantiationException, InvocationTargetException, ClassNotFoundException, DatatypeConfigurationException, ParseException, ParserConfigurationException {
  // TODO Auto-generated method stub
  Map<Node,Object> map = null;
  for(Map.Entry<Node, Object> entry:this.map.entrySet()){
   if(entry.getKey().name.equalsIgnoreCase(_XML_X790TroubleTicketNode)){
    map =(Map<Node, Object>) entry.getValue();
    break;
   }
  }
  X790TroubleTicketValue tt = (X790TroubleTicketValue) BeanFactory.Map2Bean(X790TroubleTicketValue.class, map,datasource);
  return tt;
 }
 @Override
 public BaseAlarmValue createBaseAlarm(Map datasource) throws IntrospectionException, IllegalAccessException, InstantiationException, InvocationTargetException, ClassNotFoundException, DatatypeConfigurationException, ParseException, ParserConfigurationException {
  // TODO Auto-generated method stub
  Map<Node,Object> map = null;
  for(Map.Entry<Node, Object> entry:this.map.entrySet()){
   if(entry.getKey().name.equalsIgnoreCase(_XML_X790BaseAlarmNode)){
    map =(Map<Node, Object>) entry.getValue();
    break;
   }
  }
  
  BaseAlarmValue alarm = (BaseAlarmValue) BeanFactory.Map2Bean(BaseAlarmValue.class, map,datasource);
  return alarm; 
 }
    public static void main(String args[]) throws IntrospectionException, IllegalAccessException, InstantiationException, InvocationTargetException, ClassNotFoundException, DatatypeConfigurationException, ParseException, DocumentException, ParserConfigurationException{
     
     
     
     Alarm alarm=new Alarm();
  alarm.setAlarmId("3324");
  alarm.setAlarmName("alarmName");
  alarm.setAlarmTime("20131003132223");
  TT tt=new TT();
  //tt.originator tt.subject tt.category tt.vendor tt.perceivedTroubleSeverity tt.preferredPriority tt.troubledObject
  //tt.troubleTicketState  tt.troubleDescription tt.troubleCause tt.createPerson tt.troubleTicketCreationTime tt.attachment;
  tt.setOriginator("PM");
  tt.setSubject("Subject");
  tt.setCategory("Category");
  tt.setVendor("Vendor");
  tt.setPerceivedTroubleSeverity("PerceivedTroubleSeverity");
  tt.setPreferredPriority("PreferredPriority");
  tt.setTroubledObject("setTroubledObject");
  tt.setTroubleTicketState("setTroubleTicketState");
  tt.setTroubleDescription("setTroubleDescription");
  tt.setTroubleCause("setTroubleCause");
  tt.setCreatePerson("CreatePerson");
  tt.setTroubleTicketCreationTime("20131003132223");
  tt.setAttachment("Attachment");
     
     Map<String, Object> map;
     map = BeanFactory.Bean2Map(alarm);
     map.putAll(BeanFactory.Bean2Map(tt));
     X790BeanFactory factory =  new X790BeanFactory();
     factory.setObjectConfigFile(SysIntegrationFinals.SDM_OBJCONFIG_ALARM);
     BaseAlarmValue x790alarm =factory.createBaseAlarm(map);
     
     
     
//     X790TroubleTicketValue x790tt =(X790TroubleTicketValue) factory.createTroubleTicket(map);
//     System.out.println(x790tt.getOriginator());
//
     System.out.println(x790alarm.getOriginatingManagedEntityKey().getValue().getPrimaryKey().getAny().get(0).getFirstChild().getNodeValue());
    }
 
}