All Downloads are FREE. Search and download functionalities are using the official Maven repository.

clime.messadmin.providers.userdata.SystemEnvironmentProvider Maven / Gradle / Ivy

Go to download

Notification system and Session administration for J2EE Web Applications

There is a newer version: 4.1.1
Show newest version
/**
 * 
 */
package clime.messadmin.providers.userdata;

import java.lang.reflect.Method;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import clime.messadmin.model.Server;
import clime.messadmin.providers.spi.BaseTabularServerDataProvider;
import clime.messadmin.providers.spi.ServerDataProvider;

/**
 * @author Cédrik LIME
 */
public class SystemEnvironmentProvider extends BaseTabularServerDataProvider
		implements ServerDataProvider {
	private static transient Method getenv = null;

	static {
		// @since 1.5
		try {
			getenv = System.class.getMethod("getenv", null);
		} catch (SecurityException e) {
		} catch (NoSuchMethodException e) {
		}
	}

	/**
	 * 
	 */
	public SystemEnvironmentProvider() {
		super();
	}

	/**
	 * {@inheritDoc}
	 */
	public String[] getServerTabularDataLabels() {
		return new String[] {"name", "value"};
	}

	/**
	 * {@inheritDoc}
	 */
	protected String getTableCaption(String[] labels, Object[][] values) {
		NumberFormat numberFormatter = NumberFormat.getNumberInstance();
		return ""+numberFormatter.format(values.length)+" environment variables";
	}

	/**
	 * {@inheritDoc}
	 */
	public Object[][] getServerTabularData() {
		Map sysProps = Server.getInstance().getServerInfo().getSystemEnv();
		List resultList = new ArrayList(sysProps.size());
		Iterator iter = sysProps.entrySet().iterator();
		while (iter.hasNext()) {
			Map.Entry prop = (Map.Entry) iter.next();
			resultList.add(new Object[] {
				prop.getKey(),
				prop.getValue()
			});
		}
		Object[][] result = new Object[resultList.size()][];
		return (Object[][]) resultList.toArray(result);
	}

	/**
	 * {@inheritDoc}
	 */
	public String getServerDataTitle() {
		return getenv != null ? "System Environment variables" : null;
	}

	/**
	 * {@inheritDoc}
	 */
	public int getPriority() {
		return 20;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy