You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2021/03/08 17:28:09 UTC
[aries-component-dsl] 04/10: Unify implementations
This is an automated email from the ASF dual-hosted git repository.
csierra pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/aries-component-dsl.git
commit d2652d13bceb443904de4155240fa095485257b6
Author: Carlos Sierra Andrés <ca...@liferay.com>
AuthorDate: Mon Mar 8 14:27:41 2021 +0100
Unify implementations
---
.../aries/component/dsl/internal/BaseOSGiImpl.java | 123 ++++++++++-----------
1 file changed, 58 insertions(+), 65 deletions(-)
diff --git a/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/BaseOSGiImpl.java b/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/BaseOSGiImpl.java
index 1bf1358..74b0219 100644
--- a/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/BaseOSGiImpl.java
+++ b/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/BaseOSGiImpl.java
@@ -239,84 +239,78 @@ public class BaseOSGiImpl<T> implements OSGi<T> {
Consumer<? super T> onRemovedAfter,
Consumer<? super T> onUpdate) {
- return new BaseOSGiImpl<>((executionContext, op) ->
- run(
- executionContext,
- op.pipe(t -> {
- onAddedBefore.accept(t);
+ return transform(op -> t -> {
+ onAddedBefore.accept(t);
- try {
- OSGiResult terminator = op.publish(t);
+ try {
+ OSGiResult terminator = op.publish(t);
- OSGiResult result = new OSGiResultImpl(() -> {
- try {
- onRemovedBefore.accept(t);
- }
- catch (Exception e) {
- //TODO: logging
- }
+ OSGiResult result = new OSGiResultImpl(() -> {
+ try {
+ onRemovedBefore.accept(t);
+ }
+ catch (Exception e) {
+ //TODO: logging
+ }
- try {
- terminator.run();
- }
- catch (Exception e) {
- //TODO: logging
- }
+ try {
+ terminator.run();
+ }
+ catch (Exception e) {
+ //TODO: logging
+ }
- try {
- onRemovedAfter.accept(t);
- }
- catch (Exception e) {
- //TODO: logging
- }
- },
- () -> {
- onUpdate.accept(t);
+ try {
+ onRemovedAfter.accept(t);
+ }
+ catch (Exception e) {
+ //TODO: logging
+ }
+ },
+ () -> {
+ onUpdate.accept(t);
- return terminator.update();
- }
- );
+ return terminator.update();
+ }
+ );
- try {
- onAddedAfter.accept(t);
- }
- catch (Exception e) {
- result.run();
+ try {
+ onAddedAfter.accept(t);
+ }
+ catch (Exception e) {
+ result.run();
- throw e;
- }
+ throw e;
+ }
- return result;
- }
- catch (Exception e) {
- try {
- onRemovedAfter.accept(t);
- }
- catch (Exception e1) {
- //TODO: logging
- }
+ return result;
+ }
+ catch (Exception e) {
+ try {
+ onRemovedAfter.accept(t);
+ }
+ catch (Exception e1) {
+ //TODO: logging
+ }
- throw e;
- }
+ throw e;
+ }
}
- )
- ));
+ );
}
@Override
public OSGi<T> filter(Predicate<T> predicate) {
- return new BaseOSGiImpl<>((executionContext, op) ->
- run(
- executionContext,
- op.pipe(t -> {
- if (predicate.test(t)) {
- return op.apply(t);
- }
- else {
- return NOOP;
- }
+ return transform(
+ op -> t -> {
+ if (predicate.test(t)) {
+ return op.apply(t);
}
- )));
+ else {
+ return NOOP;
+ }
+ }
+ );
}
@Override
@@ -327,8 +321,7 @@ public class BaseOSGiImpl<T> implements OSGi<T> {
@Override
public <S> OSGi<S> map(Function<? super T, ? extends S> function) {
- return new BaseOSGiImpl<>((executionContext, op) ->
- run(executionContext, op.pipe(t -> op.apply(function.apply(t)))));
+ return transform(op -> t -> op.apply(function.apply(t)));
}
@Override