com.alibaba.fastjson.JSONObject#get ( )源码实例Demo

下面列出了com.alibaba.fastjson.JSONObject#get ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: uReplicator   文件: TestAdminHelper.java
@Test
public void testGetControllerAutobalancing() throws Exception {
    ControllerHelixManager mockHelixManager = EasyMock.createMock(ControllerHelixManager.class);
    AdminHelper helper = new AdminHelper(mockHelixManager);
    Map<String, PriorityQueue<InstanceTopicPartitionHolder>> instanceMap = new HashMap<>();
    PriorityQueue<InstanceTopicPartitionHolder> sjc1aTosjc1Agg1 = new PriorityQueue<>();
    String pipeline = ControllerUtils.getPipelineName("sjc1a", "sjc1-agg1");
    InstanceTopicPartitionHolder ith = new InstanceTopicPartitionHolder("compute9527-sjc1",
        new TopicPartition(pipeline, 0));
    sjc1aTosjc1Agg1.add(ith);
    instanceMap.put(pipeline, sjc1aTosjc1Agg1);
    EasyMock.expect(mockHelixManager.getPipelineToInstanceMap()).andReturn(instanceMap).atLeastOnce();
    EasyMock.expect(mockHelixManager.getControllerAutobalancingStatus("compute9527-sjc1"))
        .andReturn(false);
    EasyMock.replay(mockHelixManager);
    JSONObject status = helper.getControllerAutobalancingStatus();
    Assert.assertEquals(status.size(), 1);
    JSONObject detail = (JSONObject) status.get("compute9527-sjc1");
    Assert.assertEquals(detail.get("autoBalance"), false);
    EasyMock.verify(mockHelixManager);
}
 
源代码2 项目: rebuild   文件: ProtocolFilterParser.java
/**
 * @param content
 * @return
 */
public String parseRef(String content) {
    String[] fieldAndEntity = content.split("\\.");
    if (fieldAndEntity.length != 2 || !MetadataHelper.checkAndWarnField(fieldAndEntity[1], fieldAndEntity[0])) {
        return null;
    }

    Field field = MetadataHelper.getField(fieldAndEntity[1], fieldAndEntity[0]);
    String referenceDataFilter = EasyMeta.valueOf(field).getExtraAttr("referenceDataFilter");

    if (JSONUtils.wellFormat(referenceDataFilter)) {
        JSONObject advFilter = JSON.parseObject(referenceDataFilter);
        if (advFilter.get("items") != null && !advFilter.getJSONArray("items").isEmpty()) {
            return new AdvFilterParser(advFilter).toSqlWhere();
        }
    }
    return null;
}
 
源代码3 项目: yue-library   文件: MapUtils.java
/**
    * 以安全的方式从Map中获取一组数据,组合成一个新的JSONObject
    * @param paramMap 需要从中获取数据的map
    * @param keys 获取的keys
    * @return 结果
    */
public static JSONObject getJSONObject(Map<String, Object> paramMap, String... keys) {
	JSONObject paramJson = new JSONObject(paramMap);
	if (!isContainsOneOfKey(paramJson, keys)) {
		return null;
	}

	JSONObject resultJson = new JSONObject();
	for (String key : keys) {
		Object value = paramJson.get(key);
		if (value != null) {
			resultJson.put(key, value);
		}
	}

	return resultJson;
}
 
源代码4 项目: weixin4j   文件: TagsComponent.java
/**
 * 删除标签
 *
 * @param id 标签Id
 * @throws org.weixin4j.WeixinException 微信操作异常 删除分组异常
 */
public void delete(int id) throws WeixinException {
    //拼接参数
    JSONObject postParam = new JSONObject();
    JSONObject postId = new JSONObject();
    postId.put("id", id);
    postParam.put("tag", postId);
    //创建请求对象
    HttpsClient http = new HttpsClient();
    //调用获取access_token接口
    Response res = http.post("https://api.weixin.qq.com/cgi-bin/tags/delete?access_token=" + weixin.getToken().getAccess_token(), postParam);
    //根据请求结果判定,是否验证成功
    JSONObject jsonObj = res.asJSONObject();
    if (jsonObj != null) {
        if (Configuration.isDebug()) {
            System.out.println("/tags/delete返回json:" + jsonObj.toString());
        }
        Object errcode = jsonObj.get("errcode");
        if (errcode != null && !errcode.toString().equals("0")) {
            //返回异常信息
            throw new WeixinException(getCause(jsonObj.getIntValue("errcode")));
        }
    }
}
 
源代码5 项目: NutzSite   文件: WeixinToken.java
@Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        log.info("WeixinToken Job 定时任务启动了");
        //封装请求数据
        String params = "grant_type=client_credential&appid="+ MpConfig.appID +"&secret="+ MpConfig.appSecret;
        //发送GET请求
        String data = HttpUtils.sendGet("https://api.weixin.qq.com/cgi-bin/token", params);
        // 解析相应内容(转换成json对象)
        JSONObject jsonObject = JSON.parseObject(data);
//        拿到accesstoken
        String accesstoken = (String) jsonObject.get("access_token");
//        System.out.println(accesstoken);
        Config config =configService.fetch("token");
        if(config==null){
            config =new Config();
            config.setConfigKey("token");
            config.setConfigValue(accesstoken);
            configService.insert(config);
        }else {
            config.setConfigValue(accesstoken);
            configService.update(config);
        }

    }
 
源代码6 项目: wd.java   文件: Session.java
public void createSession(JSONObject jsonObj) throws Exception {

        JSONObject desiredCapabilities = jsonObj.getJSONObject("desiredCapabilities");
        if (desiredCapabilities.get("host") != null) {
            String host = (String) desiredCapabilities.get("host");
            this.driver.setRemoteHost(host);
        }

        if (desiredCapabilities.get("port") != null) {
            int port = (int) desiredCapabilities.get("port");
            this.driver.setRemotePort(port);
        }

        if (System.getenv("MACACA_UDID") != null) {
            jsonObj.put("udid", System.getenv("MACACA_UDID"));
        }

        if (System.getenv("MACACA_APP_NAME") != null) {
            jsonObj.put("package", System.getenv("MACACA_APP_NAME"));
        }

        JSONObject response = (JSONObject) utils.request("POST", DriverCommand.CREATE_SESSION, jsonObj);
        String sessionId = (String) response.get("sessionId");
        this.driver.setSessionId(sessionId);

        this.driver.setCapabilities(response);
    }
 
源代码7 项目: PeonyFramwork   文件: ConfigService.java
public Object getFieldVerifyDef(String fileName, String fieldName) {
    if(!configVerifyDef.containsKey(fileName)) {
        return null;
    }
    JSONObject fileDef = configVerifyDef.getJSONObject(fileName);
    if(!fileDef.containsKey(fieldName)) {
        return null;
    }
    return fileDef.get(fieldName);
}
 
/**
     * 当修改数据时,查询instance表中的数据 自动保存删除数据到business中
     *
     * @param businessOrgCommunity 隶属小区信息
     */
    protected void autoSaveDelBusinessOrgCommunity(Business business, JSONObject businessOrgCommunity) {
//自动插入DEL
        Map info = new HashMap();
        info.put("orgCommunityId", businessOrgCommunity.getString("orgCommunityId"));
        info.put("statusCd", StatusConstant.STATUS_CD_VALID);
        List<Map> currentOrgCommunityInfos = getOrgCommunityServiceDaoImpl().getOrgCommunityInfo(info);
        if (currentOrgCommunityInfos == null || currentOrgCommunityInfos.size() != 1) {
            throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "未找到需要修改数据信息,入参错误或数据有问题,请检查" + info);
        }

        Map currentOrgCommunityInfo = currentOrgCommunityInfos.get(0);

        currentOrgCommunityInfo.put("bId", business.getbId());

        currentOrgCommunityInfo.put("orgName", currentOrgCommunityInfo.get("org_name"));
        currentOrgCommunityInfo.put("operate", currentOrgCommunityInfo.get("operate"));
        currentOrgCommunityInfo.put("communityName", currentOrgCommunityInfo.get("community_name"));
        currentOrgCommunityInfo.put("communityId", currentOrgCommunityInfo.get("community_id"));
        currentOrgCommunityInfo.put("storeId", currentOrgCommunityInfo.get("store_id"));
        currentOrgCommunityInfo.put("orgId", currentOrgCommunityInfo.get("org_id"));
        currentOrgCommunityInfo.put("orgCommunityId", currentOrgCommunityInfo.get("org_community_id"));


        currentOrgCommunityInfo.put("operate", StatusConstant.OPERATE_DEL);
        getOrgCommunityServiceDaoImpl().saveBusinessOrgCommunityInfo(currentOrgCommunityInfo);

        for (Object key : currentOrgCommunityInfo.keySet()) {
            if (businessOrgCommunity.get(key) == null) {
                businessOrgCommunity.put(key.toString(), currentOrgCommunityInfo.get(key));
            }
        }
    }
 
源代码9 项目: sagacity-sqltoy   文件: ElasticSearchUtils.java
/**
 * @TODO 提取数据加入集合
 * @param result
 * @param rowJson
 * @param realFields
 */
private static void addRow(List result, JSONObject rowJson, String[] realFields) {
	Object cell;
	List row = new ArrayList();
	for (String str : realFields) {
		cell = rowJson.get(str);
		if (cell instanceof JSONObject) {
			row.add(((JSONObject) cell).get("value"));
		} else {
			row.add(cell);
		}
	}
	result.add(row);
}
 
源代码10 项目: ES-Fastloader   文件: TypeDefineOperator.java
/**
 * 是否需要忽略mapping优化
 * @return
 */
public static boolean isNotOptimze(JSONObject define) {
    if (define.containsKey(TYPE_STR)) {
        String v = define.getString(TYPE_STR);
        if (NESTED_STR.equalsIgnoreCase(v) || OBJECT_STR.equalsIgnoreCase(v)) {
            return true;
        }
    } else if (define.containsKey(FIELDS_STR)) {
        //                    \"artifact\": {\n"
        //                              \"type\": \"string\",\n"
        //                              \"fields\": {\n"
        //                                \"raw\": {\n"
        //                                  \"ignore_above\": 1024,\n"
        //                                  \"index\": \"not_analyzed\",\n"
        //                                   \"type\": \"string\"\n"
        //                                }\n"
        //                              }\n"
        if (define.get(FIELDS_STR) instanceof JSONObject) {
            JSONObject fieldsObj = define.getJSONObject(FIELDS_STR);
            if (fieldsObj.containsKey(RAW_STR)) {
                return true;
            }
        }
    }

    return false;
}
 
/**
     * 当修改数据时,查询instance表中的数据 自动保存删除数据到business中
     *
     * @param businessOwnerAppUser 绑定业主信息
     */
    protected void autoSaveDelBusinessOwnerAppUser(Business business, JSONObject businessOwnerAppUser) {
//自动插入DEL
        Map info = new HashMap();
        info.put("appUserId", businessOwnerAppUser.getString("appUserId"));
        info.put("statusCd", StatusConstant.STATUS_CD_VALID);
        List<Map> currentOwnerAppUserInfos = getOwnerAppUserServiceDaoImpl().getOwnerAppUserInfo(info);
        if (currentOwnerAppUserInfos == null || currentOwnerAppUserInfos.size() != 1) {
            throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "未找到需要修改数据信息,入参错误或数据有问题,请检查" + info);
        }

        Map currentOwnerAppUserInfo = currentOwnerAppUserInfos.get(0);

        currentOwnerAppUserInfo.put("bId", business.getbId());

        currentOwnerAppUserInfo.put("idCard", currentOwnerAppUserInfo.get("id_card"));
        currentOwnerAppUserInfo.put("openId", currentOwnerAppUserInfo.get("open_id"));
        currentOwnerAppUserInfo.put("link", currentOwnerAppUserInfo.get("link"));
        currentOwnerAppUserInfo.put("remark", currentOwnerAppUserInfo.get("remark"));
        currentOwnerAppUserInfo.put("operate", currentOwnerAppUserInfo.get("operate"));
        currentOwnerAppUserInfo.put("appUserName", currentOwnerAppUserInfo.get("app_user_name"));
        currentOwnerAppUserInfo.put("communityName", currentOwnerAppUserInfo.get("community_name"));
        currentOwnerAppUserInfo.put("state", currentOwnerAppUserInfo.get("state"));
        currentOwnerAppUserInfo.put("appUserId", currentOwnerAppUserInfo.get("app_user_id"));
        currentOwnerAppUserInfo.put("communityId", currentOwnerAppUserInfo.get("community_id"));
        currentOwnerAppUserInfo.put("appTypeCd", currentOwnerAppUserInfo.get("app_type_cd"));
        currentOwnerAppUserInfo.put("memberId", currentOwnerAppUserInfo.get("member_id"));
        currentOwnerAppUserInfo.put("userId", currentOwnerAppUserInfo.get("user_id"));
        currentOwnerAppUserInfo.put("appType", currentOwnerAppUserInfo.get("app_type"));


        currentOwnerAppUserInfo.put("operate", StatusConstant.OPERATE_DEL);
        getOwnerAppUserServiceDaoImpl().saveBusinessOwnerAppUserInfo(currentOwnerAppUserInfo);

        for (Object key : currentOwnerAppUserInfo.keySet()) {
            if (businessOwnerAppUser.get(key) == null) {
                businessOwnerAppUser.put(key.toString(), currentOwnerAppUserInfo.get(key));
            }
        }
    }
 
源代码12 项目: ES-Fastloader   文件: TypeDefineOperator.java
/**
 * 是否需要忽略mapping优化
 * @return
 */
public static boolean isNotOptimze(JSONObject define) {
    if (define.containsKey(TYPE_STR)) {
        String v = define.getString(TYPE_STR);
        if (NESTED_STR.equalsIgnoreCase(v) || OBJECT_STR.equalsIgnoreCase(v)) {
            return true;
        }
    } else if (define.containsKey(FIELDS_STR)) {
        //                    \"artifact\": {\n"
        //                              \"type\": \"string\",\n"
        //                              \"fields\": {\n"
        //                                \"raw\": {\n"
        //                                  \"ignore_above\": 1024,\n"
        //                                  \"index\": \"not_analyzed\",\n"
        //                                   \"type\": \"string\"\n"
        //                                }\n"
        //                              }\n"
        if (define.get(FIELDS_STR) instanceof JSONObject) {
            JSONObject fieldsObj = define.getJSONObject(FIELDS_STR);
            if (fieldsObj.containsKey(RAW_STR)) {
                return true;
            }
        }
    }

    return false;
}
 
源代码13 项目: dble   文件: CacheserviceResponse.java
@Override
public void notifyProcess(KvBean configValue) throws Exception {
    LOGGER.info("notify " + configValue.getKey() + " " + configValue.getValue() + " " + configValue.getChangeType());
    KvBean lock = ClusterHelper.getKV(ClusterPathUtil.getConfChangeLockPath());
    if (ClusterGeneralConfig.getInstance().getValue(ClusterParamCfg.CLUSTER_CFG_MYID).equals(lock.getValue())) {
        return;
    }
    if (configValue.getValue() != null && !"".equals(configValue.getValue())) {
        JSONObject jsonObj = JSONObject.parseObject(configValue.getValue());
        if (jsonObj.get(PROPERTIES_CACHESERVER_NAME) != null) {
            String sequenceConf = jsonObj.getString(PROPERTIES_CACHESERVER_NAME);
            ConfFileRWUtils.writeFile(PROPERTIES_CACHESERVER_NAME + PROPERTIES_SUFFIX, sequenceConf);
        }
    }
}
 
源代码14 项目: notes   文件: ProfessorControler.java
public List<Map> per(String url){
        logger.info("[INFO] read message");
        if (url == null){
            url = "https://api.zsxq.com/v1.10/groups/222454121411/topics?scope=by_owner&count=20";
        }
        //问答 https://api.zsxq.com/v1.10/groups/222454121411/topics?scope=by_owner&count=20。
        JSONObject jsonObject = professorService.professorService(url);
        Map resp_date =(Map) jsonObject.get("resp_data");
        Object topics = resp_date.get("topics");

        List<Map> maps = JSON.parseArray(JSON.toJSONString(topics), Map.class);
        if (maps.size()==20){
            String create_time = (String) maps.get(19).get("create_time");
            String substring = StringUtils.substring(create_time, create_time.length() - 8, create_time.length() - 5);
            Integer i = Integer.parseInt(substring) - 1;
            String cont = i.toString();
            if (i<100){
                cont = "0" + cont;
            }
            String join = StringUtils.join(StringUtils.substring(create_time, 0, create_time.length() - 8), cont,"+0800");
            try {
//                String s = URLEncoder.encode(join, "UTF-8").toLowerCase();
//                String replace = StringUtils.replace(s, "t", "T", 1);
                url = "https://api.zsxq.com/v1.10/groups/222454121411/topics?scope=by_owner&count=20" +"&end_time="+join;
                List<Map> start = this.start(url);
                if (start == null){
                    return maps;
                }
                maps.addAll(start);
            } catch (Exception e) {
                logger.error("[ERROR] 转移错误",e);

            }
        }else {
            return maps;
        }

        return maps;
    }
 
源代码15 项目: sagacity-sqltoy   文件: ElasticSearchUtils.java
/**
 * @todo 提取实际json对象
 * @param rowJson
 * @param realFields
 * @return
 */
private static Object getRealJSONObject(JSONObject rowJson, String[] realFields, boolean isSuggest) {
	Object result = rowJson.get("_source");
	if (result != null && result instanceof JSONObject) {
		return result;
	}
	result = rowJson.get("buckets");
	if (result != null) {
		if (result instanceof JSONArray) {
			return result;
		} else if (result instanceof JSONObject) {
			return getRealJSONObject((JSONObject) result, realFields, isSuggest);
		}
	}
	result = rowJson.get("hits");
	if (result != null) {
		if (result instanceof JSONArray) {
			return result;
		} else if (result instanceof JSONObject) {
			return getRealJSONObject((JSONObject) result, realFields, isSuggest);
		}
	}

	// suggest模式
	if (isSuggest) {
		result = rowJson.get("options");
		if (result != null) {
			if (result instanceof JSONArray) {
				return result;
			} else if (result instanceof JSONObject) {
				return getRealJSONObject((JSONObject) result, realFields, isSuggest);
			}
		}
	}
	if (rowJson.containsKey("key") && rowJson.containsKey("doc_count")) {
		if (isRoot(rowJson, realFields)) {
			return rowJson;
		}
		Object[] keys = rowJson.keySet().toArray();
		for (Object key : keys) {
			if (!key.equals("key") && !key.equals("doc_count")) {
				result = rowJson.get(key.toString());
				if (result instanceof JSONObject) {
					return getRealJSONObject((JSONObject) result, realFields, isSuggest);
				}
				return result;
			}
		}
	} else if (rowJson.keySet().size() == 1) {
		// 单一取值
		if (rowJson.keySet().iterator().next().equalsIgnoreCase(realFields[0]) && realFields.length == 1) {
			return rowJson;
		}
		result = rowJson.values().iterator().next();
		if (result instanceof JSONObject) {
			JSONObject tmp = (JSONObject) result;
			// {value:xxx} 模式
			if (tmp.keySet().size() == 1 && tmp.keySet().iterator().next().toLowerCase().equals("value")) {
				return rowJson;
			}
			return getRealJSONObject(tmp, realFields, isSuggest);
		} else if (result instanceof JSONArray) {
			return result;
		}
	}
	return rowJson;
}
 
源代码16 项目: RCT   文件: AnalyzerStatusThread.java
@SuppressWarnings("unchecked")
private void handleAnalyzerStatusMessage(JSONObject message) {
	String analyzeIP = message.getString("ip");
	if (message.get("scheduleInfo") == null || "".equals(message.getString("scheduleInfo").trim())) {
		return;
	}
	JSONObject scheduleInfo = message.getJSONObject("scheduleInfo");
	Long scheduleID = scheduleInfo.getLong("scheduleID");
	Map<String, Map<String, String>> rdbAnalyzeStatus = (Map<String, Map<String, String>>) message
			.get("rdbAnalyzeStatus");
	List<ScheduleDetail> scheduleDetails = new ArrayList<>();

	Map<String, String> newScheduleDtailsInstance = new HashMap<>();

	for (Entry<String, Map<String, String>> entry : rdbAnalyzeStatus.entrySet()) {
		String port = entry.getKey();
		if (entry.getValue() == null) {
			continue;
		}
		Map<String, String> analyzeInfo = entry.getValue();

		AnalyzeStatus status = AnalyzeStatus.fromString(analyzeInfo.get("status"));
		String count = analyzeInfo.get("count");
		String instance = analyzeIP + ":" + port;
		if (count == null || count.equals("")) {
			count = "0";
		}
		ScheduleDetail s = new ScheduleDetail(scheduleID, instance, Integer.parseInt(count), true, status);
		scheduleDetails.add(s);
		newScheduleDtailsInstance.put(instance, instance);
	}
	// 将新旧信息合并
	List<ScheduleDetail> oldScheduleDetails = AppCache.scheduleDetailMap.get(rdbAnalyze.getId());
	List<ScheduleDetail> oldNeedScheduleDetails = new ArrayList<>();

	if (oldScheduleDetails != null && oldScheduleDetails.size() > 0) {
		for (ScheduleDetail detail : oldScheduleDetails) {
			if (newScheduleDtailsInstance.containsKey(detail.getInstance())) {
				continue;
			}
			oldNeedScheduleDetails.add(detail);
		}
		scheduleDetails.addAll(oldNeedScheduleDetails);
	}

	AppCache.scheduleDetailMap.put(rdbAnalyze.getId(), scheduleDetails);
}
 
源代码17 项目: database-transform-tool   文件: ManageTable.java
/**
 * @decription 数据同步(Greenplum-->MongoDB)
 * @author yi.zhang
 * @time 2017年8月4日 下午5:26:59
 * @param source	数据源
 * @param target	目标库
 * @param mapper	表映射
 * @param filter_columns	字段过滤
 */
protected void greenplum2mongodb(Config source,Config target,Map<String,String> mapper,List<String> filter_columns){
	if(source==null||target==null){
		return;
	}
	GreenplumFactory factory = new GreenplumFactory();
	factory.init(source.getServers(), source.getDatabase(), source.getSchema(), source.getUsername(), source.getPassword(), true, 100, 10);
	Map<String,String> mapping = new HashMap<String,String>();
	if(mapper==null||mapper.size()==0){
		List<String> tables = factory.queryTables();
		for (String table : tables) {
			mapping.put(table, table);
		}
	}else{
		mapping = mapper;
	}
	MongoDBFactory tfactory = new MongoDBFactory();
	tfactory.init(target.getServers(), target.getDatabase(), target.getSchema(), target.getUsername(), target.getPassword());
	List<String> stables = factory.queryTables();
	List<String> ttables = tfactory.queryTables();
	for(String stable : mapping.keySet()){
		String ttable = mapping.get(stable);
		if(!(stables.contains(stable)&&ttables.contains(ttable))){
			System.out.println("--数据表["+stable+"]或目标表["+ttable+"]不存在--");
			continue;
		}
		Map<String,String> reflect = new LinkedHashMap<String,String>();
		Map<String, String> scolumns = factory.queryColumns(stable);
		Map<String, String> tcolumns = tfactory.queryColumns(ttable);
		if(scolumns==null||scolumns.isEmpty()||tcolumns==null||tcolumns.isEmpty()){
			System.out.println("--数据表["+stable+"]或目标表["+ttable+"]无合适字段--");
			continue;
		}
		for(String scolumn:scolumns.keySet()){
			String s_column = scolumn.trim().toLowerCase().replaceAll("(_+?|-+?)", "");
			if(filter_columns!=null&&(filter_columns.contains(scolumn)||filter_columns.contains(s_column))){
				continue;
			}
			for(String tcolumn:tcolumns.keySet()){
				String t_column = tcolumn.trim().toLowerCase().replaceAll("(_+?|-+?)", "");
				if(filter_columns!=null&&(filter_columns.contains(tcolumn)||filter_columns.contains(t_column))){
					continue;
				}
				if(scolumn.equalsIgnoreCase(tcolumn)||scolumn.equalsIgnoreCase(t_column)||s_column.equalsIgnoreCase(tcolumn)||s_column.equalsIgnoreCase(t_column)){
					reflect.put(scolumn, tcolumn);
				}
			}
		}
		if(reflect.isEmpty()){
			System.out.println("--数据表["+stable+"]或目标表["+ttable+"]无对应字段--");
			continue;
		}
		String ssql = "select "+StringUtils.join(reflect.keySet(), ",")+" from "+stable;
		List<?> datas = factory.executeQuery(ssql, null);
		System.out.println("--数据表["+stable+"]数据量:"+datas.size());
		for (Object data : datas) {
			Map<String,Object> tdata = new LinkedHashMap<String,Object>();
			JSONObject json = (JSONObject)data;
			for(String key:json.keySet()){
				Object value = json.get(key);
				if(!key.matches("(\\w+)")){
					continue;
				}
				tdata.replace(reflect.get(key), value);
			}
			tfactory.save(ttable, tdata);
		}
	}
}
 
源代码18 项目: OpenFalcon-SuitAgent   文件: ElasticSearchPlugin.java
/**
 * 插件监控的服务正常运行时的內建监控报告
 * 若有些特殊的监控值无法用配置文件进行配置监控,可利用此方法进行硬编码形式进行获取
 * 注:此方法只有在监控对象可用时,才会调用,并加入到监控值报告中,一并上传
 *
 * @param metricsValueInfo 当前的JMXMetricsValueInfo信息
 * @return
 */
@Override
public Collection<FalconReportObject> inbuiltReportObjectsForValid(JMXMetricsValueInfo metricsValueInfo) {
    // 指定配置中配置的监控值
    int pid = metricsValueInfo.getJmxConnectionInfo().getPid();
    Set<FalconReportObject> result = new HashSet<>();
    String configPath = pluginDir + File.separator + metricsConfFile;
    try {
        String selfNodeId = ElasticSearchConfig.getNodeId(pid);
        String selfNodeName = ElasticSearchConfig.getNodeName(pid);
        if(StringUtils.isEmpty(selfNodeId) || StringUtils.isEmpty(selfNodeName)){
            log.error("获取es:{} 的服务信息失败",metricsValueInfo.getJmxConnectionInfo().getName());
        }else{
            HashMap<String,Object> confMap = Yaml.loadType(new FileInputStream(configPath),HashMap.class);
            if(confMap != null){
                for (String key : confMap.keySet()) {
                    String urlSuffix = key.substring(0,key.lastIndexOf('.'));
                    String url = ElasticSearchConfig.getConnectionUrl(pid) + "/" + urlSuffix;
                    Map<String,String> config = (Map<String, String>) confMap.get(key);

                    String method = config.get("method");
                    String metrics = config.get("metrics");
                    String valuePath = config.get("valuePath").replace("{selfNodeId}",selfNodeId).replace("{selfNodeName}",selfNodeName);
                    String counterType = config.get("counterType");
                    String valueExpress = config.get("valueExpress");

                    String tag = config.get("tag");
                    if("get".equalsIgnoreCase(method)){
                        String responseText = HttpUtil.get(url).getResult();
                        JSONObject jsonObject = JSONObject.parseObject(responseText);
                        if(jsonObject != null){
                            String[] paths = valuePath.split("\\.");
                            for(int i=0;i<paths.length;i++){
                                if(i == paths.length -1){
                                    Object value = jsonObject.get(paths[i]);
                                    if(value instanceof JSONObject){
                                        log.error("elasticSearch http获取值异常,检查{}路径(valuePath)是否为叶子节点:{}",key,config.get("valuePath"));
                                    }else{
                                        //服务的标识后缀名
                                        String name = metricsValueInfo.getJmxConnectionInfo().getName();

                                        FalconReportObject falconReportObject = new FalconReportObject();
                                        MetricsCommon.setReportCommonValue(falconReportObject,step);
                                        falconReportObject.setTimestamp(metricsValueInfo.getTimestamp());
                                        falconReportObject.setMetric(MetricsCommon.getMetricsName(metrics));

                                        falconReportObject.setValue(String.valueOf(executeJsExpress(valueExpress,value)));

                                        falconReportObject.setCounterType(CounterType.valueOf(counterType));

                                        falconReportObject.appendTags(MetricsCommon.getTags(name,this,serverName(), MetricsType.HTTP_URL_CONF)).
                                                appendTags(tag);

                                        result.add(falconReportObject);
                                    }
                                }else{
                                    jsonObject = jsonObject.getJSONObject(paths[i]);
                                }
                            }
                        }
                    }
                }
            }
        }
    } catch (IOException e) {
        log.error("elasticSearch监控值获取发生异常",e);
    }

    return result;
}
 
源代码19 项目: weixin4j   文件: MessageComponent.java
/**
 * 发送模板消息(带跳转小程序或链接)
 *
 * <p>
 * 注:url和miniprogram都是非必填字段,若都不传则模板无跳转;若都传,会优先跳转至小程序。开发者可根据实际需要选择其中一种跳转方式即可。当用户的微信客户端版本不支持跳小程序时,将会跳转至url。</p>
 *
 * @param openid 接收者
 * @param templateId 模板消息ID
 * @param datas 模板数据
 * @param miniprogram 跳小程序所需数据,不需跳小程序可不用传该数据
 * @param url 模板跳转链接
 * @throws org.weixin4j.WeixinException 微信操作异常
 */
public void sendTemplateMessage(String openid, String templateId, List<TemplateData> datas, Miniprogram miniprogram, String url) throws WeixinException {
    //内部业务验证
    if (openid == null || openid.equals("")) {
        throw new IllegalStateException("openid can not be null or empty");
    }
    if (templateId == null || templateId.equals("")) {
        throw new IllegalStateException("templateId can not be null or empty");
    }
    if (datas == null || datas.isEmpty()) {
        throw new IllegalStateException("datas can not be null or empty");
    }
    JSONObject json = new JSONObject();
    json.put("touser", openid);
    json.put("template_id", templateId);
    //添加模板跳转链接
    if (url != null && !url.equals("")) {
        json.put("url", url);
    }
    //添加小程序
    if (miniprogram != null) {
        JSONObject program = new JSONObject();
        program.put("appid", miniprogram.getAppid());
        program.put("pagepath", miniprogram.getPagepath());
        json.put("miniprogram", program);
    }
    //添加模板数据
    JSONObject data = new JSONObject();
    for (TemplateData templateData : datas) {
        JSONObject dataContent = new JSONObject();
        dataContent.put("value", templateData.getValue());
        dataContent.put("color", templateData.getColor());
        data.put(templateData.getKey(), dataContent);
    }
    json.put("data", data);
    //创建请求对象
    HttpsClient http = new HttpsClient();
    Response res = http.post("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + weixin.getToken().getAccess_token(), json);
    //根据请求结果判定,是否验证成功
    JSONObject jsonObj = res.asJSONObject();
    if (jsonObj != null) {
        if (Configuration.isDebug()) {
            System.out.println("sendTemplateMessage返回json:" + jsonObj.toString());
        }
        Object errcode = jsonObj.get("errcode");
        if (errcode != null && !errcode.toString().equals("0")) {
            //返回异常信息
            throw new WeixinException(getCause(jsonObj.getIntValue("errcode")));
        }
    }
}
 
源代码20 项目: database-transform-tool   文件: ManageTable.java
/**
	 * @decription 数据同步([MySQL|SQL Server|Oracle]-->[Cassandra])
	 * @author yi.zhang
	 * @time 2017年8月4日 下午5:26:59
	 * @param source	数据源
	 * @param target	目标库
	 * @param mapper	表映射
	 * @param filter_columns	字段过滤
	 */
	protected void sql2cassandra(Config source,Config target,Map<String,String> mapper,List<String> filter_columns){
		if(source==null||target==null){
			return;
		}
		JDBCFactory factory = new JDBCFactory();
		String driverName=null,url = null;
		if(source.getType()==3.1){//MySQL
			driverName="com.mysql.jdbc.Driver";
			url = "jdbc:mysql://"+source.getServers()+(source.getPort()>0?":"+source.getPort():"")+"/"+source.getDatabase()+"?useUnicode=true&characterEncoding=UTF8";
		}
		if(source.getType()==3.2){//SQL Server
			driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
			url = "jdbc:microsoft://"+source.getServers()+(source.getPort()>0?":"+source.getPort():"")+";database="+source.getDatabase()+";encrypt=true;trustServerCertificate=false;useUnicode=true;characterEncoding=UTF8";
		}
		if(source.getType()==3.3){//Oracle
			driverName="oracle.jdbc.driver.OracleDriver";
			url = "jdbc:oracle:thin:@"+source.getServers()+(source.getPort()>0?":"+source.getPort():"")+":"+source.getDatabase();
		}
		factory.init(driverName, url,source.getUsername(), source.getPassword(), true, 100, 10);
		Map<String,String> mapping = new HashMap<String,String>();
		if(mapper==null||mapper.size()==0){
			List<String> tables = factory.queryTables();
			for (String table : tables) {
				mapping.put(table, table);
			}
		}else{
			mapping = mapper;
		}
		CassandraFactory tfactory = new CassandraFactory();
		tfactory.init(target.getServers(), target.getKeyspace(), target.getUsername(), target.getPassword());
		List<String> stables = factory.queryTables();
//		List<String> ttables = tfactory.queryTables();
		for(String stable : mapping.keySet()){
			String ttable = mapping.get(stable);
			if(!(stables.contains(stable))){
				System.out.println("--数据表["+stable+"]或目标表["+ttable+"]不存在--");
				continue;
			}
			Map<String,String> reflect = new LinkedHashMap<String,String>();
			Map<String, String> scolumns = factory.queryColumns(stable);
			Map<String, String> tcolumns = tfactory.queryColumns(ttable);
			if(scolumns==null||scolumns.isEmpty()||tcolumns==null||tcolumns.isEmpty()){
				System.out.println("--数据表["+stable+"]或目标表["+ttable+"]无合适字段--");
				continue;
			}
			for(String scolumn:scolumns.keySet()){
				String s_column = scolumn.trim().toLowerCase().replaceAll("(_+?|-+?)", "");
				if(filter_columns!=null&&(filter_columns.contains(scolumn)||filter_columns.contains(s_column))){
					continue;
				}
				for(String tcolumn:tcolumns.keySet()){
					String t_column = tcolumn.trim().toLowerCase().replaceAll("(_+?|-+?)", "");
					if(filter_columns!=null&&(filter_columns.contains(tcolumn)||filter_columns.contains(t_column))){
						continue;
					}
					if(scolumn.equalsIgnoreCase(tcolumn)||scolumn.equalsIgnoreCase(t_column)||s_column.equalsIgnoreCase(tcolumn)||s_column.equalsIgnoreCase(t_column)){
						reflect.put(scolumn, tcolumn);
					}
				}
			}
			if(reflect.isEmpty()){
				System.out.println("--数据表["+stable+"]或目标表["+ttable+"]无对应字段--");
				continue;
			}
			String ssql = "select "+StringUtils.join(reflect.keySet(), ",")+" from "+stable;
			List<?> datas = factory.executeQuery(ssql, null);
			System.out.println("--数据表["+stable+"]数据量:"+datas.size());
			for (Object data : datas) {
				Map<String,Object> tdata = new LinkedHashMap<String,Object>();
				JSONObject json = (JSONObject)data;
				for(String key:json.keySet()){
					Object value = json.get(key);
					if(value instanceof Date){
						value = DateUtil.formatDateTimeStr((Date)value);
					}
					if(value instanceof String){
						value = "\""+json.getString(key)+"\"";
					}
					tdata.replace(reflect.get(key), value);
				}
				String sql = "insert into "+ttable+"("+StringUtils.join(tdata.keySet(), ",")+")values("+StringUtils.join(tdata.values(), ",")+")";
				tfactory.executeUpdate(sql);
			}
		}
	}