public FormControl getControl() { if (control == null) control = MApi.lookup(FormControl.class); return control; }
@Override public synchronized Log log() { if (log == null) { log = MApi.get().lookupLog(this); } return log; }
default String getCfgString(Class<?> owner, String path, String def) { int p = path.indexOf('@'); if (p < 0) return MApi.getCfg(owner).getString(path, def); ResourceNode<?> node = MApi.getCfg(owner).getNodeByPath(path.substring(0, p)); if (node == null) return def; return node.getString(path.substring(p+1), def); }
/** * Create a new Bundle from configuration. * * @param config Config element or null. null will use the central MApi configuration. * @param activator Activator or null. null will use the central MApi activator. */ public DbPoolBundle(IConfig config, MActivator activator) { if (config == null) config = MApi.get().getCfgManager().getCfg(DbPoolBundle.class, null); if (activator == null) activator = MApi.lookup(MActivator.class); this.config = config; this.activator = activator; }
public static synchronized IApi get() { if (api == null) { try { IApi obj = null; String path = "de.mhus.lib.mutable.MApiFactory"; if (System.getProperty("mhu.lib.api.factory") != null) path = System.getProperty(MConstants.PROP_API_FACTORY_CLASS); dirtyLog("MApiFactory", path); IApiFactory factory = (IApiFactory)Class.forName(path).newInstance(); if (factory != null) { obj = factory.createApi(); } api = obj; } catch (Throwable t) { if (isDirtyTrace()) t.printStackTrace(); } if (api == null) api = new DefaultMApi(); if (isDirtyTrace()) System.out.println("--- MApi: " + api.getClass().getCanonicalName()); if (api instanceof ApiInitialize) ((ApiInitialize)api).doInitialize(DummyClass.class.getClassLoader()); } return api; }
MApi.dirtyLog("Load mhu-lib configuration"); IConfig system = MApi.get().getCfgManager().getCfg("system"); if (system != null) { MApi.setDirtyTrace(system.getBoolean("log.trace", false)); Log.setStacktraceTrace(system.getBoolean("stacktraceTrace", false)); MActivator activator = MApi.get().createActivator(); for (IConfig node : system.getNodes()) { if ("initiator".equals(node.getName())) { MApi.dirtyLog("remove initiator",name); initiators.remove(name); } else if (clazzName != null && !initiators.containsKey(name)) { MApi.dirtyLog("add initiator",name); CfgInitiator initiator = activator.createObject(CfgInitiator.class, clazzName); initiators.put(name, new Object[] {initiator, node }); CfgInitiator i = (CfgInitiator)initiator[0]; IConfig c = (IConfig)initiator[1]; MApi.dirtyLog("run initiator",initiator[0].getClass()); i.doInitialize(internal, MApi.get().getCfgManager(), c ); } catch (Throwable t) { MApi.dirtyLog("Can't initiate",initiator.getClass()," Error: ",t); MApi.dirtyLog("Can't initiate config ", t); MApi.getCfgUpdater().doUpdate(null);
IApi s = MApi.get(); if (! (s instanceof KarafMApiImpl)) { System.out.println("Karaf MApi not set"); api.clearTrace(); api.setFullTrace(false); MApi.updateLoggers(); System.out.println("OK"); } break; case "full": { api.setFullTrace(MCast.toboolean(parameters.length >= 1 ? parameters[0] : "1", false)); MApi.updateLoggers(); System.out.println("OK"); } break; case "dirty": { MApi.setDirtyTrace(MCast.toboolean(parameters.length >= 1 ? parameters[0] : "1", false)); System.out.println("OK"); } break; for (String p : parameters) api.setTrace(p); MApi.updateLoggers(); System.out.println("OK"); } break; System.out.println("Trace : " + api.isFullTrace()); System.out.println("LogFoctory : " + api.getLogFactory().getClass().getSimpleName()); System.out.println("DirtyTrace : " + MApi.isDirtyTrace()); LevelMapper lm = api.getLogFactory().getLevelMapper();
@Override public Object execute() throws Exception { IApi s = MApi.get(); if (! (s instanceof KarafMApiImpl)) { System.out.println("Karaf MApi not set"); MApi.get().getCfgManager().reConfigure(); } break; case "list": { ConsoleTable out = new ConsoleTable(); out.setHeaderValues("Owner", "Path", "Value", "Default"); for (CfgValue<?> value : MApi.getCfgUpdater().getList()) { out.addRowValues(value.getOwner(), value.getPath(), value.value(), value.getDefault() ); } break; case "set": { for (CfgValue<?> value : MApi.getCfgUpdater().getList()) { if (value.getOwner().equals(parameters[0]) && value.getPath().equals(parameters[1])) { value.setValue(parameters[2]);
public void update() { engine = MApi.get().getLogFactory().getInstance(getName()); localTrace = MApi.isTrace(name); levelMapper = MApi.get().getLogFactory().getLevelMapper(); parameterMapper = MApi.get().getLogFactory().getParameterMapper(); maxMsgSize = MApi.get().getLogFactory().getMaxMessageSize(); }
public ServerIdent() { String persistence = MApi.getCfg(ServerIdent.class).getString("persistence", MApi.getFile(SCOPE.ETC, ServerIdent.class.getCanonicalName() + ".txt").getAbsolutePath() ); File file = new File(persistence); String def = ""; if (file.exists() && file.isFile()) def = MFile.readFile(file).trim(); else { def = MSystem.getHostname() + "." + String.valueOf(MMath.toBasis36((long)(Math.random()*36*36*36*36), 4 )); MFile.writeFile(file, def); } def = MFile.normalize(def); ident = new CfgString(ServerIdent.class, "ident", def ); }
@Override public void start() { file = MApi.getFile(IApi.SCOPE.LOG,getClass().getCanonicalName() + "_" + MDate.toFileFormat(new Date()) + ".csv"); timer = new Timer(true); timer.schedule(new TimerTask() { @Override public void run() { doSave(); } }, 60000, 60000); }
public CfgValue(Object owner, String path, T def) { if (owner instanceof Class) this.owner = ((Class<?>)owner).getCanonicalName(); else this.owner = String.valueOf(owner); this.path = path; this.def = def; MApi.getCfgUpdater().register(this); update(); calling = MSystem.findCalling(4); }
public static void dirtyLog(Object ... string) { if (string == null || !isDirtyTrace()) return; out .println("--- " + Arrays.toString(string)); for (Object s : string) if (s instanceof Throwable) ((Throwable)s).printStackTrace(out); }
@Override public Object execute() throws Exception { IApi s = MApi.get(); if (! (s instanceof KarafMApiImpl)) { System.out.println("Karaf MApi not set"); Class<?> ifc = cl.loadClass(parameters[0]); System.out.println("From Bundle : " + cl.getLoadBundle()); Object obj = MApi.lookup(ifc); if (obj != null) { System.out.println("Owner Bundle: " + FrameworkUtil.getBundle(ifc)); Class<?> ifc = item.getValue(); System.out.println("From Bundle : " + item.getKey() + " " + ifc); Object obj = MApi.lookup(ifc); if (obj != null) { System.out.println(" Owner Bundle: " + FrameworkUtil.getBundle(ifc));
File f = MApi.getFile(IApi.SCOPE.ETC, qName); if (f.exists() && f.isFile()) return f.toURL();
@Override public void onFileChanged(FileWatch fileWatch) { log().d("update cfg properties file",file); load(); MApi.getCfgUpdater().doUpdate(name); }
public MActivator getActivator() { return MApi.lookup(MActivator.class); }
@Override public Object create(Class<?> clazz, Class<?>[] classes, Object[] objects) { if (clazz == CfgManager.class) return MApi.get().getCfgManager(); return null; }