package com.epam.cisen.teamcity; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Service; import org.osgi.service.component.ComponentContext; import com.epam.cisen.core.api.AbstractConnector; import com.epam.cisen.core.api.Connector; import com.epam.cisen.core.api.dto.CiReport; @Component @Service(Connector.class) public class TeamCityConnector extends AbstractConnector<TeamCityConfig> { private static final TeamCityConfig CONFIG = new TeamCityConfig(); static { CONFIG.setBaseURL("URL"); CONFIG.setBuildTypeId("Build ID"); CONFIG.setLogin("Login"); CONFIG.setPass("Password"); } private final TeamCityWorker worker = new TeamCityWorker(); @Override public TeamCityConfig getPluginTemplateConfig() { return CONFIG; } @Override protected CiReport check(TeamCityConfig config) throws Exception { return worker.checkStatus(config); } @Override protected String getBuildKey(TeamCityConfig config) { return config.getBaseURL() + "|" + config.getBuildTypeId(); } protected void activatePlugin(ComponentContext componentContext) { } protected TeamCityConfig create(String buildTypeIs) { TeamCityConfig config = new TeamCityConfig(); config.setBuildTypeId(buildTypeIs); // TODO:set base url, login and pass. return config; } }