< prev index next >

core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/ManagementAgentRule.java

Print this page




  43 import org.openjdk.jmc.common.item.IItemCollection;
  44 import org.openjdk.jmc.common.item.ItemFilters;
  45 import org.openjdk.jmc.common.util.IPreferenceValueProvider;
  46 import org.openjdk.jmc.common.util.TypedPreference;
  47 import org.openjdk.jmc.flightrecorder.jdk.JdkAttributes;
  48 import org.openjdk.jmc.flightrecorder.jdk.JdkFilters;
  49 import org.openjdk.jmc.flightrecorder.jdk.JdkTypeIDs;
  50 import org.openjdk.jmc.flightrecorder.rules.IRule;
  51 import org.openjdk.jmc.flightrecorder.rules.Result;
  52 import org.openjdk.jmc.flightrecorder.rules.jdk.messages.internal.Messages;
  53 import org.openjdk.jmc.flightrecorder.rules.util.JfrRuleTopics;
  54 import org.openjdk.jmc.flightrecorder.rules.util.RulesToolkit;
  55 import org.openjdk.jmc.flightrecorder.rules.util.RulesToolkit.EventAvailability;
  56 
  57 public class ManagementAgentRule implements IRule {
  58 
  59         private static final String RESULT_ID = "ManagementAgent"; //$NON-NLS-1$
  60 
  61         private Result getResult(IItemCollection items, IPreferenceValueProvider valueProvider) {
  62                 EventAvailability eventAvailability = RulesToolkit.getEventAvailability(items, JdkTypeIDs.SYSTEM_PROPERTIES);
  63                 if (eventAvailability == EventAvailability.UNAVAILABLE || eventAvailability == EventAvailability.DISABLED) {
  64                         return RulesToolkit.getEventAvailabilityResult(this, items, eventAvailability,
  65                                         JdkTypeIDs.SYSTEM_PROPERTIES);
  66                 }
  67 
  68                 // FIXME: Move the filter inside the aggregate.
  69                 IItemCollection properties = items.apply(JdkFilters.SYSTEM_PROPERTIES);
  70 
  71                 Set<String> portStr = properties
  72                                 .apply(ItemFilters.equals(JdkAttributes.ENVIRONMENT_KEY, "com.sun.management.jmxremote.port")) //$NON-NLS-1$
  73                                 .getAggregate(Aggregators.distinct(JdkAttributes.ENVIRONMENT_VALUE));
  74                 Set<String> authStr = properties
  75                                 .apply(ItemFilters.equals(JdkAttributes.ENVIRONMENT_KEY, "com.sun.management.jmxremote.authenticate")) //$NON-NLS-1$
  76                                 .getAggregate(Aggregators.distinct(JdkAttributes.ENVIRONMENT_VALUE));
  77                 Set<String> sslStr = properties
  78                                 .apply(ItemFilters.equals(JdkAttributes.ENVIRONMENT_KEY, "com.sun.management.jmxremote.ssl")) //$NON-NLS-1$
  79                                 .getAggregate(Aggregators.distinct(JdkAttributes.ENVIRONMENT_VALUE));
  80 
  81                 if (size(portStr) > 1 || size(authStr) > 1 || size(sslStr) > 1) {
  82                         return new Result(this, 50, Messages.getString(Messages.ManagementAgentRule_TEXT_INFO),
  83                                         Messages.getString(Messages.ManagementAgentRule_TEXT_INFO_LONG));




  43 import org.openjdk.jmc.common.item.IItemCollection;
  44 import org.openjdk.jmc.common.item.ItemFilters;
  45 import org.openjdk.jmc.common.util.IPreferenceValueProvider;
  46 import org.openjdk.jmc.common.util.TypedPreference;
  47 import org.openjdk.jmc.flightrecorder.jdk.JdkAttributes;
  48 import org.openjdk.jmc.flightrecorder.jdk.JdkFilters;
  49 import org.openjdk.jmc.flightrecorder.jdk.JdkTypeIDs;
  50 import org.openjdk.jmc.flightrecorder.rules.IRule;
  51 import org.openjdk.jmc.flightrecorder.rules.Result;
  52 import org.openjdk.jmc.flightrecorder.rules.jdk.messages.internal.Messages;
  53 import org.openjdk.jmc.flightrecorder.rules.util.JfrRuleTopics;
  54 import org.openjdk.jmc.flightrecorder.rules.util.RulesToolkit;
  55 import org.openjdk.jmc.flightrecorder.rules.util.RulesToolkit.EventAvailability;
  56 
  57 public class ManagementAgentRule implements IRule {
  58 
  59         private static final String RESULT_ID = "ManagementAgent"; //$NON-NLS-1$
  60 
  61         private Result getResult(IItemCollection items, IPreferenceValueProvider valueProvider) {
  62                 EventAvailability eventAvailability = RulesToolkit.getEventAvailability(items, JdkTypeIDs.SYSTEM_PROPERTIES);
  63                 if (eventAvailability == EventAvailability.UNKNOWN || eventAvailability == EventAvailability.DISABLED) {
  64                         return RulesToolkit.getEventAvailabilityResult(this, items, eventAvailability,
  65                                         JdkTypeIDs.SYSTEM_PROPERTIES);
  66                 }
  67 
  68                 // FIXME: Move the filter inside the aggregate.
  69                 IItemCollection properties = items.apply(JdkFilters.SYSTEM_PROPERTIES);
  70 
  71                 Set<String> portStr = properties
  72                                 .apply(ItemFilters.equals(JdkAttributes.ENVIRONMENT_KEY, "com.sun.management.jmxremote.port")) //$NON-NLS-1$
  73                                 .getAggregate(Aggregators.distinct(JdkAttributes.ENVIRONMENT_VALUE));
  74                 Set<String> authStr = properties
  75                                 .apply(ItemFilters.equals(JdkAttributes.ENVIRONMENT_KEY, "com.sun.management.jmxremote.authenticate")) //$NON-NLS-1$
  76                                 .getAggregate(Aggregators.distinct(JdkAttributes.ENVIRONMENT_VALUE));
  77                 Set<String> sslStr = properties
  78                                 .apply(ItemFilters.equals(JdkAttributes.ENVIRONMENT_KEY, "com.sun.management.jmxremote.ssl")) //$NON-NLS-1$
  79                                 .getAggregate(Aggregators.distinct(JdkAttributes.ENVIRONMENT_VALUE));
  80 
  81                 if (size(portStr) > 1 || size(authStr) > 1 || size(sslStr) > 1) {
  82                         return new Result(this, 50, Messages.getString(Messages.ManagementAgentRule_TEXT_INFO),
  83                                         Messages.getString(Messages.ManagementAgentRule_TEXT_INFO_LONG));


< prev index next >