/*
Gets the property or field app.hello.world.someProp.
549813
function invokeMemberExpression(memberExpression, app) {
  let exprPath = getPathFromMemberExpression(memberExpression);
  return exprPath.reduce((current, item) => current[item], app);
}
337504
public static Properties getProps(Properties props, String name, Properties defaultProperties) {
        final String propString = props.getProperty(name);
        if (propString == null) return defaultProperties;
        String[] propValues = propString.split(",");
        if (propValues.length < 1) {
            throw new IllegalArgumentException("Illegal format of specifying properties '" + propString + "'");
        }
        Properties properties = new Properties();
        for (int i = 0; i < propValues.length; i++) {
            String[] prop = propValues[i].split("=");
            if (prop.length != 2) throw new IllegalArgumentException("Illegal format of specifying properties '" + propValues[i] + "'");
            properties.put(prop[0], prop[1]);
        }
        return properties;
    }
965293
public String getProperty(String strProperty)
    {
        if ((strProperty == null) || (strProperty.length() == 0))
            return null;
        if (m_propertiesCache == null)
            m_propertiesCache = this.loadProperties();
        return (String)m_propertiesCache.get(strProperty);  // Add code here 
    }
1209886
public String getProperty(String name) {
        BugProperty prop = lookupProperty(name);
        return prop != null ? prop.getValue() : null;
    }
1320834
public Object getValue(Object instance) {
        try {
            return getMethod.invoke(instance);
        } catch (Exception e) {
            throw new PropertyNotFoundException(klass, getType(), fieldName);
        }

    }
399603
private String findProperty( String prop )
    {
        String result = System.getProperty( prop );
        if ( result == null )
        {
            result = mavenProject.getProperties().getProperty( prop );
        }
        return result;
    }
847235
public String getProperty(String strProperty)
    {
        if (this.getParentRecordOwner() != null)
            return this.getParentRecordOwner().getProperty(strProperty);
        return null;
    }
59536
private String getProperty(String name) {
	if (properties != null) {
	    String value = properties.get(name);
	    if (value != null) return value;

	    Iterator<Entry<String, String>> it = properties.entrySet().iterator();
	    Entry<String, String> e;
	    while (it.hasNext()) {
		e = it.next();
		if (name.equalsIgnoreCase(e.getKey())) return e.getValue();
	    }
	}
	return null;
    }
366104
public @CheckForNull PropertyType getPropertyType(@Nonnull Object instance, @Nonnull String field) {
        // in global.jelly, instance==descriptor
        return instance==this ? getGlobalPropertyType(field) : getPropertyType(field);
    }
95840
@Override
    public Application getApplication()
    {
        if (m_application != null)
            return m_application;
        if (this.getApplet() != null)
            if (this.getApplet() != this)
                return ((BaseApplet)this.getApplet()).getApplication();
        return null;
    }
523104
private Object getPropertyValue(Object pObj, String pProperty) {
	
        Method m = null;
        Class[] cl = new Class[0];
	
        try {
            //return Util.getPropertyValue(pObj, pProperty);
	    
            // Find method
            m = pObj.getClass().
                getMethod("get" + StringUtil.capitalize(pProperty), 
                          new Class[0]);
            // Invoke it
            Object result = m.invoke(pObj, new Object[0]);	    
            return result;
	    
        }
        catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
        catch (IllegalAccessException iae) {
            iae.printStackTrace();
        }
        catch (InvocationTargetException ite) {
            ite.printStackTrace();
        }
        return null;
    }
629555
@Override
	public Object getProperty(String propname, Class<?> hint) {
		final String sourceMethod = "getProperty"; //$NON-NLS-1$
		boolean isTraceLogging = log.isLoggable(Level.FINER);
		if (isTraceLogging) {
			log.entering(ConfigImpl.class.getName(), sourceMethod, new Object[]{propname, hint});
		}
		Object result = rawConfig.get(propname, rawConfig);
		if (result != null && result instanceof Scriptable && hint != null) {
			Context.enter();
			try {
				result = Context.jsToJava(result, hint);
			} catch (EvaluatorException e) {
				throw new IllegalArgumentException(e);
			}finally {
				Context.exit();
			}
		}
		if (result == org.mozilla.javascript.Scriptable.NOT_FOUND) {
			result = com.ibm.jaggr.core.config.IConfig.NOT_FOUND;
		} else if (result == Undefined.instance) {
			result = null;
		}
		if (isTraceLogging) {
			log.exiting(ConfigImpl.class.getName(), sourceMethod, result);
		}
		return result;
	}
327458
private static String getProperty(String prefix, String name, String defaultValue) {
        return System.getProperty(prefix + name, defaultValue);
    }
1047404
public static appfwfieldtype get(nitro_service service, String name) throws Exception{
		appfwfieldtype obj = new appfwfieldtype();
		obj.set_name(name);
		appfwfieldtype response = (appfwfieldtype) obj.get_resource(service);
		return response;
	}
594411
@SuppressWarnings({"unused", "WeakerAccess"})
    public Object getProperty(String name) {
        if (!this.config.isPersonalizationEnabled()) return null;
        return getLocalDataStore().getProfileProperty(name);
    }
70291
public String getString() 
    {
        if (this.getField() instanceof PropertiesField)   // Always
            return ((PropertiesField)this.getField()).getProperty(m_strProperty);
        return DBConstants.BLANK;
    }
943786
public String getProperty(String strProperty)
    {
        String strValue = null;
//  Add this code if Task sessions need local properties
        if (m_properties != null)
        {   // Try local properties
            if (m_properties.get(strProperty) != null)
                return m_properties.get(strProperty).toString();
        }
        if (this.getTask() != null)
            if (this.getTask().getApplication() != null)
                if (this.getTask().getApplication().getSystemRecordOwner() != this)
            strValue = this.getTask().getProperty(strProperty);   // Try app
        return strValue;
    }