001package com.identityworksllc.iiq.common.service; 002 003import sailpoint.api.SailPointContext; 004import sailpoint.object.Attributes; 005import sailpoint.object.ServiceDefinition; 006import sailpoint.tools.GeneralException; 007import sailpoint.tools.Util; 008 009/** 010 * Utilities for services 011 */ 012public class ServiceUtils { 013 /** 014 * Utilities for services 015 * @param context The context of this service 016 * @param target The target of this service 017 * @param lastStart The last start timestamp of this service 018 * @throws GeneralException 019 */ 020 public static void storeTimestamps(SailPointContext context, ServiceDefinition target, long lastStart) throws GeneralException { 021 ServiceDefinition reloaded = context.getObjectById(ServiceDefinition.class, target.getId()); 022 Attributes<String, Object> attributes = reloaded.getAttributes(); 023 if (attributes == null) { 024 attributes = new Attributes<>(); 025 reloaded.setAttributes(attributes); 026 } 027 attributes.put("lastStart", lastStart); 028 attributes.put("lastStop", System.currentTimeMillis()); 029 attributes.put("lastHost", Util.getHostName()); 030 context.saveObject(reloaded); 031 context.commitTransaction(); 032 } 033 034 /** 035 * Private utility constructor 036 */ 037 private ServiceUtils() { 038 039 } 040}