blob: 8f732e865d443eda569835e72b46f4cb8f62729b [file] [log] [blame]
/********************************************************************************
* Copyright (c) 2015-2018 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
********************************************************************************/
package org.eclipse.mdm.apicopy;
import java.util.List;
import java.util.Optional;
import org.eclipse.mdm.api.dflt.EntityManager;
import org.eclipse.mdm.api.dflt.model.TemplateTest;
import org.eclipse.mdm.api.dflt.model.TemplateTestStep;
import org.eclipse.mdm.api.dflt.model.TemplateTestStepUsage;
/**
* Resolves templates by always returning the first template found.
*
*/
public class TemplateResolver {
private EntityManager entitymanager;
public TemplateResolver(EntityManager entitymanager) {
this.entitymanager = entitymanager;
}
public Optional<TemplateTest> resolveTemplateTest() {
List<TemplateTest> listTemplateTests = entitymanager.loadAll(TemplateTest.class);
if (listTemplateTests.isEmpty()) {
return Optional.empty();
} else {
return Optional.of(listTemplateTests.get(0));
}
}
public Optional<TemplateTestStep> resolveTemplateTestStep(Optional<TemplateTest> templateTestDst) {
if (!templateTestDst.isPresent()) {
return Optional.empty();
}
return resolveTemplateTestStep(templateTestDst.get());
}
public Optional<TemplateTestStep> resolveTemplateTestStep(TemplateTest templateTestDst) {
for (TemplateTestStepUsage templateTestStepUsage : templateTestDst.getTemplateTestStepUsages())
{
return Optional.ofNullable(templateTestStepUsage.getTemplateTestStep());
}
return Optional.empty();
}
}