/** * does this policy have an email sla action? * * @param pc * @return */ public static boolean hasEmailSLA(ServicePolicy pc) { if (pc == null) { return false; } if (pc.getServiceLevelAggrements() == null || pc.getServiceLevelAggrements().getSLA().isEmpty()) { return false; } for (int i = 0; i < pc.getServiceLevelAggrements().getSLA().size(); i++) { if (pc.getServiceLevelAggrements().getSLA().get(i).getAction() != null && !pc.getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction().isEmpty()) { for (int k = 0; k < pc.getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction().size(); k++) { if (pc.getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction().get(k).getImplementingClassName().equals("org.miloss.fgsms.sla.actions.EmailAlerter")) { return true; } } } } return false; }
outmsg = new AtomicReference<String>(); if (pol.getServiceLevelAggrements() == null || pol.getServiceLevelAggrements().getSLA().isEmpty()) { return true; for (int i = 0; i < pol.getServiceLevelAggrements().getSLA().size(); i++) { if (Utility.stringIsNullOrEmpty(pol.getServiceLevelAggrements().getSLA().get(i).getGuid())) { outmsg.set("Each SLA must have a unique identifier, try UUID.randomUUID().toString() or Guid.newGuid().toString(). " + outmsg.get()); valid = false; if (pol.getServiceLevelAggrements().getSLA().get(i).getRule() == null) { outmsg.set("Each SLA must have a Rule. " + outmsg.get()); valid = false; valid = valid && (validateRulesRecursive(pol, outmsg, pol.getServiceLevelAggrements().getSLA().get(i).getRule())); if (pol.getServiceLevelAggrements().getSLA().get(i).getAction() == null || pol.getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction().isEmpty()) { outmsg.set("Each SLA must have at least one Action. " + outmsg.get()); valid = false; } else { valid = valid && validateActions(pol, outmsg, pol.getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction());
SetupBundle(); ServicePolicy pol = SLACommon.getPolicy(uri, pooled); if (pol == null || pol.getServiceLevelAggrements() == null || pol.getServiceLevelAggrements().getSLA().isEmpty()) { return; for (int i = 0; i < pol.getServiceLevelAggrements().getSLA().size(); i++) { if (containsChangeInStatus(pol.getServiceLevelAggrements().getSLA().get(i).getRule())) { String msgplain = String.format(bundle.getString("StatusChangeEmailAlertPlain"), uri, s); String msghtml = String.format(bundle.getString("StatusChangeEmailAlertHtml"), Utility.encodeHTML(uri), oldmsg, s, (currenstatus ? "OK" : "NG")); false, pol.getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction(), pol.getServiceLevelAggrements().getSLA().get(i).getGuid(), pol, AlertType.Status);
return; if (pol.getServiceLevelAggrements() == null || pol.getServiceLevelAggrements().getSLA() == null || pol.getServiceLevelAggrements().getSLA().isEmpty()) { return; for (int i = 0; i < pol.getServiceLevelAggrements().getSLA().size(); i++) { boolean flag = false; if (pol.getServiceLevelAggrements().getSLA().get(i) == null) { continue; flag = ProcessRules(req, ref, pol.getServiceLevelAggrements().getSLA().get(i).getRule()); long time = System.currentTimeMillis(); try { SLACommon.RecordSLAFault(ref, pol.getURL(), transactionid, time, incident, true); SLACommon.ProcessAlerts(ref.get(), ref.get() + "<br>" + GenerateLink(props.getProperty("fgsms.GUI.URL"), pol.getURL(), transactionid), pol.getURL(), transactionid, time, incident, true, false, pol.getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction(), pol.getServiceLevelAggrements().getSLA().get(i).getGuid(), pol, AlertType.Performance);
continue; if (servicePolicyQueue.get(k).getServiceLevelAggrements() == null) { continue; if (servicePolicyQueue.get(k).getServiceLevelAggrements().getSLA().isEmpty()) { continue; for (int i = 0; i < servicePolicyQueue.get(k).getServiceLevelAggrements().getSLA().size(); i++) { boolean flag = false; StringBuffer faultMsg = new StringBuffer(); if (servicePolicyQueue.get(k).getServiceLevelAggrements().getSLA() == null) { continue; if (servicePolicyQueue.get(k).getServiceLevelAggrements().getSLA().get(i) == null) { continue; if (servicePolicyQueue.get(k).getServiceLevelAggrements().getSLA().get(i).getRule() == null) { continue; faultMsg, servicePolicyQueue.get(k).getServiceLevelAggrements().getSLA().get(i).getRule(), servicePolicyQueue.get(k).getPolicyType(), ispooled, servicePolicyQueue.get(k)); incident, ispooled, false, servicePolicyQueue.get(k).getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction(), servicePolicyQueue.get(k).getServiceLevelAggrements().getSLA().get(i).getGuid(), servicePolicyQueue.get(k), AlertType.Performance);
return; if (pol.getServiceLevelAggrements() == null) { return; if (pol.getServiceLevelAggrements().getSLA() == null) { return; if (pol.getServiceLevelAggrements().getSLA().isEmpty()) { return; for (int i = 0; i < pol.getServiceLevelAggrements().getSLA().size(); i++) { AtomicReference<String> ref = new AtomicReference<String>(); AtomicReference<AlertType> alertType = new AtomicReference<AlertType>(); if (processStatisticalSLARulesRecursive(req, pooled, pol.getServiceLevelAggrements().getSLA().get(i).getRule(), ref, alertType)) { String id = UUID.randomUUID().toString(); RecordSLAFault(new AtomicReference<String>(ref.get()), req.getBrokerURI(), null, System.currentTimeMillis(), id, pooled); ProcessAlerts(ref.get(), Utility.encodeHTML(ref.get()), req.getBrokerURI(), null, System.currentTimeMillis(), id, pooled, false, pol.getServiceLevelAggrements().getSLA().get(i).getAction().getSLAAction(), pol.getServiceLevelAggrements().getSLA().get(i).getGuid(), pol, alertType.get());
if (ret.getServiceLevelAggrements() == null) { ret.setServiceLevelAggrements(new ArrayOfSLA()); for (int i = 0; i < ret.getServiceLevelAggrements().getSLA().size(); i++) { if (ret.getServiceLevelAggrements().getSLA().get(i).getRule() instanceof SLARuleGeneric) { SLARuleGeneric r = (SLARuleGeneric) ret.getServiceLevelAggrements().getSLA().get(i).getRule(); if (r.getClassName().equalsIgnoreCase("org.miloss.fgsms.sla.rules.ChangeInAvailabilityStatus")) { existingSla = true; "Change of status for " + Utility.encodeHTML(ret.getURL()) + ". This is the default status alert. This can be changed by changing the policy for this service."); s.getAction().getSLAAction().add(e); ret.getServiceLevelAggrements().getSLA().add(s); for (int i = 0; i < ret.getServiceLevelAggrements().getSLA().size(); i++) { if (ret.getServiceLevelAggrements().getSLA().get(i).getRule() instanceof SLARuleGeneric) { SLARuleGeneric r = (SLARuleGeneric) ret.getServiceLevelAggrements().getSLA().get(i).getRule(); if (r.getClassName().equalsIgnoreCase("org.miloss.fgsms.sla.rules.StaleData")) { existingSla = true; ret.getServiceLevelAggrements().getSLA().add(s);
comm.setBytes(10, s.getBytes(Constants.CHARSET)); if (policy.getServiceLevelAggrements() != null && policy.getServiceLevelAggrements().getSLA() != null && !policy.getServiceLevelAggrements().getSLA().isEmpty()) { comm.setBoolean(11, true); } else {
if (pol.getServiceLevelAggrements() == null) { pol.setServiceLevelAggrements(new ArrayOfSLA()); pol.getServiceLevelAggrements().getSLA().clear(); pol.getServiceLevelAggrements().getSLA().addAll(slaCache.values()); if (pol.getServiceLevelAggrements().getSLA().isEmpty()) { pol.setServiceLevelAggrements(null);