public Map meta() { if (m_meta == null) { try { if (fpod.m_meta != null) { m_meta = (Map)fpod.m_meta; } else { InStream input = new SysInStream(fpod.m_store.read("meta.props")); m_meta = (Map)input.readProps().toImmutable(); input.close(); } } catch (Exception e) { Err.dumpStack(e); m_meta = Sys.m_emptyStrStrMap; } } return(m_meta); }
public Map meta() { if (m_meta == null) { try { if (fpod.m_meta != null) m_meta = (Map)fpod.m_meta; else { InStream input = new SysInStream(fpod.m_store.read("meta.props")); m_meta = (Map)input.readProps().toImmutable(); input.close(); } } catch (Exception e) { Err.dumpStack(e); m_meta = Sys.m_emptyStrStrMap; } } return m_meta; }
private void readPodMeta(FStore.Input input) { // handle sys bootstrap specially using just java.util.Properties string metaName; if ("sys" == m_podName) { Properties props = new Properties(); props.load(input); input.Close(); metaName = props.getProperty("pod.name"); m_podVersion = props.getProperty("pod.version"); m_fcodeVersion = props.getProperty("fcode.version"); m_depends = new Depend[0]; return; } else { SysInStream sysIn = new SysInStream(input); this.m_meta = (Map)sysIn.readProps().toImmutable(); sysIn.close(); metaName = meta("pod.name"); m_podVersion = meta("pod.version"); m_fcodeVersion = meta("fcode.version"); string dependsStr = meta("pod.depends").Trim(); if (dependsStr.Length == 0) m_depends = new Depend[0]; else { string[] toks = dependsStr.Split(';'); m_depends = new Depend[toks.Length]; for (int i=0; i<m_depends.Length; ++i) m_depends[i] = Depend.fromStr(toks[i].Trim()); } } // check meta name matches podName passed to ctor if (m_podName == null) m_podName = metaName; if (m_podName != metaName) throw new System.IO.IOException("Pod name mismatch " + m_podName + " != " + metaName); // sanity checking if (FConst.FCodeVersion != m_fcodeVersion) throw new System.IO.IOException("Invalid fcode version " + m_fcodeVersion); }