OIM API Code to get IT Resource Details Using IT resources Name


  1. package com.oimacademy.adapters;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import Thor.API.tcResultSet;
  5. import Thor.API.Operations.tcITResourceInstanceOperationsIntf;
  6. import oracle.iam.platform.Platform;
  7. public class PrintItResourceDetails {
  8.   final String logp = "PrintItResourceDetails :: getITResourceMap - ";
  9.    String serverAddr ;
  10.    String port;
  11.    String password;    
  12.    public PrintItResourceDetails(){    
  13.    }     
  14.  public void printDetails()
  15.    {
  16.      System.out.println(logp + " Server Address :-" + this.serverAddr);
  17.      System.out.println(logp + " Port :-" + this.port);
  18.      System.out.println(logp + " Password :-" + this.password);
  19.    } 
  20.  public void iterateMapToPrintDetails(String itKey){    
  21.   Map<String, String> itResourceParamMap = getITResourceMap(itKey);
  22.   for(Map.Entry<String, String> entry : itResourceParamMap.entrySet()) {
  23.       String k = entry.getKey();
  24.       String v = entry.getValue();      
  25.       if(k.equalsIgnoreCase("host")){
  26.     this.serverAddr=v;
  27.    }else if(k.equalsIgnoreCase("port")){
  28.     this.port=v;
  29.    }else if(k.equalsIgnoreCase("credentials")){
  30.     this.password=v;
  31.    }
  32.       System.out.println("Key : "+  k + " value : "+v);
  33.   }
  34.   printDetails();
  35.  } 
  36.  public Map<String, String> getITResourceMap(String itResName) {        
  37.         System.out.println(logp + " START");
  38.          Map<String, String> itResourceMap = new HashMap<String, String>();
  39.          Thor.API.Operations.tcITResourceInstanceOperationsIntf itResourceInstOps = null;         
  40.          if (null == itResName || itResName.isEmpty()) {
  41.                  return null;
  42.          }         
  43.         System.out.println(logp + " IT resources Name :: " + itResName);     
  44.          try {
  45.              HashMap<String, String> itMap = new HashMap<String, String>();
  46.              itMap.put("IT Resources.Name", itResName);
  47.              itResourceInstOps = Platform.getService(tcITResourceInstanceOperationsIntf.class);
  48.          
  49.              tcResultSet itRS = itResourceInstOps.findITResourceInstances(itMap);
  50.             System.out.println(logp + " Number of IT resources found for " + itResName + " = " + itRS.getRowCount());
  51.              if (!itRS.isEmpty() && itRS.getRowCount() == 1) {
  52.                  itRS.goToRow(0);
  53.                  long itKey = itRS.getLongValue("IT Resource.Key");
  54.                  itRS = itResourceInstOps.getITResourceInstanceParameters(itKey);
  55.                  String name, value;
  56.                  for (int i = 0; i < itRS.getRowCount(); i++) {
  57.                      itRS.goToRow(i);
  58.                      name = itRS.getStringValue("IT Resources Type Parameter.Name");
  59.                      value = itRS.getStringValue("IT Resources Type Parameter Value.Value");
  60.                      itResourceMap.put(name, value);
  61.                  }
  62.              }
  63.          } catch (Exception e) {
  64.              System.out.println(logp + " Exception while getting IT Resource details. " + e);
  65.          } finally {
  66.              if (null != itResourceInstOps) {
  67.                  itResourceInstOps.close();
  68.                 System.out.println(logp + " tcITResourceInstanceOperationsIntf instance closed successfully.");
  69.              }
  70.          }
  71.         System.out.println(logp + " END");
  72.          return itResourceMap;
  73.   } 
  74.  public static void main(String[] args) {
  75.   PrintItResourceDetails printOject = new PrintItResourceDetails();
  76.    new PrintItResourceDetails().iterateMapToPrintDetails("OUDAppInstance");   
  77.  }
  78. }

No comments:

Post a Comment