/* * Copyright (c) 2012 EMC Corporation * All Rights Reserved */ package com.emc.storageos.cimadapter.connections.cim; // Logger imports import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Spring bean for a managed CIM indication filter. * * This class is for filters that are created on the CIMOM. Connections SHOULD * delete them before closing! */ public class CimManagedFilterInfo extends CimFilterInfo { // The key identifies the managed filter. private String _key = ""; // The managed filter query. private String _query = ""; // The query language for the managed filter. private String _queryLanguage = CimConstants.DEFAULT_QUERY_LANGUAGE; // The logger. private static final Logger s_logger = LoggerFactory.getLogger(CimManagedFilterInfo.class); /** * Getter for the filter key. * * @return The filter key. */ public String getKey() { return _key; } /** * Setter for the filter key. * * This key is used to name the CIM indication filter object. */ public void setKey(String value) { _key = value; } /** * Getter for the filter query. * * @return The filter query. */ public String getQuery() { return _query; } /** * Setter for the filter query. * * @param value The filter query. */ public void setQuery(String value) { _query = value; } /** * Getter for the filter query language. * * @return The filter query language. */ public String getQueryLanguage() { return _queryLanguage; } /** * Setter for the filter query language. * * @param value The filter query language. */ public void setQueryLanguage(String value) { _queryLanguage = value; } /** * Setter for the CIM indication filter name. * * @param listenerHostIP The IP address of the host that is listening for * indications resulting from this filter. */ @Override public void setName(String listenerHostIP) { StringBuilder strBuilder = new StringBuilder(); // The prefix for the filter name is the IP address for the listener // host that will receive indications resulting from this filter. // Using the host allows us to easily identify the owner of the filters // created on the ECOM provider. String filterNamePrefix; if ((listenerHostIP != null) && (listenerHostIP.length() != 0)) { filterNamePrefix = listenerHostIP; } else { filterNamePrefix = String.valueOf(System.currentTimeMillis()); } strBuilder.append(filterNamePrefix); strBuilder.append(CimConstants.PATH_NAME_DELIMITER); strBuilder.append(_key); String filterName = strBuilder.toString(); s_logger.debug("Managed Filter Name is {}", filterName); super.setName(filterName); } }