Skip to content

Commit

Permalink
Use lambda expressions
Browse files Browse the repository at this point in the history
  • Loading branch information
astefanutti committed Jan 20, 2016
1 parent 46b85ff commit 5f91213
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,12 @@
*/
package org.apache.camel.cdi.se.expression;

import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.Predicate;
import org.apache.camel.util.PredicateToExpressionAdapter;

public final class ExchangeExpression {

public static Expression fromCamelContext(final String contextName) {
return new PredicateToExpressionAdapter(new Predicate() {
@Override
public boolean matches(Exchange exchange) {
return exchange.getContext().getName().equals(contextName);
}
});
public static Expression fromCamelContext(String contextName) {
return new PredicateToExpressionAdapter(exchange -> exchange.getContext().getName().equals(contextName));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
*/
package org.apache.camel.cdi.se;

import org.apache.camel.Exchange;
import org.apache.camel.Predicate;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.cdi.CdiCamelExtension;
Expand Down Expand Up @@ -89,12 +87,9 @@ public void sendMessageToProducer(@Uri("direct:produce") ProducerTemplate produc

produced.expectedMessageCount(1);
produced.expectedBodiesReceived(random);
produced.message(0).predicate(new Predicate() {
@Override
public boolean matches(Exchange exchange) {
EventMetadata metadata = exchange.getIn().getHeader("metadata", EventMetadata.class);
return metadata.getType().equals(Long.class) && metadata.getQualifiers().equals(new HashSet<>(Arrays.asList(new AnnotationLiteral<Any>() {}, new AnnotationLiteral<Default>() {})));
}
produced.message(0).predicate(exchange -> {
EventMetadata metadata = exchange.getIn().getHeader("metadata", EventMetadata.class);
return metadata.getType().equals(Long.class) && metadata.getQualifiers().equals(new HashSet<>(Arrays.asList(new AnnotationLiteral<Any>() {}, new AnnotationLiteral<Default>() {})));
});

consumed.expectedMessageCount(1);
Expand Down
12 changes: 2 additions & 10 deletions impl/src/main/java/org/apache/camel/cdi/CdiCamelExtension.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,7 @@
import javax.enterprise.inject.spi.DeploymentException;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.inject.spi.InjectionTarget;
import javax.enterprise.inject.spi.InjectionTargetFactory;
import javax.enterprise.inject.spi.ObserverMethod;
import javax.enterprise.inject.spi.ProcessAnnotatedType;
import javax.enterprise.inject.spi.ProcessBean;
import javax.enterprise.inject.spi.ProcessBeanAttributes;
Expand Down Expand Up @@ -212,17 +210,11 @@ private void cdiCamelFactoryProducers(@Observes AfterBeanDiscovery abd, BeanMana

private void addDefaultCamelContext(@Observes AfterBeanDiscovery abd, final BeanManager manager) {
if (manager.getBeans(CamelContext.class, AnyLiteral.INSTANCE).isEmpty())
abd.addBean(manager.createBean(new CamelContextBeanAttributes(manager), DefaultCamelContext.class, new InjectionTargetFactory<DefaultCamelContext>() {
@Override
public InjectionTarget<DefaultCamelContext> createInjectionTarget(Bean<DefaultCamelContext> bean) {
return environment.camelContextInjectionTarget(new CamelContextDefaultProducer(), null, manager);
}
}));
abd.addBean(manager.createBean(new CamelContextBeanAttributes(manager), DefaultCamelContext.class, (InjectionTargetFactory<DefaultCamelContext>) bean -> environment.camelContextInjectionTarget(new CamelContextDefaultProducer(), null, manager)));
}

private void addCdiEventObserverMethods(@Observes AfterBeanDiscovery abd) {
for (ObserverMethod method : cdiEventEndpoints.values())
abd.addObserverMethod(method);
cdiEventEndpoints.values().forEach(abd::addObserverMethod);
}

private void createCamelContexts(@Observes AfterDeploymentValidation adv, BeanManager manager) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,16 @@

import com.codahale.metrics.Gauge;
import com.codahale.metrics.Meter;
import com.codahale.metrics.RatioGauge;
import com.codahale.metrics.RatioGauge.Ratio;
import com.codahale.metrics.annotation.Metric;

import javax.enterprise.inject.Produces;
import javax.inject.Inject;

class SuccessRatioGauge {

@Inject
Meter generated, success;

@Produces
@Metric(name = "success-ratio")
Gauge<Double> successRatio = new RatioGauge() {
@Override
protected Ratio getRatio() {
return Ratio.of(success.getOneMinuteRate(), generated.getOneMinuteRate());
}
};
Gauge<Double> successRatio(Meter generated, Meter success) {
return () -> Ratio.of(success.getOneMinuteRate(), generated.getOneMinuteRate()).getValue();
}
}

0 comments on commit 5f91213

Please sign in to comment.