Examples of AlarmManager


Examples of com.jalios.jdring.AlarmManager

        int [] dayofweek;
        int [] year = null;
        String timeZoneStr = null;

        // Creates a new AlarmManager
        AlarmManager mgr = new AlarmManager(Console.getTestFlag(0));

        // Generate alarms for absolute or relative case
        NodeList alarmNodeList = alarmsNode.getChildNodes();
        String identityNodeName = alarmNodeList.item(0).getNodeName();
        //if (identityNodeName.equals("JcronAlarm")) { // Absolute case
        if (identityNodeName.equals(XmultraConfig.JCRON_ALARM)) { // Absolute case

            //NodeList alarmNodeList = alarmsNode.getChildNodes();
            for (int i = 0; i < alarmNodeList.getLength(); i++) {
                Node alarmNode = alarmNodeList.item(i);

                String [] myTokens;
                int [] myFields = new int[MAXFIELDS];

                // Get minute, hour, .....
                String startString = null;
                String endString = null;
                myTokens = new String[1];

                // For second
                myTokens[0] = ((startString = getSecondStart(alarmNode)) == null) ?
                              "-1" : ((endString = getSecondEnd(alarmNode)) == null) ?
                              startString : startString + "-" + endString;
                if (startString != null && ((parseInts(startString)[0] < 0)
                   || (parseInts(startString)[0] > 59))) {

                    logInitWarningMessage(
                        "Second element, Start attribute has value: " +
                        startString + ". Must be between 0 and 59.");
                    return false;
                }
                if (endString != null && ((parseInts(endString)[0] < 0)
                   || (parseInts(endString)[0] > 59))) {
                    logInitWarningMessage(
                        "Second element, End attribute has value: " +
                        endString + ". Must be between 0 and 59.");
                    return false;
                }

                if (myTokens[0] == "-1") {
                    second = new int[1];
                    second[0] = -1;
                } else {
                    myFields = getFields(myTokens);
                    secondSize = myFields.length;
                    second = new int[secondSize];
                    second = myFields;
                }

                // For minute
                myTokens[0] = ((startString = getMinuteStart(alarmNode)) == null) ?
                              "-1" : ((endString = getMinuteEnd(alarmNode)) == null) ?
                              startString : startString + "-" + endString;
                if (startString != null && ((parseInts(startString)[0] < 0)
                   || (parseInts(startString)[0] > 59))) {
                    logInitWarningMessage(
                        "Minute element, Start attribute has value: " +
                        startString + ". Must be between 0 and 59.");
                    return false;
                }
                if (endString != null && ((parseInts(endString)[0] < 0)
                   || (parseInts(endString)[0] > 59))) {
                    logInitWarningMessage(
                        "Minute element, End attribute has value: " +
                        endString + ". Must be between 0 and 59.");
                    return false;
                }

                if (myTokens[0] == "-1") {
                    minute = new int[1];
                    minute[0] = -1;
                } else {
                    myFields = getFields(myTokens);
                    minuteSize = myFields.length;
                    minute = new int[minuteSize];
                    minute = myFields;
                }


                // For hour
                myTokens[0] = ((startString = (getHourStart(alarmNode))) == null) ?
                              "-1" : ((endString = getHourEnd(alarmNode)) == null) ?
                              startString : startString + "-" + endString;
                if (myTokens[0] == "-1") {
                    hour = new int[1];
                    hour[0] = -1;
                } else {
                    myFields = getFields(myTokens);
                    hourSize = myFields.length;
                    hour = new int[hourSize];
                    hour = myFields;
                }

                // For day of month
                myTokens[0] = ((startString = (getDayofmonthStart(alarmNode)))
                              == null) ?
                              "-1" : ((endString = getDayofmonthEnd(alarmNode)) == null) ?
                              startString : startString + "-" + endString;
                if (myTokens[0] == "-1") {
                    dayofmonth = new int[1];
                    dayofmonth[0] = -1;
                } else {
                    myFields = getFields(myTokens);
                    dayofmonthSize = myFields.length;
                    dayofmonth = new int[dayofmonthSize];
                    dayofmonth = myFields;
                }

                // For month
                myTokens[0] = ((startString =
                              (getMonthStart(alarmNode))) == null) ?
                              "-1" : ((endString = getMonthEnd(alarmNode)) == null) ?
                              startString : startString + "-" + endString;
                if (myTokens[0] == "-1") {
                    month = new int[1];
                    month[0] = -1;
                } else {
                    myFields = getFields(myTokens);
                    monthSize = myFields.length;
                    month = new int[monthSize];
                    month = myFields;
                }

                // For day of week
                myTokens[0] = ((startString = (getDayofweekStart(alarmNode)))
                              == null) ?
                              "-1" : ((endString = getDayofweekEnd(alarmNode))
                              == null) ? startString : startString + "-" + endString;
                if (myTokens[0] == "-1") {
                    dayofweek = new int[1];
                    dayofweek[0] = -1;
                } else {
                    myFields = getFields(myTokens);
                    dayofweekSize = myFields.length;
                    dayofweek = new int[dayofweekSize];
                    dayofweek = myFields;
                }

                // For year
                startString = null;
                endString = null;
                myTokens[0] = ((startString = (getYearStart(alarmNode))) == null) ?
                              "-1" : ((endString = getYearEnd(alarmNode))
                              == null) ? startString : startString + "-" + endString;

                if (startString != null && ((parseInts(startString)[0] < 2000)
                        || (parseInts(startString)[0] > 3000))) {

                    logInitWarningMessage(
                        "Year element, Start attribute has value: " +
                        startString + ". Must be between 2000 and 3000.");
                    return false;
                }
                if (endString != null && ((parseInts(endString)[0] < 2000)
                        || (parseInts(endString)[0] > 3000))) {
                    logInitWarningMessage(
                        "Year element,  End attribute has value: " +
                        endString + ". Must be between 2000 and 3000.");
                    return false;
                }
                if (myTokens[0] == "-1") {
                    year = new int[1];
                    year[0] = -1;
                } else {
                    myFields = getFields(myTokens);
                    yearSize = myFields.length;
                    year = new int[yearSize];
                    year = myFields;
                }

                // For timezone
                timeZoneStr = getTimeZone(alarmNode);
                // If a timezone was entered and it is not null or empty, check to see if it
                // is valid.  If not, log error.
                if (timeZoneStr != null && !validTimeZonesSet.contains(timeZoneStr)) {
                    StringBuffer logMsg = new StringBuffer();

                    Iterator tzIter = validTimeZonesSet.iterator();
                    logMsg.append("'" + timeZoneStr + "' is not a valid TimeZone.\n");
                    logMsg.append("TimeZone must be one of the following:\n");
                    while(tzIter.hasNext()){
                        String okTimeZone = (String)tzIter.next();

                        okTimeZone = strings.substitute("/",".", okTimeZone);

                        logMsg.append(okTimeZone).append("\n");
                    }
                    logInitWarningMessage(logMsg.toString());
                    return false;
                }
                // Look up cross references in case this JDK is less than ver 1.4.
                timeZoneStr = dateUtils.getTimeZoneCrossReference(timeZoneStr);
                // End timezone

                int totalSize = secondSize * minuteSize * hourSize * dayofmonthSize *
                                monthSize * dayofweekSize * yearSize;

                AlarmEntry [] alarmEntryArray = new AlarmEntry[totalSize];

                // Register alarms
                int totali = 0;
                for (int yeari = 0; yeari < yearSize; yeari++)
                    for (int dayofweeki = 0; dayofweeki < dayofweekSize; dayofweeki++)
                        for (int monthi = 0; monthi < monthSize; monthi++)
                            for (int dayofmonthi = 0; dayofmonthi < dayofmonthSize;
                            dayofmonthi++)
                                for (int houri = 0; houri < hourSize; houri++)
                                    for (int minutei = 0; minutei < minuteSize; minutei++) {
                                        for (int secondi = 0; secondi < secondSize; secondi++) {
                                            try {
                                                alarmEntryArray[totali] = new AlarmEntry(second[secondi],
                                                    minute[minutei], hour[houri], dayofmonth[dayofmonthi],
                                                    month[monthi], dayofweek[dayofweeki], year[yeari],timeZoneStr,
                                                    myAlarmListener);
                                                mgr.addAlarm(alarmEntryArray[totali]);
                                            }
                                            catch (PastDateException e) {
                                                // Make log entry.
                                                msgEntry.setAppContext(
                                                "JcronWatchManager -- set up alarm").setDocInfo(null);
                                                msgEntry.setMessageText("PastDateException");
                                                msgEntry.setError("PastDateException - ignore on startup of Xmultra");
                                                logger.logWarning(msgEntry);
                                            }
                                            catch (InvalidTimeZoneException e) {
                                                // Make log entry.
                                                msgEntry.setAppContext(
                                                "JcronWatchManager -- set up alarm").setDocInfo(null);
                                                msgEntry.setMessageText("Invalid TimeZone.");
                                                msgEntry.setError(e.getMessage());
                                                logger.logWarning(msgEntry);
                                                return false;
                                            }
                                            totali++;
                                        }
                                    } // end of for
            } // end of each cronAlarm
        } else if (identityNodeName.equals(XmultraConfig.RELATIVE_JCRON_ALARM)) { // Relative case
            int delaySeconds = 0;
            String intervalValueString = null;
            String isRepetitiveString = null;

            isRepetitiveString = xmlParseUtils.getAttributeValueFromNode(
                                 alarmNodeList.item(0), XmultraConfig.REPETITIVE_ATTRIBUTE);

            // Get the list of interval nodes
            NodeList intervalNodeList = alarmNodeList.item(0).getChildNodes();

            // Tranverse the node list
            for (int i = 0; i < intervalNodeList.getLength(); i++) {
                Node intervalNode = intervalNodeList.item(i);

                // Get attributes for the interval node
                intervalValueString  = xmlParseUtils.getAttributeValueFromNode(
                                       intervalNode, XmultraConfig.VALUE_ATTRIBUTE);

                // Get the hour interval
                if (intervalNode.getNodeName().equals(XmultraConfig.HOUR_INTERVAL)) {
                    try {
                        delaySeconds += Integer.parseInt(intervalValueString) *
                                    XmultraConfig.SECONDS_PER_HOUR;
                    } catch (NumberFormatException e) {
                        logInitWarningMessage(
                            "HourInterval element, Value attribute has value: " +
                            intervalValueString + ". Must be integer.");
                        return false;
                    }
                // Get the day interval
                } else if (intervalNode.getNodeName().equals(XmultraConfig.DAY_INTERVAL)) {
                    try {
                        delaySeconds += Integer.parseInt(intervalValueString) *
                                    XmultraConfig.SECONDS_PER_DAY;
                    } catch (NumberFormatException e) {
                        logInitWarningMessage(
                            "DayInterval element, Value attribute has value: " +
                            intervalValueString + ". Must be integer.");
                        return false;
                    }

                // Get the minute interval
                } else if (intervalNode.getNodeName().equals(XmultraConfig.MINUTE_INTERVAL)) {
                    try {
                        delaySeconds += Integer.parseInt(intervalValueString) *
                                    XmultraConfig.SECONDS_PER_MINUTE;
                    } catch (NumberFormatException e) {
                        logInitWarningMessage(
                            "MinuteInterval element, Value attribute has value: " +
                            intervalValueString + ". Must be integer.");
                        return false;
                    }

                // Get the second interval
                } else {
                    try {
                        delaySeconds += Integer.parseInt(intervalValueString);
                    } catch (NumberFormatException e) {
                        logInitWarningMessage(
                            "SecondInterval element, Value attribute has value: " +
                            intervalValueString + ". Must be integer.");
                        return false;
                    }
                }
            }
            // Set the alarm for the second interval
            if (isRepetitiveString == null || isRepetitiveString.equalsIgnoreCase("yes")) {
                isRepetitiveString = "true";
            } else {
                isRepetitiveString = "false";
            }
            try {
                AlarmEntry cronAlarmEntry = new AlarmEntry(
                                            delaySeconds, Boolean.valueOf(isRepetitiveString).booleanValue(),
                                            myAlarmListener);
                mgr.addAlarm(cronAlarmEntry);
            } catch (PastDateException e) {
                // Make log entry.
                msgEntry.setAppContext(
                "JcronWatchManager -- set up alarm").setDocInfo(null);
                msgEntry.setMessageText("PastDateException");
View Full Code Here

Examples of com.jtheory.jdring.AlarmManager

   
    private static SchedulingManager schedulingManager;
   
    public SchedulingManager()
    {
        alarmManager = new AlarmManager();
        if(log.isDebugEnabled())
            log.debug("stating alarm manager");
    }
View Full Code Here

Examples of com.vmware.vim.binding.vim.alarm.AlarmManager

         throw e;
      }
   }

   public static void configureAlarm(Folder rootFolder) throws Exception {
      AlarmManager alarmManager = VcContext.getService().getAlarmManager();

      // Create the alarm for VHM
      String SERENGETI_UUID = rootFolder.getName(); /* should be the name of the folder clusters get deployed into */

      String ALARM_CLEARED_MSG = "all health issues previously reported by Big Data Extensions are in remission";
      EventAlarmExpression raiseExpression = new EventAlarmExpressionImpl();
      raiseExpression.setEventType(new TypeNameImpl("vim.event.EventEx"));
      raiseExpression.setEventTypeId("com.vmware.vhadoop.vhm.vc.events.warning");
      raiseExpression.setStatus(ManagedEntity.Status.yellow);
      raiseExpression.setObjectType(new TypeNameImpl("vim.VirtualMachine"));

      EventAlarmExpression clearExpression = new EventAlarmExpressionImpl();
      clearExpression.setEventType(new TypeNameImpl("vim.event.EventEx"));
      clearExpression.setEventTypeId("com.vmware.vhadoop.vhm.vc.events.info");
      clearExpression.setComparisons(new EventAlarmExpressionImpl.ComparisonImpl[] {
            new EventAlarmExpressionImpl.ComparisonImpl("message", "endsWith", ALARM_CLEARED_MSG)
            });
      clearExpression.setStatus(ManagedEntity.Status.green);
      clearExpression.setObjectType(new TypeNameImpl("vim.VirtualMachine"));

      OrAlarmExpression or = new OrAlarmExpressionImpl();
      or.setExpression(new AlarmExpression[] {raiseExpression, clearExpression});

      AlarmTriggeringAction alarmAction = new AlarmTriggeringActionImpl();
      alarmAction.setAction(null);
      TransitionSpec tSpec = new AlarmTriggeringActionImpl.TransitionSpecImpl();
      tSpec.setRepeats(false);
      tSpec.setStartState(Status.green);
      tSpec.setFinalState(Status.yellow);
      alarmAction.setTransitionSpecs(new TransitionSpec[] { tSpec });
      alarmAction.setGreen2yellow(true);

      AlarmSpec spec = new AlarmSpecImpl();
      spec.setActionFrequency(0);
      spec.setExpression(or);

      /* the name has to be unique, but we need a way to find any matching
      alarms later so we use a known prefix */
      String alarmName = "BDE Health " + SERENGETI_UUID;
      if (alarmName.length() > 80) {
         alarmName = alarmName.substring(0, 80);
      }
      spec.setName(alarmName);
      spec.setSystemName(null);
      spec.setDescription("Indicates a health issue with a compute VM managed by Big Data Extensions. The specific health issue is detailed in a warning event in the event log.");
      spec.setEnabled(true);

      AlarmSetting as = new AlarmSettingImpl();
      as.setReportingFrequency(0);
      as.setToleranceRange(0);

      spec.setSetting(as);

      ManagedObjectReference[] existingAlarms = alarmManager.getAlarm(rootFolder._getRef());
      Alarm existing = null;
      try {
         if (existingAlarms != null) {
            for (ManagedObjectReference m : existingAlarms) {
               Alarm a = MoUtil.getManagedObject(m);
               if (a.getInfo().getName().equals(alarmName)) {
                  existing = a;
                  break;
               }
            }
         }
      } catch (NullPointerException e) {
         // this just saves a lot of null checks
         logger.error("Got NullPointerException when querying alarms", e);
      }

      try {
         if (existing != null) {
            existing.reconfigure(spec);
            logger.info("Alarm " + alarmName + " exists");
         } else {
            ManagedObjectReference alarmMoref = alarmManager.create(rootFolder._getRef(), spec);
            logger.info("Create " + alarmMoref.getValue() + " " + alarmName);
         }
      } catch (InvalidName e) {
         logger.error("Invalid alarm name", e);
      } catch (DuplicateName e) {
View Full Code Here

Examples of com.vmware.vim25.mo.AlarmManager

        + "\nExisting...");
      si.getServerConnection().logout();
      return;
    }
   
    AlarmManager alarmMgr = si.getAlarmManager();
   
    AlarmSpec spec = new AlarmSpec();
   
    StateAlarmExpression expression =
      createStateAlarmExpression();
    AlarmAction emailAction = createAlarmTriggerAction(
        createEmailAction());
    AlarmAction methodAction = createAlarmTriggerAction(
        createPowerOnAction());
    GroupAlarmAction gaa = new GroupAlarmAction();

    gaa.setAction(new AlarmAction[]{emailAction, methodAction});
    spec.setAction(gaa);
    spec.setExpression(expression);
    spec.setName("VmPowerStateAlarm");
    spec.setDescription("Monitor VM state and send email " +
        "and power it on if VM powers off");
    spec.setEnabled(true);   
   
    AlarmSetting as = new AlarmSetting();
    as.setReportingFrequency(0); //as often as possible
    as.setToleranceRange(0);
   
    spec.setSetting(as);
   
    alarmMgr.createAlarm(vm, spec);
   
    si.getServerConnection().logout();
  }
View Full Code Here

Examples of com.vmware.vim25.mo.AlarmManager

    }

    ServiceInstance si = new ServiceInstance(
      new URL(args[0]), args[1], args[2], true);
    
    AlarmManager alarmMgr = si.getAlarmManager();

    System.out.println("Alarm expressions:");
    AlarmExpression[] defaultExps = alarmMgr.getDefaultExpression();
    printAlarmExpressions(defaultExps);

    System.out.println("\n\nAlarm descriptions:");
    AlarmDescription ad = alarmMgr.getDescription();
    printAlarmDescription(ad);
   
    si.getServerConnection().logout();
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.