Index: admin/monitor/src/main/java/org/glassfish/admin/monitor/cli/Monitor.java =================================================================== --- admin/monitor/src/main/java/org/glassfish/admin/monitor/cli/Monitor.java (revision 34301) +++ admin/monitor/src/main/java/org/glassfish/admin/monitor/cli/Monitor.java (working copy) @@ -43,11 +43,9 @@ import org.glassfish.api.ActionReport; import org.glassfish.api.I18n; import org.glassfish.api.Param; -import org.glassfish.api.ActionReport.ExitCode; -import com.sun.enterprise.util.SystemPropertyConstants; import org.jvnet.hk2.annotations.Service; -import org.glassfish.flashlight.MonitoringRuntimeDataRegistry; import com.sun.enterprise.util.LocalStringManagerImpl; +import java.util.Iterator; /** * Return the version and build number @@ -84,8 +82,24 @@ mContract.process(report, filter); return; } - report.setMessage(localStrings.getLocalString("monitor.type.error", + if (habitat.getAllByContract(MonitorContract.class).size() != 0) { + String validTypes = ""; + Iterator contractsIterator = habitat. + getAllByContract(MonitorContract.class).iterator(); + while (contractsIterator.hasNext()) { + validTypes += contractsIterator.next().getName(); + if (contractsIterator.hasNext()) { + validTypes += ", "; + } + } + report.setMessage(localStrings.getLocalString("monitor.type.error", + "No type exists in habitat for the given monitor type {0}. " + + "Valid types are: {1}", type, validTypes)); + } + else { + report.setMessage(localStrings.getLocalString("monitor.type.error", "No type exists in habitat for the given monitor type {0}", type)); + } report.setActionExitCode(ActionReport.ExitCode.FAILURE); } }