Search in sources :

Example 1 with LocationFilter

use of org.opennms.web.alarm.filter.LocationFilter in project opennms by OpenNMS.

the class AlarmUtil method getFilter.

/**
 * <p>getFilter</p>
 *
 * @param filterString a {@link java.lang.String} object.
 * @return a {@link org.opennms.web.filter.Filter} object.
 */
public static Filter getFilter(String filterString, ServletContext servletContext) {
    if (filterString == null) {
        throw new IllegalArgumentException("Cannot take null parameters.");
    }
    Filter filter = null;
    String[] tempTokens = filterString.split("=");
    String type;
    String value;
    try {
        type = tempTokens[0];
        String[] values = (String[]) ArrayUtils.remove(tempTokens, 0);
        value = org.apache.commons.lang.StringUtils.join(values, "=");
    } catch (NoSuchElementException e) {
        throw new IllegalArgumentException("Could not tokenize filter string: " + filterString);
    }
    if (type.equals(SeverityFilter.TYPE)) {
        filter = new SeverityFilter(OnmsSeverity.get(WebSecurityUtils.safeParseInt(value)));
    } else if (type.equals(NodeFilter.TYPE)) {
        filter = new NodeFilter(WebSecurityUtils.safeParseInt(value), servletContext);
    } else if (type.equals(NodeNameLikeFilter.TYPE)) {
        filter = new NodeNameLikeFilter(value);
    } else if (type.equals(InterfaceFilter.TYPE)) {
        filter = new InterfaceFilter(InetAddressUtils.addr(value));
    } else if (type.equals(ServiceFilter.TYPE)) {
        filter = new ServiceFilter(WebSecurityUtils.safeParseInt(value), servletContext);
    } else if (type.equals(PartialUEIFilter.TYPE)) {
        filter = new PartialUEIFilter(value);
    } else if (type.equals(ExactUEIFilter.TYPE)) {
        filter = new ExactUEIFilter(value);
    } else if (type.equals(AcknowledgedByFilter.TYPE)) {
        filter = new AcknowledgedByFilter(value);
    } else if (type.equals(NegativeSeverityFilter.TYPE)) {
        filter = new NegativeSeverityFilter(OnmsSeverity.get(WebSecurityUtils.safeParseInt(value)));
    } else if (type.equals(NegativeNodeFilter.TYPE)) {
        filter = new NegativeNodeFilter(WebSecurityUtils.safeParseInt(value), servletContext);
    } else if (type.equals(NegativeInterfaceFilter.TYPE)) {
        filter = new NegativeInterfaceFilter(InetAddressUtils.addr(value));
    } else if (type.equals(NegativeServiceFilter.TYPE)) {
        filter = new NegativeServiceFilter(WebSecurityUtils.safeParseInt(value), servletContext);
    } else if (type.equals(NegativePartialUEIFilter.TYPE)) {
        filter = new NegativePartialUEIFilter(value);
    } else if (type.equals(NegativeExactUEIFilter.TYPE)) {
        filter = new NegativeExactUEIFilter(value);
    } else if (type.equals(NegativeAcknowledgedByFilter.TYPE)) {
        filter = new NegativeAcknowledgedByFilter(value);
    } else if (type.equals(IPAddrLikeFilter.TYPE)) {
        filter = new IPAddrLikeFilter(value);
    } else if (type.equals(LogMessageSubstringFilter.TYPE)) {
        filter = new LogMessageSubstringFilter(value);
    } else if (type.equals(LogMessageMatchesAnyFilter.TYPE)) {
        filter = new LogMessageMatchesAnyFilter(value);
    } else if (type.equals(BeforeLastEventTimeFilter.TYPE)) {
        filter = new BeforeLastEventTimeFilter(WebSecurityUtils.safeParseLong(value));
    } else if (type.equals(BeforeFirstEventTimeFilter.TYPE)) {
        filter = new BeforeFirstEventTimeFilter(WebSecurityUtils.safeParseLong(value));
    } else if (type.equals(AfterLastEventTimeFilter.TYPE)) {
        filter = new AfterLastEventTimeFilter(WebSecurityUtils.safeParseLong(value));
    } else if (type.equals(AfterFirstEventTimeFilter.TYPE)) {
        filter = new AfterFirstEventTimeFilter(WebSecurityUtils.safeParseLong(value));
    } else if (type.equals(EventParmLikeFilter.TYPE)) {
        filter = new EventParmLikeFilter(value);
    } else if (type.equals(NegativeEventParmLikeFilter.TYPE)) {
        filter = new NegativeEventParmLikeFilter(value);
    } else if (type.equals(LocationFilter.TYPE)) {
        filter = new LocationFilter(value);
    } else if (type.equals(NegativeLocationFilter.TYPE)) {
        filter = new NegativeLocationFilter(value);
    } else if (type.equals(NodeLocationFilter.TYPE)) {
        filter = new NodeLocationFilter(value);
    } else if (type.equals(NegativeNodeLocationFilter.TYPE)) {
        filter = new NegativeNodeLocationFilter(value);
    }
    return filter;
}
Also used : NegativeServiceFilter(org.opennms.web.alarm.filter.NegativeServiceFilter) ServiceFilter(org.opennms.web.alarm.filter.ServiceFilter) NegativeInterfaceFilter(org.opennms.web.alarm.filter.NegativeInterfaceFilter) InterfaceFilter(org.opennms.web.alarm.filter.InterfaceFilter) NegativePartialUEIFilter(org.opennms.web.alarm.filter.NegativePartialUEIFilter) LogMessageSubstringFilter(org.opennms.web.alarm.filter.LogMessageSubstringFilter) NegativePartialUEIFilter(org.opennms.web.alarm.filter.NegativePartialUEIFilter) PartialUEIFilter(org.opennms.web.alarm.filter.PartialUEIFilter) AfterLastEventTimeFilter(org.opennms.web.alarm.filter.AfterLastEventTimeFilter) LogMessageMatchesAnyFilter(org.opennms.web.alarm.filter.LogMessageMatchesAnyFilter) BeforeLastEventTimeFilter(org.opennms.web.alarm.filter.BeforeLastEventTimeFilter) NegativeSeverityFilter(org.opennms.web.alarm.filter.NegativeSeverityFilter) NegativeServiceFilter(org.opennms.web.alarm.filter.NegativeServiceFilter) NegativeAcknowledgedByFilter(org.opennms.web.alarm.filter.NegativeAcknowledgedByFilter) NodeNameLikeFilter(org.opennms.web.alarm.filter.NodeNameLikeFilter) IPAddrLikeFilter(org.opennms.web.alarm.filter.IPAddrLikeFilter) NegativeNodeFilter(org.opennms.web.alarm.filter.NegativeNodeFilter) NegativeAcknowledgedByFilter(org.opennms.web.alarm.filter.NegativeAcknowledgedByFilter) AcknowledgedByFilter(org.opennms.web.alarm.filter.AcknowledgedByFilter) NegativeExactUEIFilter(org.opennms.web.alarm.filter.NegativeExactUEIFilter) ExactUEIFilter(org.opennms.web.alarm.filter.ExactUEIFilter) NegativeEventParmLikeFilter(org.opennms.web.alarm.filter.NegativeEventParmLikeFilter) EventParmLikeFilter(org.opennms.web.alarm.filter.EventParmLikeFilter) NegativeInterfaceFilter(org.opennms.web.alarm.filter.NegativeInterfaceFilter) NegativeSeverityFilter(org.opennms.web.alarm.filter.NegativeSeverityFilter) SeverityFilter(org.opennms.web.alarm.filter.SeverityFilter) NegativeNodeLocationFilter(org.opennms.web.alarm.filter.NegativeNodeLocationFilter) NodeLocationFilter(org.opennms.web.alarm.filter.NodeLocationFilter) NegativeLocationFilter(org.opennms.web.alarm.filter.NegativeLocationFilter) NegativeNodeLocationFilter(org.opennms.web.alarm.filter.NegativeNodeLocationFilter) NegativeExactUEIFilter(org.opennms.web.alarm.filter.NegativeExactUEIFilter) IPAddrLikeFilter(org.opennms.web.alarm.filter.IPAddrLikeFilter) ExactUEIFilter(org.opennms.web.alarm.filter.ExactUEIFilter) NegativeLocationFilter(org.opennms.web.alarm.filter.NegativeLocationFilter) NegativeServiceFilter(org.opennms.web.alarm.filter.NegativeServiceFilter) LogMessageMatchesAnyFilter(org.opennms.web.alarm.filter.LogMessageMatchesAnyFilter) NegativeInterfaceFilter(org.opennms.web.alarm.filter.NegativeInterfaceFilter) AfterLastEventTimeFilter(org.opennms.web.alarm.filter.AfterLastEventTimeFilter) NegativeEventParmLikeFilter(org.opennms.web.alarm.filter.NegativeEventParmLikeFilter) NegativeSeverityFilter(org.opennms.web.alarm.filter.NegativeSeverityFilter) LogMessageSubstringFilter(org.opennms.web.alarm.filter.LogMessageSubstringFilter) NegativePartialUEIFilter(org.opennms.web.alarm.filter.NegativePartialUEIFilter) ServiceFilter(org.opennms.web.alarm.filter.ServiceFilter) AfterFirstEventTimeFilter(org.opennms.web.alarm.filter.AfterFirstEventTimeFilter) NegativeNodeFilter(org.opennms.web.alarm.filter.NegativeNodeFilter) EventParmLikeFilter(org.opennms.web.alarm.filter.EventParmLikeFilter) InterfaceFilter(org.opennms.web.alarm.filter.InterfaceFilter) SeverityFilter(org.opennms.web.alarm.filter.SeverityFilter) Filter(org.opennms.web.filter.Filter) NegativeAcknowledgedByFilter(org.opennms.web.alarm.filter.NegativeAcknowledgedByFilter) PartialUEIFilter(org.opennms.web.alarm.filter.PartialUEIFilter) NegativeNodeLocationFilter(org.opennms.web.alarm.filter.NegativeNodeLocationFilter) NodeFilter(org.opennms.web.alarm.filter.NodeFilter) NodeLocationFilter(org.opennms.web.alarm.filter.NodeLocationFilter) NodeNameLikeFilter(org.opennms.web.alarm.filter.NodeNameLikeFilter) BeforeLastEventTimeFilter(org.opennms.web.alarm.filter.BeforeLastEventTimeFilter) AcknowledgedByFilter(org.opennms.web.alarm.filter.AcknowledgedByFilter) LocationFilter(org.opennms.web.alarm.filter.LocationFilter) BeforeFirstEventTimeFilter(org.opennms.web.alarm.filter.BeforeFirstEventTimeFilter) NegativeLocationFilter(org.opennms.web.alarm.filter.NegativeLocationFilter) NegativeNodeLocationFilter(org.opennms.web.alarm.filter.NegativeNodeLocationFilter) NodeLocationFilter(org.opennms.web.alarm.filter.NodeLocationFilter) LocationFilter(org.opennms.web.alarm.filter.LocationFilter) NegativeExactUEIFilter(org.opennms.web.alarm.filter.NegativeExactUEIFilter) AfterFirstEventTimeFilter(org.opennms.web.alarm.filter.AfterFirstEventTimeFilter) NegativeEventParmLikeFilter(org.opennms.web.alarm.filter.NegativeEventParmLikeFilter) NoSuchElementException(java.util.NoSuchElementException) BeforeFirstEventTimeFilter(org.opennms.web.alarm.filter.BeforeFirstEventTimeFilter) NegativeNodeFilter(org.opennms.web.alarm.filter.NegativeNodeFilter) NodeFilter(org.opennms.web.alarm.filter.NodeFilter)

Example 2 with LocationFilter

use of org.opennms.web.alarm.filter.LocationFilter in project opennms by OpenNMS.

the class AlarmQueryServlet method doGet.

/**
 * {@inheritDoc}
 *
 * Extracts the key parameters from the parameter set, translates them into
 * filter-based parameters, and then passes the modified parameter set to
 * the {@link AlarmFilterController AlarmFilterController}.
 */
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    List<Filter> filterArray = new ArrayList<>();
    // convenient syntax for LogMessageSubstringFilter
    String msgSubstring = WebSecurityUtils.sanitizeString(request.getParameter("msgsub"));
    if (msgSubstring != null && msgSubstring.length() > 0) {
        filterArray.add(new LogMessageSubstringFilter(msgSubstring));
    }
    // convenient syntax for LogMessageMatchesAnyFilter
    String msgMatchAny = WebSecurityUtils.sanitizeString(request.getParameter("msgmatchany"));
    if (msgMatchAny != null && msgMatchAny.length() > 0) {
        filterArray.add(new LogMessageMatchesAnyFilter(msgMatchAny));
    }
    // convenient syntax for NodeNameContainingFilter
    String nodeNameLike = WebSecurityUtils.sanitizeString(request.getParameter("nodenamelike"));
    if (nodeNameLike != null && nodeNameLike.length() > 0) {
        filterArray.add(new NodeNameLikeFilter(nodeNameLike));
    }
    // convenient syntax for ServiceFilter
    String service = request.getParameter("service");
    if (service != null && !service.equals(AlarmUtil.ANY_SERVICES_OPTION)) {
        filterArray.add(new ServiceFilter(WebSecurityUtils.safeParseInt(service), getServletContext()));
    }
    // convenient syntax for IPLikeFilter
    String ipLikePattern = WebSecurityUtils.sanitizeString(request.getParameter("iplike"));
    if (ipLikePattern != null && !ipLikePattern.equals("")) {
        filterArray.add(new IPAddrLikeFilter(ipLikePattern));
    }
    // convenient syntax for SeverityFilter
    String severity = request.getParameter("severity");
    if (severity != null && !severity.equalsIgnoreCase(AlarmUtil.ANY_SEVERITIES_OPTION)) {
        filterArray.add(new SeverityFilter(OnmsSeverity.get(WebSecurityUtils.safeParseInt(severity))));
    }
    // convenient syntax for AfterDateFilter as relative to current time
    String relativeTime = request.getParameter("relativetime");
    if (relativeTime != null && !relativeTime.equalsIgnoreCase(AlarmUtil.ANY_RELATIVE_TIMES_OPTION)) {
        try {
            filterArray.add(AlarmUtil.getRelativeTimeFilter(WebSecurityUtils.safeParseInt(relativeTime)));
        } catch (IllegalArgumentException e) {
            // ignore the relative time if it is an illegal value
            this.log("Illegal relativetime value", e);
        }
    }
    String useBeforeLastEventTime = WebSecurityUtils.sanitizeString(request.getParameter("usebeforelasteventtime"));
    if (useBeforeLastEventTime != null && useBeforeLastEventTime.equals("1")) {
        try {
            filterArray.add(this.getBeforeLastEventTimeFilter(request));
        } catch (IllegalArgumentException e) {
            // ignore the before time if it is an illegal value
            this.log("Illegal before last event time value", e);
        } catch (MissingParameterException e) {
            throw new ServletException(e);
        }
    }
    String useAfterLastEventTime = WebSecurityUtils.sanitizeString(request.getParameter("useafterlasteventtime"));
    if (useAfterLastEventTime != null && useAfterLastEventTime.equals("1")) {
        try {
            filterArray.add(this.getAfterLastEventTimeFilter(request));
        } catch (IllegalArgumentException e) {
            // ignore the after time if it is an illegal value
            this.log("Illegal after last event time value", e);
        } catch (MissingParameterException e) {
            throw new ServletException(e);
        }
    }
    String useBeforeFirstEventTime = WebSecurityUtils.sanitizeString(request.getParameter("usebeforefirsteventtime"));
    if (useBeforeFirstEventTime != null && useBeforeFirstEventTime.equals("1")) {
        try {
            filterArray.add(this.getBeforeFirstEventTimeFilter(request));
        } catch (IllegalArgumentException e) {
            // ignore the before time if it is an illegal value
            this.log("Illegal before first event time value", e);
        } catch (MissingParameterException e) {
            throw new ServletException(e);
        }
    }
    String useAfterFirstEventTime = WebSecurityUtils.sanitizeString(request.getParameter("useafterfirsteventtime"));
    if (useAfterFirstEventTime != null && useAfterFirstEventTime.equals("1")) {
        try {
            filterArray.add(this.getAfterFirstEventTimeFilter(request));
        } catch (IllegalArgumentException e) {
            // ignore the after time if it is an illegal value
            this.log("Illegal after first event time value", e);
        } catch (MissingParameterException e) {
            throw new ServletException(e);
        }
    }
    String location = WebSecurityUtils.sanitizeString(request.getParameter("location"));
    if (location != null && !location.equalsIgnoreCase("any")) {
        filterArray.add(new LocationFilter(WebSecurityUtils.sanitizeString(location)));
    }
    String nodelocation = WebSecurityUtils.sanitizeString(request.getParameter("nodelocation"));
    if (nodelocation != null && !nodelocation.equalsIgnoreCase("any")) {
        filterArray.add(new NodeLocationFilter(WebSecurityUtils.sanitizeString(nodelocation)));
    }
    String queryString = "";
    if (filterArray.size() > 0) {
        String[] filterStrings = new String[filterArray.size()];
        for (int i = 0; i < filterStrings.length; i++) {
            Filter filter = filterArray.get(i);
            filterStrings[i] = AlarmUtil.getFilterString(filter);
        }
        Map<String, Object> paramAdditions = new HashMap<String, Object>();
        paramAdditions.put("filter", filterStrings);
        queryString = Util.makeQueryString(request, paramAdditions, IGNORE_LIST);
    } else {
        queryString = Util.makeQueryString(request, IGNORE_LIST);
    }
    response.sendRedirect(redirectUrl + "?" + queryString);
}
Also used : NodeNameLikeFilter(org.opennms.web.alarm.filter.NodeNameLikeFilter) ServiceFilter(org.opennms.web.alarm.filter.ServiceFilter) IPAddrLikeFilter(org.opennms.web.alarm.filter.IPAddrLikeFilter) HashMap(java.util.HashMap) LogMessageSubstringFilter(org.opennms.web.alarm.filter.LogMessageSubstringFilter) ArrayList(java.util.ArrayList) ServletException(javax.servlet.ServletException) SeverityFilter(org.opennms.web.alarm.filter.SeverityFilter) NodeLocationFilter(org.opennms.web.alarm.filter.NodeLocationFilter) LogMessageMatchesAnyFilter(org.opennms.web.alarm.filter.LogMessageMatchesAnyFilter) IPAddrLikeFilter(org.opennms.web.alarm.filter.IPAddrLikeFilter) LogMessageMatchesAnyFilter(org.opennms.web.alarm.filter.LogMessageMatchesAnyFilter) AfterLastEventTimeFilter(org.opennms.web.alarm.filter.AfterLastEventTimeFilter) LogMessageSubstringFilter(org.opennms.web.alarm.filter.LogMessageSubstringFilter) ServiceFilter(org.opennms.web.alarm.filter.ServiceFilter) AfterFirstEventTimeFilter(org.opennms.web.alarm.filter.AfterFirstEventTimeFilter) SeverityFilter(org.opennms.web.alarm.filter.SeverityFilter) Filter(org.opennms.web.filter.Filter) NodeLocationFilter(org.opennms.web.alarm.filter.NodeLocationFilter) NodeNameLikeFilter(org.opennms.web.alarm.filter.NodeNameLikeFilter) BeforeLastEventTimeFilter(org.opennms.web.alarm.filter.BeforeLastEventTimeFilter) LocationFilter(org.opennms.web.alarm.filter.LocationFilter) BeforeFirstEventTimeFilter(org.opennms.web.alarm.filter.BeforeFirstEventTimeFilter) NodeLocationFilter(org.opennms.web.alarm.filter.NodeLocationFilter) LocationFilter(org.opennms.web.alarm.filter.LocationFilter) MissingParameterException(org.opennms.web.servlet.MissingParameterException)

Aggregations

AfterFirstEventTimeFilter (org.opennms.web.alarm.filter.AfterFirstEventTimeFilter)2 AfterLastEventTimeFilter (org.opennms.web.alarm.filter.AfterLastEventTimeFilter)2 BeforeFirstEventTimeFilter (org.opennms.web.alarm.filter.BeforeFirstEventTimeFilter)2 BeforeLastEventTimeFilter (org.opennms.web.alarm.filter.BeforeLastEventTimeFilter)2 IPAddrLikeFilter (org.opennms.web.alarm.filter.IPAddrLikeFilter)2 LocationFilter (org.opennms.web.alarm.filter.LocationFilter)2 LogMessageMatchesAnyFilter (org.opennms.web.alarm.filter.LogMessageMatchesAnyFilter)2 LogMessageSubstringFilter (org.opennms.web.alarm.filter.LogMessageSubstringFilter)2 NodeLocationFilter (org.opennms.web.alarm.filter.NodeLocationFilter)2 NodeNameLikeFilter (org.opennms.web.alarm.filter.NodeNameLikeFilter)2 ServiceFilter (org.opennms.web.alarm.filter.ServiceFilter)2 SeverityFilter (org.opennms.web.alarm.filter.SeverityFilter)2 Filter (org.opennms.web.filter.Filter)2 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 NoSuchElementException (java.util.NoSuchElementException)1 ServletException (javax.servlet.ServletException)1 AcknowledgedByFilter (org.opennms.web.alarm.filter.AcknowledgedByFilter)1 EventParmLikeFilter (org.opennms.web.alarm.filter.EventParmLikeFilter)1 ExactUEIFilter (org.opennms.web.alarm.filter.ExactUEIFilter)1