当前位置: 首页>>代码示例>>Java>>正文


Java EPStatementObjectModel.getFromClause方法代码示例

本文整理汇总了Java中com.espertech.esper.client.soda.EPStatementObjectModel.getFromClause方法的典型用法代码示例。如果您正苦于以下问题:Java EPStatementObjectModel.getFromClause方法的具体用法?Java EPStatementObjectModel.getFromClause怎么用?Java EPStatementObjectModel.getFromClause使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.espertech.esper.client.soda.EPStatementObjectModel的用法示例。


在下文中一共展示了EPStatementObjectModel.getFromClause方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: parseRawStreams

import com.espertech.esper.client.soda.EPStatementObjectModel; //导入方法依赖的package包/类
public Collection<RawStream> parseRawStreams() throws Exception{
	TreeMap<String,RawStream> rsMap=new TreeMap<String,RawStream>();
	EPStatementObjectModel som=epService.getEPAdministrator().compileEPL(epl);
	FromClause fc=som.getFromClause();
	for(com.espertech.esper.client.soda.Stream s: fc.getStreams()){
		if(s instanceof com.espertech.esper.client.soda.FilterStream){
			com.espertech.esper.client.soda.FilterStream fs=(com.espertech.esper.client.soda.FilterStream)s;
			String eventTypeName=fs.getFilter().getEventTypeName();
			for(RawStream rs: rawStreamList){
				if(rs.getEvent().getName().equals(eventTypeName)){
					rsMap.put(eventTypeName, rs);
					break;
				}
			}
		}
		else{
			throw new RuntimeException("not implemented yet");
		}
	}
	return rsMap.values();
}
 
开发者ID:HoratiusTang,项目名称:EsperDist,代码行数:22,代码来源:Instance.java

示例2: process

import com.espertech.esper.client.soda.EPStatementObjectModel; //导入方法依赖的package包/类
@Override
public StatementAnnotationInfo process(String statement,
		EngineMetadata engineAnntMetadata,
		Map<String, AnnotationConfiguration> annotConfigMap,
		StatementAnnotationInfo stmtAnntInfo,
		Collection<EventSink> registeredSinkList) {

	Map<String, List<AnnotationPart>> partsMap = ((EsperEngineAnnotationMetadata) engineAnntMetadata)
			.getAnnotationPartsMap();
	EPStatementObjectModel model = ((EsperEngineAnnotationMetadata) engineAnntMetadata)
			.getStatementObjectModel();

	List<AnnotationPart> outputToAnnotationParts = partsMap
			.get(OutputTo.class.getSimpleName());
	String strParsedEventStream = null;
	OutputToAnnotationMetadata metadata = new OutputToAnnotationMetadata();

	FromClause fc = model.getFromClause();
	if (fc != null && fc.getStreams().size() == 1) {
		Matcher matcher = FROM_STREAM.matcher(statement);
		if (matcher.find()) {
			String strFoundStream = matcher.group(1);
			if (strFoundStream != null)
				strParsedEventStream = strFoundStream;
		}
	}

	for (AnnotationPart part : outputToAnnotationParts) {
		List<AnnotationAttribute> attributes = part.getAttributes();
		if (attributes.size() > 0) {
			String[] aSinks = ((String) attributes.get(0).getValue())
					.replaceAll(" ", "").split(",");
			List<EventSink> sinklist = new ArrayList<EventSink>();
			for (String strSinkName : aSinks) {
				boolean bFound = false;
				for (EventSink eventsink : registeredSinkList) {
					if (eventsink.getBeanName().equals(strSinkName)) {
						sinklist.add(eventsink);
						bFound = true;
						break;
					}
				}
				if (!bFound) {
					throw new IllegalArgumentException("Output Bean '"
							+ strSinkName + "' is was not found.");
				}
			}

			if (sinklist.size() > 0)
				metadata.addToSinkList(sinklist);
		}

	}

	metadata.setStreamName(strParsedEventStream);
	stmtAnntInfo
			.addAnnotationInfo(OutputTo.class.getSimpleName(), metadata);
	return stmtAnntInfo;
}
 
开发者ID:pulsarIO,项目名称:jetstream-esper,代码行数:60,代码来源:OutputToAnnotationProcessor.java

示例3: process

import com.espertech.esper.client.soda.EPStatementObjectModel; //导入方法依赖的package包/类
@Override
public StatementAnnotationInfo process(String statement,
		EngineMetadata engineAnntMetadata,
		Map<String, AnnotationConfiguration> annotConfigMap,
		StatementAnnotationInfo stmtAnntInfo,
		Collection<EventSink> registeredSinkList) {

	Map<String, List<AnnotationPart>> partsMap = ((EsperEngineAnnotationMetadata) engineAnntMetadata)
			.getAnnotationPartsMap();
	EPStatementObjectModel model = ((EsperEngineAnnotationMetadata) engineAnntMetadata)
			.getStatementObjectModel();
	Map<String, Object> mapMeta = new HashMap<String, Object>();
	boolean bAddDbMap = false;
	String strParsedEventStream = null;
	DBInfoAnnotationMetadata metadata = new DBInfoAnnotationMetadata();
	if (partsMap.get(DBInfo.class.getSimpleName()) != null) {
		bAddDbMap = true;

		// Parse out event stream name
		FromClause fc = model.getFromClause();
		if (fc != null && fc.getStreams().size() == 1) {
			Matcher matcher = FROM_STREAM.matcher(statement);
			if (matcher.find()) {
				String strFoundStream = matcher.group(1);
				if (strFoundStream != null)
					strParsedEventStream = strFoundStream;
			}
		}

		List<AnnotationPart> dbInfoAnnoParts = partsMap.get(DBInfo.class
				.getSimpleName());
		for (AnnotationPart annotationPart : dbInfoAnnoParts) {
			for (AnnotationAttribute attr : annotationPart.getAttributes()) {
				mapMeta.put(attr.getName(), attr.getValue());
			}
		}
	}
	if (bAddDbMap) {
		if (strParsedEventStream != null && mapMeta.get("table") == null) {
			mapMeta.put("table", strParsedEventStream);
		}
		mapMeta.put("refresh", Boolean.TRUE);
	} else {
		mapMeta = null;
	}

	metadata.setMapMetaData(mapMeta);
	stmtAnntInfo.addAnnotationInfo(DBInfo.class.getSimpleName(), metadata);

	return stmtAnntInfo;

}
 
开发者ID:pulsarIO,项目名称:jetstream-esper,代码行数:53,代码来源:DBInfoAnnotationProcessor.java


注:本文中的com.espertech.esper.client.soda.EPStatementObjectModel.getFromClause方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。