16 package emlab.gen.repository;
18 import java.util.List;
20 import org.springframework.data.neo4j.annotation.Query;
21 import org.springframework.data.neo4j.annotation.QueryType;
22 import org.springframework.data.neo4j.repository.GraphRepository;
31 GraphRepository<EnergyProducer> {
33 @Query(value =
"result = g.idx('__types__')[[className:'emlab.gen.domain.agent.EnergyProducer']].propertyFilter('__type__', FilterPipe.Filter.NOT_EQUAL, 'emlab.gen.domain.agent.TargetInvestor').propertyFilter('__type__', FilterPipe.Filter.NOT_EQUAL, 'emlab.gen.domain.agent.StochasticTargetInvestor').toList();"
35 "if(result == null){return null;} else {Collections.shuffle(result); return result;}", type=QueryType.Gremlin)
36 List<EnergyProducer> findAllEnergyProducersExceptForRenewableTargetInvestorsAtRandom();
38 @Query(value =
"agents = g.idx('__types__')[[className:'emlab.gen.domain.agent.DecarbonizationAgent']];"
40 +
"for(agent in agents){if(agent.co2Allowances!=null) co2Allowances+=agent.co2Allowances};"
41 +
"return co2Allowances;", type = QueryType.Gremlin)
42 double determineTotallyBankedCO2Certificates();