private void initDefaultVariables()

in src/application/org.openjdk.jmc.ui.common/src/main/java/org/openjdk/jmc/ui/common/labelingrules/Variables.java [55:180]


	private void initDefaultVariables() {
		// FIXME: Could possibly be a good idea to combine JVMType and JVMArch into one enum, at least to avoid "[Unknown][Unknown]"
		// This occurs for JDP connections.
		variables.put("StrJVMType", new IVariableEvaluator() { //$NON-NLS-1$
			@Override
			public String evaluate(Object[] input) {
				JVMType type = (JVMType) input[ValueArrayInfo.JVMTYPE.getIndex()];
				String typeStr = getLocalizedTypeStr(type);
				if (typeStr == null) {
					return ""; //$NON-NLS-1$
				}
				return "[" + typeStr + "]"; //$NON-NLS-1$ //$NON-NLS-2$
			}

			private String getLocalizedTypeStr(JVMType type) {
				if (type == JVMType.JROCKIT) {
					return Messages.NameConverter_JVM_TYPE_JROCKIT;
				}
				if (type == JVMType.HOTSPOT) {
					return Messages.NameConverter_JVM_TYPE_HOTSPOT;
				}
				if (type == JVMType.OTHER) {
					return Messages.NameConverter_JVM_TYPE_OTHER;
				}
				return Messages.NameConverter_JVM_TYPE_UNKNOWN;
			}
		});
		variables.put("UnsupportedStrJVMType", new IVariableEvaluator() { //$NON-NLS-1$
			@Override
			public String evaluate(Object[] input) {
				JVMType type = (JVMType) input[ValueArrayInfo.JVMTYPE.getIndex()];
				String typeStr = getLocalizedTypeStr(type);
				if (typeStr == null) {
					return ""; //$NON-NLS-1$
				}
				return "[" + typeStr + "]"; //$NON-NLS-1$ //$NON-NLS-2$
			}

			private String getLocalizedTypeStr(JVMType type) {
				if (type == JVMType.JROCKIT) {
					return Messages.NameConverter_JVM_TYPE_JROCKIT;
				}
				if (type == JVMType.HOTSPOT) {
					return null;
				}
				if (type == JVMType.OTHER) {
					return null;
				}
				return Messages.NameConverter_JVM_TYPE_UNKNOWN;
			}
		});
		variables.put("StrJVMArch", new IVariableEvaluator() { //$NON-NLS-1$
			@Override
			public String evaluate(Object[] input) {
				JVMArch arch = (JVMArch) input[ValueArrayInfo.JVMARCH.getIndex()];
				String archStr = getLocalizedArchStr(arch);
				if (archStr == null) {
					return ""; //$NON-NLS-1$
				}
				return "[" + archStr + "]"; //$NON-NLS-1$ //$NON-NLS-2$
			}

			private String getLocalizedArchStr(JVMArch arch) {
				if (arch == JVMArch.BIT32) {
					return Messages.NameConverter_JVM_ARCH_32BIT;
				}
				if (arch == JVMArch.BIT64) {
					return Messages.NameConverter_JVM_ARCH_64BIT;
				}
				if (arch == JVMArch.OTHER) {
					return Messages.NameConverter_JVM_ARCH_OTHER;
				}
				return Messages.NameConverter_JVM_ARCH_UNKNOWN;
			}
		});
		variables.put("UnsupportedStrJVMArch", new IVariableEvaluator() { //$NON-NLS-1$
			@Override
			public String evaluate(Object[] input) {
				JVMArch arch = (JVMArch) input[ValueArrayInfo.JVMARCH.getIndex()];
				JVMType type = (JVMType) input[ValueArrayInfo.JVMTYPE.getIndex()];
				String archStr = getLocalizedArchStr(arch, type);
				if (archStr == null) {
					return ""; //$NON-NLS-1$
				}
				return "[" + archStr + "]"; //$NON-NLS-1$ //$NON-NLS-2$
			}

			private String getLocalizedArchStr(JVMArch arch, JVMType type) {
				JVMArch thisArch = JVMArch.getCurrentJVMArch();
				if (arch == thisArch) {
					return null;
				}
				if (arch == JVMArch.BIT32) {
					return Messages.NameConverter_JVM_ARCH_32BIT;
				}
				if (arch == JVMArch.BIT64) {
					return Messages.NameConverter_JVM_ARCH_64BIT;
				}
				if (arch == JVMArch.OTHER) {
					return null;
				}
				// Avoid showing double [Unknown]
				return type == JVMType.UNKNOWN ? null : Messages.NameConverter_JVM_ARCH_UNKNOWN;
			}
		});
		variables.put("StrDebug", new IVariableEvaluator() { //$NON-NLS-1$
			@Override
			public String evaluate(Object[] input) {
				return "true".equals(input[ValueArrayInfo.DEBUG.getIndex()]) ? "[" + Messages.NameConverter_DEBUG + "]" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
						: ""; //$NON-NLS-1$
			}
		});
		variables.put("StrJDK", new IVariableEvaluator() { //$NON-NLS-1$
			@Override
			public String evaluate(Object[] input) {
				String version = (String) input[ValueArrayInfo.JAVAVERSION.getIndex()];
				return version == null ? "" : "[" + version + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
			}
		});
		variables.put("JVMArgs", new IVariableEvaluator() { //$NON-NLS-1$
			@Override
			public String evaluate(Object[] input) {
				return (String) input[ValueArrayInfo.JVMARGS.getIndex()];
			}
		});
	}