Search in sources :

Example 1 with ISTIBuildStrategy

use of com.openshift.restclient.model.build.ISTIBuildStrategy in project jbosstools-openshift by jbosstools.

the class OpenshiftEapProfileDetectorTest method createBuildConfig.

@SuppressWarnings("deprecation")
private IBuildConfig createBuildConfig(Class<? extends IBuildStrategy> clazz, String name) {
    IBuildConfig bc = mock(IBuildConfig.class);
    DockerImageURI image = mock(DockerImageURI.class);
    when(image.getName()).thenReturn(name);
    IBuildStrategy strategy = null;
    if (clazz == null) {
        strategy = mock(ISourceBuildStrategy.class);
    } else if (IDockerBuildStrategy.class.isAssignableFrom(clazz)) {
        IDockerBuildStrategy dbs = mock(IDockerBuildStrategy.class);
        when(dbs.getBaseImage()).thenReturn(image);
        strategy = dbs;
    } else if (ICustomBuildStrategy.class.isAssignableFrom(clazz)) {
        ICustomBuildStrategy cbs = mock(ICustomBuildStrategy.class);
        when(cbs.getImage()).thenReturn(image);
        strategy = cbs;
    } else if (ISTIBuildStrategy.class.isAssignableFrom(clazz)) {
        ISTIBuildStrategy sts = mock(ISTIBuildStrategy.class);
        when(sts.getImage()).thenReturn(image);
        strategy = sts;
    } else if (ISourceBuildStrategy.class.isAssignableFrom(clazz)) {
        ISourceBuildStrategy sbs = mock(ISourceBuildStrategy.class);
        when(sbs.getImage()).thenReturn(image);
        strategy = sbs;
    }
    when(bc.getBuildStrategy()).thenReturn(strategy);
    Map<String, String> labels = Collections.singletonMap("template", name);
    when(bc.getLabels()).thenReturn(labels);
    return bc;
}
Also used : ISourceBuildStrategy(com.openshift.restclient.model.build.ISourceBuildStrategy) DockerImageURI(com.openshift.restclient.images.DockerImageURI) IBuildConfig(com.openshift.restclient.model.IBuildConfig) IDockerBuildStrategy(com.openshift.restclient.model.build.IDockerBuildStrategy) IBuildStrategy(com.openshift.restclient.model.build.IBuildStrategy) ISTIBuildStrategy(com.openshift.restclient.model.build.ISTIBuildStrategy) ISTIBuildStrategy(com.openshift.restclient.model.build.ISTIBuildStrategy) ICustomBuildStrategy(com.openshift.restclient.model.build.ICustomBuildStrategy)

Example 2 with ISTIBuildStrategy

use of com.openshift.restclient.model.build.ISTIBuildStrategy in project jbosstools-openshift by jbosstools.

the class OpenshiftEapProfileDetector method isEapStyle.

@SuppressWarnings({ "deprecation" })
public boolean isEapStyle(IBuildConfig buildConfig) {
    if (buildConfig == null) {
        return false;
    }
    // First check buildconfig docker image name
    IBuildStrategy strategy = buildConfig.getBuildStrategy();
    DockerImageURI image = null;
    boolean isEapStyle = false;
    if (strategy instanceof ISourceBuildStrategy) {
        image = ((ISourceBuildStrategy) strategy).getImage();
    } else if (strategy instanceof ICustomBuildStrategy) {
        image = ((ICustomBuildStrategy) strategy).getImage();
    } else if (strategy instanceof IDockerBuildStrategy) {
        image = ((IDockerBuildStrategy) strategy).getBaseImage();
    } else if (strategy instanceof ISTIBuildStrategy) {
        image = ((ISTIBuildStrategy) strategy).getImage();
    }
    if (image != null) {
        isEapStyle = containsEapLikeKeywords(image.getName());
    }
    if (!isEapStyle) {
        // Check template labels as a last resort
        // not sure it's even possible to reach this point
        Map<String, String> labels = buildConfig.getLabels();
        if (labels != null) {
            String template = labels.get("template");
            isEapStyle = containsEapLikeKeywords(template);
        }
    }
    return isEapStyle;
}
Also used : ISourceBuildStrategy(com.openshift.restclient.model.build.ISourceBuildStrategy) DockerImageURI(com.openshift.restclient.images.DockerImageURI) IDockerBuildStrategy(com.openshift.restclient.model.build.IDockerBuildStrategy) IBuildStrategy(com.openshift.restclient.model.build.IBuildStrategy) ISTIBuildStrategy(com.openshift.restclient.model.build.ISTIBuildStrategy) ISTIBuildStrategy(com.openshift.restclient.model.build.ISTIBuildStrategy) ICustomBuildStrategy(com.openshift.restclient.model.build.ICustomBuildStrategy)

Aggregations

DockerImageURI (com.openshift.restclient.images.DockerImageURI)2 IBuildStrategy (com.openshift.restclient.model.build.IBuildStrategy)2 ICustomBuildStrategy (com.openshift.restclient.model.build.ICustomBuildStrategy)2 IDockerBuildStrategy (com.openshift.restclient.model.build.IDockerBuildStrategy)2 ISTIBuildStrategy (com.openshift.restclient.model.build.ISTIBuildStrategy)2 ISourceBuildStrategy (com.openshift.restclient.model.build.ISourceBuildStrategy)2 IBuildConfig (com.openshift.restclient.model.IBuildConfig)1