⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generalmethod.java

📁 以remedy平台上构建的cmdb为基础
💻 JAVA
字号:
package com.remedy;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import com.andy.conn.*;

import com.andy.conn.ConnAR;
import com.remedy.arsys.api.ARException;
import com.remedy.arsys.api.ARServerUser;
import com.remedy.arsys.api.ArithmeticOrRelationalOperand;
import com.remedy.arsys.api.Constants;
import com.remedy.arsys.api.Entry;
import com.remedy.arsys.api.EntryFactory;
import com.remedy.arsys.api.EntryID;
import com.remedy.arsys.api.EntryItem;
import com.remedy.arsys.api.EntryKey;
import com.remedy.arsys.api.EntryListCriteria;
import com.remedy.arsys.api.FieldID;
import com.remedy.arsys.api.InternalID;
import com.remedy.arsys.api.JoinEntryID;
import com.remedy.arsys.api.NameID;
import com.remedy.arsys.api.QualifierInfo;
import com.remedy.arsys.api.RelationalOperationInfo;
import com.remedy.arsys.api.SortInfo;
import com.remedy.arsys.api.Timestamp;
import com.remedy.arsys.api.Value;

public class GeneralMethod {
	
	public static EntryItem[] getEntryItemList(ArrayList arraylist)
	  {
	    int size=arraylist.size();
	    EntryItem[] entryList = new EntryItem[size];
	    String tmpdataInfo[];
	  	for(int i=0;i<size;i++)
	  	{
	  		tmpdataInfo=(String[])arraylist.get(i);
	  		//System.out.println("databaseid:"+tmpdataInfo[0]);
	  		long databaseid=Long.parseLong(tmpdataInfo[0].trim());
	  		//System.out.print("value:");
	  		//System.out.println(tmpdataInfo[1]);
	  		entryList[i]=new EntryItem(new FieldID(databaseid), new Value(tmpdataInfo[1]));
	  	}
	    return entryList;
	  }
	public static EntryKey[] getEntryKey(String schema,HashMap mapQualification) throws IOException, ARException
	{
			EntryKey[] key=null;
			Entry entry=null;
			EntryFactory entryMan=EntryFactory.getFactory();
		    entry= (Entry)entryMan.newInstance();
		    ARServerUser context = new ConnAR().GetARServerUser();
		    entry.setContext(context);
		    
		    ArrayList fieldList=GetFieldNameIDMap.getIDValueMap(schema,mapQualification);
		    
		    int size=fieldList.size();
		    //System.out.println(size);
		    String tmpdataInfo[];
		    long databaseid=0;
		    String value=null;
		  	for(int i=0;i<size;i++)
		  	{
		  		tmpdataInfo=(String[])fieldList.get(i);
		  	    databaseid=Long.parseLong(tmpdataInfo[0].trim());
		  		value=tmpdataInfo[1];
		  	}
		    
		  	//System.out.println(databaseid+":"+value);
		  	//System.out.println(schema);
			ArithmeticOrRelationalOperand operleft = new ArithmeticOrRelationalOperand(new FieldID(databaseid));
			ArithmeticOrRelationalOperand operright = new ArithmeticOrRelationalOperand(new Value(value));

			RelationalOperationInfo relinfo = new RelationalOperationInfo(Constants.AR_REL_OP_EQUAL,operleft,operright);
		
			QualifierInfo qual = new QualifierInfo(relinfo);
		
			EntryID [] entryarray = new EntryID[1];
			SortInfo [] sort = new SortInfo[1];
			sort[0] = new SortInfo(new InternalID(), 1);
		
			EntryListCriteria listcrit = new EntryListCriteria(new NameID(schema),qual,0,new Timestamp(),sort, entryarray);
			key = EntryFactory.find(context,listcrit,false, null);
		return key;
	}
	public static String[] getRequestID(String schema,HashMap mapQualification) throws IOException, ARException
	{
		
		EntryKey[] tmpEntryKey =getEntryKey(schema,mapQualification);
		int len=tmpEntryKey.length;
		String requestID[]=new String[len];
		if(len!=0)
		{
		    for(int j=0;j<tmpEntryKey.length;j++)
	  	   {  
			      requestID[j]=tmpEntryKey[j].getEntryID().toString();
			      //System.out.println(requestID[j]);
	  	   }
		}
		return requestID;
	}
	public static EntryKey getEntryKeyByRequestID(String schema,String requestID) throws IOException, ARException
	{
		  EntryKey entryKey=null;
		  boolean tag=isRequestIDExist(schema,requestID);
		  if(tag==true)
		  {
			  NameID schname = new NameID(schema);
			  EntryID entryID[]=null;
			  String tmpStr[]=new String[10];
			  JoinEntryID joinentryKey=null;
			  tmpStr=requestID.split("\\|");
			  int len=tmpStr.length;
			  if(len==1)
			  {
		      			EntryID tmpEntryID = new EntryID(requestID);
				    	entryKey = new EntryKey(schname, tmpEntryID);
			  }
			  else
			  {
				    	 entryID = new EntryID[len];
				    	  for(int i=0;i<len;i++)
				    	  {
				    		  entryID[i]=new EntryID(tmpStr[i]);
				    	  }	
				    	  joinentryKey= new JoinEntryID(entryID);
				    	  entryKey = new EntryKey(schname, joinentryKey);
			  }
		  }
		  return entryKey;
	}
	public static boolean isRequestIDExist(String schema,String requestID) throws IOException, ARException
	{
		boolean tag=false;
		EntryKey[] key=null;
		Entry entry=null;
		EntryFactory entryMan=EntryFactory.getFactory();
	    entry= (Entry)entryMan.newInstance();
	    ARServerUser context = new ConnAR().GetARServerUser();
	    entry.setContext(context);
		ArithmeticOrRelationalOperand operleft = new ArithmeticOrRelationalOperand(new FieldID(1));
		ArithmeticOrRelationalOperand operright = new ArithmeticOrRelationalOperand(new Value(requestID));

		RelationalOperationInfo relinfo = new RelationalOperationInfo(Constants.AR_REL_OP_EQUAL,operleft,operright);
	
		QualifierInfo qual = new QualifierInfo(relinfo);
	
		EntryID [] entryarray = new EntryID[1];
		SortInfo [] sort = new SortInfo[1];
		sort[0] = new SortInfo(new InternalID(), 1);
	
		EntryListCriteria listcrit = new EntryListCriteria(new NameID(schema),qual,0,new Timestamp(),sort, entryarray);
		key = EntryFactory.find(context,listcrit,false, null);
		if(key!=null)
		{
			tag=true;
		}
		//System.out.println(tag);
		return tag;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -