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

📄 getentry.java

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

import java.io.IOException;
import java.util.HashMap;
import com.andy.conn.*;
import com.remedy.arsys.api.ARException;
import com.remedy.arsys.api.ARServerUser;
import com.remedy.arsys.api.Entry;
import com.remedy.arsys.api.EntryCriteria;
import com.remedy.arsys.api.EntryFactory;
import com.remedy.arsys.api.EntryItem;
import com.remedy.arsys.api.EntryKey;
import com.remedy.arsys.api.EntryListFieldInfo;
import com.remedy.arsys.api.FieldID;
import com.remedy.arsys.api.Value;
public class GetEntry {
	
	public HashMap getEntryByRequestID(String schema,String[] fieldName,String requestID) throws IOException, ARException
	{
		HashMap fieldValue=new HashMap();
		EntryKey entryKey=GeneralMethod.getEntryKeyByRequestID(schema,requestID);
		int tmplen=fieldName.length;
		EntryListFieldInfo [] fieldlist = new EntryListFieldInfo[tmplen];
		FieldID [] fields = new FieldID[tmplen];
		for (int i=0;i<tmplen;i++)
		{
			String tmpID=GetFieldNameIDMap.getDatabaseID(schema,fieldName[i]);
			if(tmpID==null)
			{
				System.out.println("no this field:"+fieldName[i]);
				continue;
			}
			long databaseid=Long.parseLong(tmpID);
			fields[i] = new FieldID(databaseid);
			fieldlist[i] = new EntryListFieldInfo(fields[i]);
		}		

		EntryCriteria entrycrit = new EntryCriteria(fieldlist);
		entrycrit.setEntryListFieldInfo(fieldlist);
		ARServerUser context = new ConnAR().GetARServerUser();
		EntryFactory entfact = EntryFactory.getFactory();
		Entry entry = EntryFactory.findByKey(context,entryKey,entrycrit);
		EntryItem [] entrylist = entry.getEntryItems();
		for(int i = 0;i<entrylist.length;++i)
		{
			Value val = entrylist[i].getValue();
			//System.out.println(fieldName[i]+":"+val.toString());
			fieldValue.put(fieldName[i],val.toString());
		}

		entfact.releaseInstance(entry);
		return fieldValue;
		//返回值:HashMap fieldValue(String fieldName,String Value)
	}
	public HashMap getEntryByQualification(String schema,String[] fieldName,HashMap mapQualification) throws IOException, ARException
	{
		EntryKey[] key=GeneralMethod.getEntryKey(schema,mapQualification);
		HashMap fieldValue=new HashMap();
		HashMap requestIDFieldValue=new HashMap();
		//返回值: HashMap requestIDFieldValue(String requestID,HashMap fieldValue)
		//HashMap fieldValue(String fieldName,String Value)
	    for(int i=0;i<key.length;i++)
	    {
	    	fieldValue=getEntryByEntryKey(schema,fieldName,key[i]);
	    	requestIDFieldValue.put(key[i].getEntryID().toString(),fieldValue);
	    }
	    return requestIDFieldValue;
	}
	public HashMap getEntryByEntryKey(String schema,String[] fieldName,EntryKey entryKey) throws IOException, ARException
	{
		HashMap fieldValue=new HashMap();
		int tmplen=fieldName.length;
		EntryListFieldInfo [] fieldlist = new EntryListFieldInfo[tmplen];
		FieldID [] fields = new FieldID[tmplen];
		for (int i=0;i<tmplen;i++)
		{
			String tmpID=GetFieldNameIDMap.getDatabaseID(schema,fieldName[i]);
			if(tmpID==null)
			{
				System.out.println("no this field:"+fieldName[i]);
				continue;
			}
			long databaseid=Long.parseLong(tmpID);
			fields[i] = new FieldID(databaseid);
			fieldlist[i] = new EntryListFieldInfo(fields[i]);
		}		

		EntryCriteria entrycrit = new EntryCriteria(fieldlist);
		entrycrit.setEntryListFieldInfo(fieldlist);
		ARServerUser context = new ConnAR().GetARServerUser();
		EntryFactory entfact = EntryFactory.getFactory();
		Entry entry = EntryFactory.findByKey(context,entryKey,entrycrit);
		EntryItem [] entrylist = entry.getEntryItems();
		for(int i = 0;i<entrylist.length;++i)
		{
			Value val = entrylist[i].getValue();
			//System.out.println(fieldName[i]+":"+val.toString());
			fieldValue.put(fieldName[i],val.toString());
		}

		entfact.releaseInstance(entry);
		return fieldValue;
	}
}

⌨️ 快捷键说明

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