001package com.khubla.pragmatach.plugin.adminapp;
002
003import java.util.Enumeration;
004import java.util.Hashtable;
005import java.util.Properties;
006
007import com.khubla.pragmatach.framework.annotation.Controller;
008import com.khubla.pragmatach.framework.annotation.Route;
009import com.khubla.pragmatach.framework.annotation.View;
010import com.khubla.pragmatach.framework.api.PragmatachException;
011import com.khubla.pragmatach.framework.api.Response;
012
013/**
014 * @author tome
015 */
016@Controller(name = "pragmatachShowJVMController")
017@View(view = "pragmatach/admin/jvm.html")
018public class ShowJVMController extends SecuredAdminController {
019   /**
020    * java properties
021    */
022   private Hashtable<String, String> javaProperties;
023
024   private Hashtable<String, String> findJavaProperties() throws PragmatachException {
025      try {
026         final Hashtable<String, String> ret = new Hashtable<String, String>();
027         final Properties props = System.getProperties();
028         final Enumeration<Object> enumer = props.keys();
029         while (enumer.hasMoreElements()) {
030            final String key = (String) enumer.nextElement();
031            ret.put(key, props.getProperty(key));
032         }
033         return ret;
034      } catch (final Exception e) {
035         throw new PragmatachException("Exception in findJavaProperties", e);
036      }
037   }
038
039   public Hashtable<String, String> getJavaProperties() {
040      return javaProperties;
041   }
042
043   @Route(uri = "/pragmatach/admin/jvm")
044   public Response render() throws PragmatachException {
045      javaProperties = findJavaProperties();
046      return super.render();
047   }
048
049   public void setJavaProperties(Hashtable<String, String> javaProperties) {
050      this.javaProperties = javaProperties;
051   }
052}