bool EclCmdCommon::finalizeOptions(IProperties *globals) { extractEclCmdOption(optServer, globals, ECLOPT_SERVER_ENV, ECLOPT_SERVER_INI, ECLOPT_SERVER_DEFAULT, NULL); extractEclCmdOption(optPort, globals, ECLOPT_PORT_ENV, ECLOPT_PORT_INI, ECLOPT_PORT_DEFAULT, NULL); extractEclCmdOption(optUsername, globals, ECLOPT_USERNAME_ENV, ECLOPT_USERNAME_INI, NULL, NULL); extractEclCmdOption(optPassword, globals, ECLOPT_PASSWORD_ENV, ECLOPT_PASSWORD_INI, NULL, NULL); if (!optVerbose) { Owned<ILogMsgFilter> filter = getCategoryLogMsgFilter(MSGAUD_user, MSGCLS_error); queryLogMsgManager()->changeMonitorFilter(queryStderrLogMsgHandler(), filter); } return true; }
bool extractEclCmdOption(unsigned & option, IProperties * globals, const char * envName, const char * propertyName, unsigned defval) { StringBuffer temp; bool ret = extractEclCmdOption(temp, globals, envName, propertyName, NULL, NULL); option = (ret) ? strtoul(temp.str(), NULL, 10) : defval; return ret; }
bool extractEclCmdOption(bool & option, IProperties * globals, const char * envName, const char * propertyName, bool defval) { StringBuffer temp; bool ret = extractEclCmdOption(temp, globals, envName, propertyName, defval ? "1" : "0", NULL); option=(streq(temp.str(),"1")||strieq(temp.str(),"true")); return ret; }
bool extractEclCmdOption(StringAttr & option, IProperties * globals, const char * envName, const char * propertyName, const char * defaultPrefix, const char * defaultSuffix) { if (option) return true; StringBuffer temp; bool ret = extractEclCmdOption(temp, globals, envName, propertyName, defaultPrefix, defaultSuffix); option.set(temp.str()); return ret; }
virtual bool finalizeOptions(IProperties *globals) { if (!EclCmdCommon::finalizeOptions(globals)) return false; if (!activateSet) extractEclCmdOption(optActivate, globals, ECLOPT_ACTIVATE_ENV, ECLOPT_ACTIVATE_INI, false); if (optObj.value.isEmpty()) { fprintf(stderr, "\nMust specify a WUID, Archive, or shared object to publish\n"); return false; } if (optObj.type==eclObjTypeUnknown) { fprintf(stderr, "\nCan't determine content type of argument %s\n", optObj.value.sget()); return false; } if (optObj.type==eclObjSource) { fprintf(stderr, "\nPublishing ECL source directly is not yet supported\n"); return false; } if (optObj.type==eclObjArchive) { if (optCluster.isEmpty()) { fprintf(stderr, "\nCluster must be specified when publishing an ECL Archive\n"); return false; } if (optName.isEmpty()) { fprintf(stderr, "\nQuery name must be specified when publishing an ECL Archive\n"); return false; } } return true; }