2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
20 package org.openecomp.sdc.be.tosca;
22 import io.vavr.control.Option;
23 import io.vavr.control.Try;
24 import java.util.List;
25 import java.util.function.Function;
26 import org.openecomp.sdc.be.model.ComponentInstance;
29 * Helper class providing facilities for migrating from FJ to VAVR
31 public final class FJToVavrHelper {
33 private FJToVavrHelper() {
36 public interface Try0 {
39 * Converts a {@link fj.data.Either} to a {@link io.vavr.control.Try}
45 static <L, R> Try<L> fromEither(fj.data.Either<L, R> e, Function<R, Throwable> onError) {
46 return e.either(Try::success, r -> Try.failure(onError.apply(r)));
49 static io.vavr.collection.List<ComponentInstance> javaListToVavrList(List<ComponentInstance> componentInstances) {
50 return Option.of(componentInstances).map(io.vavr.collection.List::ofAll).getOrElse(io.vavr.collection.List::empty);