// Path: spring-influxdb-orm/src/main/java/com/vgerbot/orm/influxdb/exec/InfluxQLAnnotExecutor.java
// public class InfluxQLAnnotExecutor extends AnnotationExecutor<InfluxQL> {
// 
// 	public InfluxQLAnnotExecutor(InfluxDBRepository repository, InfluxQL annotation) {
// 		super(repository, annotation);
// 	}
// 
// 	@Override
// 	public ResultContext execute(MapperMethod method, Map<String, ParameterValue> parameters) {
// 		String key = super.annotation.value();
// 		if (StringUtils.isEmpty(key)) {
// 			key = method.getMethodSignature().getMethod().getName();
// 		}
// 		InfluxQLStatement statement = this.repository.getStatement(key);
// 		if (statement == null) {
// 			throw new InfluxDBException("Statement not found: " + key);
// 		}
// 
// 		switch (statement.getAction()) {
// 		case SELECT:
// 			return this.repository.query(statement.getTemplate(), parameters);
// 		case EXECUTE:
// 			this.repository.execute(statement.getTemplate(), parameters);
// 		}
// 		return ResultContext.VOID;
// 	}
// 
// }


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.vgerbot.orm.influxdb.exec.InfluxQLAnnotExecutor;
package com.vgerbot.orm.influxdb.annotations;



@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
// Path: spring-influxdb-orm/src/main/java/com/vgerbot/orm/influxdb/exec/InfluxQLAnnotExecutor.java
// public class InfluxQLAnnotExecutor extends AnnotationExecutor<InfluxQL> {
// 
// 	public InfluxQLAnnotExecutor(InfluxDBRepository repository, InfluxQL annotation) {
// 		super(repository, annotation);
// 	}
// 
// 	@Override
// 	public ResultContext execute(MapperMethod method, Map<String, ParameterValue> parameters) {
// 		String key = super.annotation.value();
// 		if (StringUtils.isEmpty(key)) {
// 			key = method.getMethodSignature().getMethod().getName();
// 		}
// 		InfluxQLStatement statement = this.repository.getStatement(key);
// 		if (statement == null) {
// 			throw new InfluxDBException("Statement not found: " + key);
// 		}
// 
// 		switch (statement.getAction()) {
// 		case SELECT:
// 			return this.repository.query(statement.getTemplate(), parameters);
// 		case EXECUTE:
// 			this.repository.execute(statement.getTemplate(), parameters);
// 		}
// 		return ResultContext.VOID;
// 	}
// 
// }


// Path: spring-influxdb-orm/src/main/java/com/vgerbot/orm/influxdb/annotations/InfluxQL.java
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.vgerbot.orm.influxdb.exec.InfluxQLAnnotExecutor;

package com.vgerbot.orm.influxdb.annotations;



@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@AnnotateExecutor(InfluxQLAnnotExecutor.class)