List of usage examples for java.lang.management OperatingSystemMXBean getSystemLoadAverage
public double getSystemLoadAverage();
From source file:org.jwebsocket.util.Tools.java
/** * Gets the global CPU usage percent./*from www .jav a2 s . c o m*/ * * @return * @throws java.lang.Exception */ public static double getCpuUsage() throws Exception { Double lJavaVersion = Double.parseDouble(System.getProperty("java.vm.specification.version")); if (!getOperatingSystem().startsWith("Windows") && lJavaVersion >= 1.6) { OperatingSystemMXBean lOSBean = ManagementFactory.getPlatformMXBean(OperatingSystemMXBean.class); return lOSBean.getSystemLoadAverage() * 10; } else { Sigar mSigar = new Sigar(); CpuPerc lCPU = mSigar.getCpuPerc(); double lIdle = lCPU.getIdle(); return 100 - (lIdle * 100); } }
From source file:com.thoughtworks.go.server.service.support.ServerRuntimeInformationProvider.java
private void osInfo(OperatingSystemMXBean operatingSystemMXBean, InformationStringBuilder builder) { builder.addSection("OS information"); builder.append(String.format("%s, %s, %s, %s, %s\n", operatingSystemMXBean.getName(), operatingSystemMXBean.getArch(), operatingSystemMXBean.getVersion(), operatingSystemMXBean.getAvailableProcessors(), operatingSystemMXBean.getSystemLoadAverage())); }
From source file:com.searchbox.framework.web.SystemController.java
@ModelAttribute("systemInfo") private Map<String, Object> getSystemInfo() { Map<String, Object> info = new HashMap<String, Object>(); OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean(); info.put("name", os.getName()); info.put("version", os.getVersion()); info.put("arch", os.getArch()); info.put("systemLoadAverage", os.getSystemLoadAverage()); // com.sun.management.OperatingSystemMXBean addGetterIfAvaliable(os, "committedVirtualMemorySize", info); addGetterIfAvaliable(os, "freePhysicalMemorySize", info); addGetterIfAvaliable(os, "freeSwapSpaceSize", info); addGetterIfAvaliable(os, "processCpuTime", info); addGetterIfAvaliable(os, "totalPhysicalMemorySize", info); addGetterIfAvaliable(os, "totalSwapSpaceSize", info); // com.sun.management.UnixOperatingSystemMXBean addGetterIfAvaliable(os, "openFileDescriptorCount", info); addGetterIfAvaliable(os, "maxFileDescriptorCount", info); try {/*from w w w. j a v a 2 s .c o m*/ if (!os.getName().toLowerCase(Locale.ROOT).startsWith("windows")) { // Try some command line things info.put("uname", execute("uname -a")); info.put("uptime", execute("uptime")); } } catch (Exception ex) { ex.printStackTrace(); } return info; }
From source file:org.eclipse.gyrex.cloud.internal.NodeMetricsReporter.java
@Override protected IStatus run(final IProgressMonitor monitor) { if (monitor.isCanceled()) { return Status.CANCEL_STATUS; }//from ww w . j a v a2 s.c o m try { final Properties metrics = new Properties() { private static final long serialVersionUID = 1L; @Override public synchronized Enumeration<Object> keys() { return Collections.enumeration(keySet()); } @Override public Set<Object> keySet() { return new TreeSet<Object>(super.keySet()); } }; final OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); metrics.setProperty("os.availableProcessors", String.valueOf(operatingSystemMXBean.getAvailableProcessors())); metrics.setProperty("os.systemLoadAverage", String.valueOf(operatingSystemMXBean.getSystemLoadAverage())); metrics.setProperty("os.committedVirtualMemorySize", getUsingReflection(operatingSystemMXBean, "getCommittedVirtualMemorySize")); metrics.setProperty("os.totalSwapSpaceSize", getUsingReflection(operatingSystemMXBean, "getTotalSwapSpaceSize")); metrics.setProperty("os.freeSwapSpaceSize", getUsingReflection(operatingSystemMXBean, "getFreeSwapSpaceSize")); metrics.setProperty("os.processCpuTime", getUsingReflection(operatingSystemMXBean, "getProcessCpuTime")); metrics.setProperty("os.freePhysicalMemorySize", getUsingReflection(operatingSystemMXBean, "getFreePhysicalMemorySize")); metrics.setProperty("os.totalPhysicalMemorySize", getUsingReflection(operatingSystemMXBean, "getTotalPhysicalMemorySize")); metrics.setProperty("os.openFileDescriptorCount", getUsingReflection(operatingSystemMXBean, "getOpenFileDescriptorCount")); metrics.setProperty("os.maxFileDescriptorCount", getUsingReflection(operatingSystemMXBean, "getMaxFileDescriptorCount")); final MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean(); final MemoryUsage heapMemoryUsage = memoryMXBean.getHeapMemoryUsage(); metrics.setProperty("heap.used", String.valueOf(heapMemoryUsage.getUsed())); metrics.setProperty("heap.committed", String.valueOf(heapMemoryUsage.getCommitted())); metrics.setProperty("heap.max", String.valueOf(heapMemoryUsage.getMax())); metrics.setProperty("heap.init", String.valueOf(heapMemoryUsage.getInit())); final MemoryUsage nonHeapMemoryUsage = memoryMXBean.getNonHeapMemoryUsage(); metrics.setProperty("nonHeap.used", String.valueOf(nonHeapMemoryUsage.getUsed())); metrics.setProperty("nonHeap.committed", String.valueOf(nonHeapMemoryUsage.getCommitted())); metrics.setProperty("nonHeap.max", String.valueOf(nonHeapMemoryUsage.getMax())); metrics.setProperty("nonHeap.init", String.valueOf(nonHeapMemoryUsage.getInit())); final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean(); metrics.setProperty("thread.count", String.valueOf(threadMXBean.getThreadCount())); metrics.setProperty("thread.peak", String.valueOf(threadMXBean.getPeakThreadCount())); metrics.setProperty("thread.totalStarted", String.valueOf(threadMXBean.getTotalStartedThreadCount())); final RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); metrics.setProperty("uptime", String.valueOf(runtimeMXBean.getUptime())); final ByteArrayOutputStream out = new ByteArrayOutputStream(); final NodeInfo nodeInfo = CloudState.getNodeInfo(); metrics.store(out, String.valueOf(nodeInfo)); ZooKeeperGate.get().writeRecord(IZooKeeperLayout.PATH_NODES_METRICS.append(nodeInfo.getNodeId()), CreateMode.PERSISTENT, out.toByteArray()); if (CloudDebug.nodeMetrics) { LOG.debug("Node metrics reported successfully.{}{}", SystemUtils.LINE_SEPARATOR, new String(out.toByteArray(), CharEncoding.ISO_8859_1)); } } catch (final Exception e) { LOG.warn("Failed to update node metrics. {}", e.getMessage()); } finally { // reschedule schedule(DELAY); } return Status.OK_STATUS; }
From source file:org.liferayhub.pc.service.impl.PowerConsoleServiceImpl.java
public String runCommand(long userId, long companyId, String mode, String command) { String response = ""; Date startDate = new Date(); if ("server".equalsIgnoreCase(mode)) { if ("help".equalsIgnoreCase(command)) { response = "Commands:\n" + "help\t\t\tShow this help message\n" + "version\t\t Display the version of the Liferay Portal\n" + "date\t\t\tDisplay the date and time of the database server\n" + "uptime\t\t Display the uptime of the portal\n" + "adduser\t\t Add a new user"; } else if ("version".equalsIgnoreCase(command)) { response = ReleaseInfo.getReleaseInfo() + " running on " + StringUtil.upperCaseFirstLetter(ServerDetector.getServerId()); } else if ("date".equalsIgnoreCase(command)) { response = new Date().toString(); } else if ("uptime".equalsIgnoreCase(command)) { response = getUptime(PortalUtil.getUptime().getTime()); } else if (command.toLowerCase().startsWith("adduser")) { response = handleAddUser(userId, companyId, command); }/* w ww .j a v a 2 s .c o m*/ } else if ("db".equalsIgnoreCase(mode)) { if ("help".equalsIgnoreCase(command)) { response = "Commands:\n" + "help\t\t\tShow this help message\n" + "version\t\t Display the version of the database\n" + "date\t\t\tDisplay the date and time of the database server\n" + "<sql query>\t Display result of any SQL query"; } else if ("date".equalsIgnoreCase(command)) { response = runSQLQuery("select now() \"\""); } else if ("version".equalsIgnoreCase(command)) { response = runSQLQuery( "select '" + DBFactoryUtil.getDBFactory().getDB().getType() + "' as '', version() ''"); } else response = runSQLQuery(command); } else if ("jvm".equalsIgnoreCase(mode)) { if ("help".equalsIgnoreCase(command)) { response = "Commands:\n" + "help\t\tShow this help message\n" + "mem\t\t Display memory usage of the JVM\n" + "osinfo\t Display operating system info of the running JVM\n" + "vminfo\t Display VM info"; } else if ("mem".equalsIgnoreCase(command)) { MemoryMXBean mem = ManagementFactory.getMemoryMXBean(); response = "Heap : " + mem.getHeapMemoryUsage().toString(); response += "\nNon Heap : " + mem.getNonHeapMemoryUsage().toString(); response += "\nFinalization: " + mem.getObjectPendingFinalizationCount() + " objects pending"; } else if ("osinfo".equalsIgnoreCase(command)) { OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean(); response = os.getName() + "[" + os.getArch() + "] " + os.getVersion() + " (" + os.getAvailableProcessors() + " processors)"; response += "\nLoad Average: " + os.getSystemLoadAverage(); } else if ("vminfo".equalsIgnoreCase(command)) { RuntimeMXBean vm = ManagementFactory.getRuntimeMXBean(); response = vm.getVmName() + " " + vm.getVmVersion() + " by " + vm.getVmVendor(); response += "\n" + vm.getSpecName() + " " + vm.getSpecVersion() + " by " + vm.getSpecVendor(); response += "\nStarted at: " + DateFormat.getInstance().format(new Date(vm.getStartTime())); response += "\nUptime : " + getUptime(vm.getStartTime()); } else { response = UNRECOGNIZED_COMMAND; } } // save command to database if it is not 'help' if (!command.startsWith("help")) { try { // add to history Date endDate = new Date(); long id = CounterLocalServiceUtil.increment(CommandHistory.class.getName()); CommandHistory history = CommandHistoryLocalServiceUtil.createCommandHistory(id); history.setCommand(command); history.setExecutionDate(startDate); history.setExecutionTime(endDate.getTime() - startDate.getTime()); history.setMode(mode); history.setUserId(userId); CommandHistoryLocalServiceUtil.updateCommandHistory(history); // TODO: delete the oldest entry > MAX_HISTORY_SIZE // get the history size long historySize = 100; List<CommandHistory> historyList = CommandHistoryLocalServiceUtil .findCommandHistoryByUserId(userId); if (historyList.size() >= historySize) { CommandHistoryLocalServiceUtil.deleteCommandHistory(historyList.get(0)); } } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e.getMessage()); } } return response; }
From source file:com.alibaba.otter.node.etl.OtterController.java
public String getNodeSystemInfo() { OperatingSystemMXBean mbean = ManagementFactory.getOperatingSystemMXBean(); StringBuilder buf = new StringBuilder(); buf.append("").append(mbean.getName()).append(' ').append(mbean.getVersion()).append(' ') .append(mbean.getArch());//from ww w . j a v a 2 s. co m buf.append(" @ ").append(mbean.getAvailableProcessors()).append(" cores"); buf.append(" , ? load average:").append(mbean.getSystemLoadAverage()).append(" "); return buf.toString(); }
From source file:org.powertac.visualizer.services.VisualizerServiceTournament.java
private void tournamentLogin() { //log.info("Tournament URL='" + tournamentUrl + "'"); if (tournamentUrl.isEmpty()) { // No TM, just connect to server putEvent(Event.noTm);/*www . ja va 2 s.co m*/ return; } OperatingSystemMXBean mxBean = ManagementFactory.getOperatingSystemMXBean(); double load = mxBean.getSystemLoadAverage(); String urlString = tournamentUrl + visualizerLoginContext + "?machineName=" + machineName + "&machineLoad=" + load; log.info("tourney url=" + urlString); URL url; try { url = new URL(urlString); URLConnection conn = url.openConnection(); InputStream input = conn.getInputStream(); log.info("Parsing message.."); DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); Document doc = docBuilder.parse(input); doc.getDocumentElement().normalize(); // Two different message types Node retryNode = doc.getElementsByTagName("retry").item(0); Node loginNode = doc.getElementsByTagName("login").item(0); if (retryNode != null) { String checkRetry = retryNode.getFirstChild().getNodeValue(); log.info("Retry in " + checkRetry + " seconds"); // Received retry message; spin and try again try { Thread.sleep(Integer.parseInt(checkRetry) * 1000); } catch (InterruptedException e) { //e.printStackTrace(); } } else if (loginNode != null) { log.info("Login response received! "); queueName = doc.getElementsByTagName("queueName").item(0).getFirstChild().getNodeValue(); serverQueue = doc.getElementsByTagName("serverQueue").item(0).getFirstChild().getNodeValue(); log.info(String.format("Login message received: queueName=%s, serverQueue=%s", queueName, serverQueue)); putEvent(Event.accept); } else { // this is not working log.info("Invalid response from TS"); } } catch (Exception e) { // should we have an event here? e.printStackTrace(); } }
From source file:sce.JobStoreTXCustom.java
public Map<String, String> getSystemStatus() { OperatingSystemMXBean omx = ManagementFactory.getOperatingSystemMXBean(); com.sun.management.OperatingSystemMXBean osMxBean = null; if (omx instanceof com.sun.management.OperatingSystemMXBean) { osMxBean = (com.sun.management.OperatingSystemMXBean) omx; }//from ww w . j ava2 s. c o m Map<String, String> statusMap = new HashMap<>(); if (osMxBean != null) { statusMap.put("osArch", osMxBean.getArch()); statusMap.put("availableProcessors", Integer.toString(osMxBean.getAvailableProcessors())); statusMap.put("osName", osMxBean.getName()); statusMap.put("systemLoadAverage", Double.toString(osMxBean.getSystemLoadAverage())); statusMap.put("osVersion", osMxBean.getVersion()); statusMap.put("committedVirtualMemorySize", Long.toString(osMxBean.getCommittedVirtualMemorySize())); statusMap.put("freePhysicalMemorySize", Long.toString(osMxBean.getFreePhysicalMemorySize())); statusMap.put("freeSwapSpaceSize", Long.toString(osMxBean.getFreeSwapSpaceSize())); statusMap.put("processCpuLoad", Double.toString(osMxBean.getProcessCpuLoad())); statusMap.put("processCpuTime", Long.toString(osMxBean.getProcessCpuTime())); statusMap.put("systemCpuLoad", Double.toString(osMxBean.getSystemCpuLoad())); statusMap.put("totalPhysicalMemorySize", Long.toString(osMxBean.getTotalPhysicalMemorySize())); statusMap.put("totalSwapSpaceSize", Long.toString(osMxBean.getTotalSwapSpaceSize())); } return statusMap; }
From source file:edu.usu.sdl.openstorefront.web.rest.service.Application.java
@GET @RequireAdmin/*from w ww . j av a2 s .c o m*/ @APIDescription("Gets the application system status") @Produces({ MediaType.APPLICATION_JSON }) @DataType(ApplicationStatus.class) @Path("/status") public Response getApplicationStatus() { OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); List<GarbageCollectorMXBean> garbageCollectorMXBeans = ManagementFactory.getGarbageCollectorMXBeans(); MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean(); List<MemoryPoolMXBean> memoryPoolMXBeans = ManagementFactory.getMemoryPoolMXBeans(); ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean(); ApplicationStatus applicationStatus = new ApplicationStatus(); applicationStatus.setApplicationVersion(PropertiesManager.getApplicationVersion()); applicationStatus.setProcessorCount(operatingSystemMXBean.getAvailableProcessors()); applicationStatus.setSystemLoad(operatingSystemMXBean.getSystemLoadAverage()); applicationStatus.setSystemProperties(runtimeMXBean.getSystemProperties()); applicationStatus.getHeapMemoryStatus().setName("Heap"); applicationStatus.getHeapMemoryStatus().setDetails(memoryMXBean.getHeapMemoryUsage().toString()); applicationStatus.getHeapMemoryStatus() .setInitKb(memoryMXBean.getHeapMemoryUsage().getInit() != 0 ? memoryMXBean.getHeapMemoryUsage().getInit() / 1024 : 0); applicationStatus.getHeapMemoryStatus() .setUsedKb(memoryMXBean.getHeapMemoryUsage().getUsed() != 0 ? memoryMXBean.getHeapMemoryUsage().getUsed() / 1024 : 0); applicationStatus.getHeapMemoryStatus() .setMaxKb(memoryMXBean.getHeapMemoryUsage().getMax() != 0 ? memoryMXBean.getHeapMemoryUsage().getMax() / 1024 : 0); applicationStatus.getHeapMemoryStatus() .setCommitedKb(memoryMXBean.getHeapMemoryUsage().getCommitted() != 0 ? memoryMXBean.getHeapMemoryUsage().getCommitted() / 1024 : 0); applicationStatus.getNonHeapMemoryStatus().setName("Non-Heap"); applicationStatus.getNonHeapMemoryStatus().setDetails(memoryMXBean.getNonHeapMemoryUsage().toString()); applicationStatus.getNonHeapMemoryStatus() .setInitKb(memoryMXBean.getNonHeapMemoryUsage().getInit() != 0 ? memoryMXBean.getNonHeapMemoryUsage().getInit() / 1024 : 0); applicationStatus.getNonHeapMemoryStatus() .setUsedKb(memoryMXBean.getNonHeapMemoryUsage().getUsed() != 0 ? memoryMXBean.getNonHeapMemoryUsage().getUsed() / 1024 : 0); applicationStatus.getNonHeapMemoryStatus() .setMaxKb(memoryMXBean.getNonHeapMemoryUsage().getMax() != 0 ? memoryMXBean.getNonHeapMemoryUsage().getMax() / 1024 : 0); applicationStatus.getNonHeapMemoryStatus() .setCommitedKb(memoryMXBean.getNonHeapMemoryUsage().getCommitted() != 0 ? memoryMXBean.getNonHeapMemoryUsage().getCommitted() / 1024 : 0); applicationStatus.setLiveThreadCount(threadMXBean.getThreadCount()); applicationStatus.setTotalThreadCount(threadMXBean.getTotalStartedThreadCount()); applicationStatus.setStartTime(new Date(runtimeMXBean.getStartTime())); applicationStatus.setUpTime(TimeUtil.millisToString(runtimeMXBean.getUptime())); for (GarbageCollectorMXBean garbageCollectorMXBean : garbageCollectorMXBeans) { applicationStatus.getGarbageCollectionInfos() .add(TimeUtil.millisToString(garbageCollectorMXBean.getCollectionTime()) + " - (" + garbageCollectorMXBean.getCollectionCount() + ")"); } for (MemoryPoolMXBean memoryPoolMXBean : memoryPoolMXBeans) { MemoryPoolStatus memoryPoolStatus = new MemoryPoolStatus(); memoryPoolStatus.setName(memoryPoolMXBean.getName() + " - " + memoryPoolMXBean.getType()); memoryPoolStatus.setDetails(memoryPoolMXBean.getUsage().toString()); memoryPoolStatus.setInitKb( memoryPoolMXBean.getUsage().getInit() != 0 ? memoryPoolMXBean.getUsage().getInit() / 1024 : 0); memoryPoolStatus.setUsedKb( memoryPoolMXBean.getUsage().getUsed() != 0 ? memoryPoolMXBean.getUsage().getUsed() / 1024 : 0); memoryPoolStatus.setMaxKb( memoryPoolMXBean.getUsage().getMax() != 0 ? memoryPoolMXBean.getUsage().getMax() / 1024 : 0); memoryPoolStatus.setCommitedKb(memoryPoolMXBean.getUsage().getCommitted() != 0 ? memoryPoolMXBean.getUsage().getCommitted() / 1024 : 0); applicationStatus.getMemoryPools().add(memoryPoolStatus); } return sendSingleEntityResponse(applicationStatus); }
From source file:sce.JobStoreTXCustom.java
public boolean checkConstraints(JobDataMap jobDataMap) { try {/* w w w . j a v a2s .c o m*/ if (jobDataMap.containsKey("#jobConstraints")) { OperatingSystemMXBean omx = ManagementFactory.getOperatingSystemMXBean(); com.sun.management.OperatingSystemMXBean osMxBean = null; if (omx instanceof com.sun.management.OperatingSystemMXBean) { osMxBean = (com.sun.management.OperatingSystemMXBean) omx; } if (osMxBean != null) { //read json from request JSONParser parser = new JSONParser(); Object obj = parser.parse(jobDataMap.getString("#jobConstraints")); JSONArray jsonArray = (JSONArray) obj; String ipAddress = getIpAddress(); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonobject = (JSONObject) jsonArray.get(i); String systemParameterName = (String) jsonobject.get("systemParameterName"); //system parameter name (osArch, availableProcessors, freePhysicalMemorySize etc.) String operator = (String) jsonobject.get("operator"); // ==, !=, <, >, <=, >= String value = (String) jsonobject.get("value"); //value of the system parameter that must be satisfied String systemParameterValue; //system parameter actual value boolean ipAddressConstraint = false; //set ip address constraint as not satisfied by default switch (systemParameterName) { case "osArch": systemParameterValue = osMxBean.getArch(); break; case "availableProcessors": systemParameterValue = Integer.toString(osMxBean.getAvailableProcessors()); break; case "osName": systemParameterValue = osMxBean.getArch(); break; case "systemLoadAverage": systemParameterValue = Double.toString(osMxBean.getSystemLoadAverage()); break; case "osVersion": systemParameterValue = osMxBean.getArch(); break; case "committedVirtualMemorySize": systemParameterValue = Long.toString(osMxBean.getCommittedVirtualMemorySize()); break; case "freePhysicalMemorySize": systemParameterValue = Long.toString(osMxBean.getFreePhysicalMemorySize()); break; case "freeSwapSpaceSize": systemParameterValue = Long.toString(osMxBean.getFreeSwapSpaceSize()); break; case "processCpuLoad": systemParameterValue = Double.toString(osMxBean.getProcessCpuLoad()); break; case "processCpuTime": systemParameterValue = Long.toString(osMxBean.getProcessCpuTime()); break; case "systemCpuLoad": systemParameterValue = Double.toString(osMxBean.getSystemCpuLoad()); break; case "totalPhysicalMemorySize": systemParameterValue = Long.toString(osMxBean.getTotalPhysicalMemorySize()); break; case "totalSwapSpaceSize": systemParameterValue = Long.toString(osMxBean.getTotalSwapSpaceSize()); break; default: systemParameterValue = null; } //if systemParameterName is ipAddress, and there is one ip address that is equal/not equal (depending on the operator) to the scheduler's ip address, then set the ipAddressConstraint to true if (systemParameterName.equals("ipAddress")) { String[] ipAddressesArray = value.split(";"); for (String tmp : ipAddressesArray) { if ((operator.equals("==") && ipAddress.equals(tmp)) || (operator.equals("!=") && !ipAddress.equals(tmp))) { ipAddressConstraint = true; break; } } //if the ipAddressConstraint is false, the return false if (!ipAddressConstraint) { return false; } } //if the constraint is not satisfied, then return false //if systemParameterName = ipAddress, then systemParameterValue is null (default switch case) and this if condition is not satisfied if (systemParameterValue != null && ((operator.equals("==") && !isNumeric(systemParameterValue) && !isNumeric(value) && !value.equalsIgnoreCase(systemParameterValue)) || (operator.equals("!=") && !isNumeric(systemParameterValue) && !isNumeric(value) && value.equalsIgnoreCase(systemParameterValue)) || (operator.equals("==") && isNumeric(systemParameterValue) && isNumeric(value) && Double.parseDouble(systemParameterValue) != Double.parseDouble(value)) || (operator.equals("!=") && isNumeric(systemParameterValue) && isNumeric(value) && Double.parseDouble(systemParameterValue) == Double.parseDouble(value)) || (operator.equals("<") && isNumeric(systemParameterValue) && isNumeric(value) && Double.parseDouble(systemParameterValue) >= Double.parseDouble(value)) || (operator.equals(">") && isNumeric(systemParameterValue) && isNumeric(value) && Double.parseDouble(systemParameterValue) <= Double.parseDouble(value)) || (operator.equals("<=") && isNumeric(systemParameterValue) && isNumeric(value) && Double.parseDouble(systemParameterValue) > Double.parseDouble(value)) || (operator.equals(">=") && isNumeric(systemParameterValue) && isNumeric(value) && Double.parseDouble(systemParameterValue) < Double.parseDouble(value)))) { return false; } } } } return true; } catch (ParseException e) { e.printStackTrace(); return true; } }