unify getConfig for both commons and project specific
This commit is contained in:
parent
4c39ba3e77
commit
bd2a013283
|
@ -27,7 +27,6 @@ public abstract class CommonConfigFileLoader<P extends Enum<P>> {
|
||||||
private final Class<P> projectConfigEnumType;
|
private final Class<P> projectConfigEnumType;
|
||||||
private EnumMap<P, String> configurationsMap;
|
private EnumMap<P, String> configurationsMap;
|
||||||
|
|
||||||
|
|
||||||
public CommonConfigFileLoader(Class<P> projectConfigEnumType) throws IncorrectWorkingReferencesException {
|
public CommonConfigFileLoader(Class<P> projectConfigEnumType) throws IncorrectWorkingReferencesException {
|
||||||
this.projectConfigEnumType = projectConfigEnumType;
|
this.projectConfigEnumType = projectConfigEnumType;
|
||||||
loadAllConfigFromFile(false);
|
loadAllConfigFromFile(false);
|
||||||
|
@ -37,12 +36,8 @@ public abstract class CommonConfigFileLoader<P extends Enum<P>> {
|
||||||
}
|
}
|
||||||
|
|
||||||
private CommonConfigFileLoader<P> loadAllConfigFromFile(boolean silently) throws IncorrectWorkingReferencesException {
|
private CommonConfigFileLoader<P> loadAllConfigFromFile(boolean silently) throws IncorrectWorkingReferencesException {
|
||||||
commonConfigurationsMap = new EnumMap<>(CommonProjectConfiguration.class);
|
commonConfigurationsMap = loadFromFile(CommonProjectConfiguration.class, silently);
|
||||||
commonConfigurationsMap.putAll( loadFromFile(CommonProjectConfiguration.class, silently) );
|
configurationsMap = loadFromFile(projectConfigEnumType, silently);
|
||||||
|
|
||||||
configurationsMap = new EnumMap<>(projectConfigEnumType);
|
|
||||||
configurationsMap.putAll( loadFromFile(projectConfigEnumType, silently) );
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +51,7 @@ public abstract class CommonConfigFileLoader<P extends Enum<P>> {
|
||||||
public String getConfig(P key) {
|
public String getConfig(P key) {
|
||||||
return configurationsMap.get(key);
|
return configurationsMap.get(key);
|
||||||
}
|
}
|
||||||
public String getCommonConfig(CommonProjectConfiguration key) {
|
public String getConfig(CommonProjectConfiguration key) {
|
||||||
return commonConfigurationsMap.get(key);
|
return commonConfigurationsMap.get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,11 +50,11 @@ public class PlexCommandLauncher {
|
||||||
HttpUriRequest httpGET = RequestBuilder.get()
|
HttpUriRequest httpGET = RequestBuilder.get()
|
||||||
.setUri(new URI(plexRefreshURL))
|
.setUri(new URI(plexRefreshURL))
|
||||||
.addParameter("path", plexPathToRefresh)
|
.addParameter("path", plexPathToRefresh)
|
||||||
.addParameter("X-Plex-Token", config.getCommonConfig(PLEX_TOKEN))
|
.addParameter("X-Plex-Token", config.getConfig(PLEX_TOKEN))
|
||||||
.build();
|
.build();
|
||||||
httpclient.execute(httpGET);
|
httpclient.execute(httpGET);
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
String urlWithTokenHidden = httpGET.getURI().toString().replaceFirst(config.getCommonConfig(PLEX_TOKEN), "__plex_token__");
|
String urlWithTokenHidden = httpGET.getURI().toString().replaceFirst(config.getConfig(PLEX_TOKEN), "__plex_token__");
|
||||||
logger.nLog("Launched URL command: {0}", httpGET.getURI().toString());
|
logger.nLog("Launched URL command: {0}", httpGET.getURI().toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.nHLog("Some error has happened using the URL <{0}>", plexRefreshURL);
|
logger.nHLog("Some error has happened using the URL <{0}>", plexRefreshURL);
|
||||||
|
@ -63,10 +63,10 @@ public class PlexCommandLauncher {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPlexUrlPath2Refresh(String fullDestinationPath) {
|
public String getPlexUrlPath2Refresh(String fullDestinationPath) {
|
||||||
Pattern p = Pattern.compile(config.getCommonConfig(SONARR_PATHS_STARTER).concat("(.+/.+ \\(\\d{4}\\))"));
|
Pattern p = Pattern.compile(config.getConfig(SONARR_PATHS_STARTER).concat("(.+/.+ \\(\\d{4}\\))"));
|
||||||
Matcher m = p.matcher(fullDestinationPath);
|
Matcher m = p.matcher(fullDestinationPath);
|
||||||
if (m.find()) {
|
if (m.find()) {
|
||||||
String pathInPlexDockerStart = config.getCommonConfig(PLEX_SERIES_PATHS_STARTER);
|
String pathInPlexDockerStart = config.getConfig(PLEX_SERIES_PATHS_STARTER);
|
||||||
return pathInPlexDockerStart.concat(m.group(1));
|
return pathInPlexDockerStart.concat(m.group(1));
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -76,7 +76,7 @@ public class PlexCommandLauncher {
|
||||||
try (CloseableHttpClient httpclient = HttpClients.createDefault()) {
|
try (CloseableHttpClient httpclient = HttpClients.createDefault()) {
|
||||||
HttpUriRequest httpGET = RequestBuilder.get()
|
HttpUriRequest httpGET = RequestBuilder.get()
|
||||||
.setUri(new URI(getPlexSectionsURL()))
|
.setUri(new URI(getPlexSectionsURL()))
|
||||||
.addParameter("X-Plex-Token", config.getCommonConfig(PLEX_TOKEN))
|
.addParameter("X-Plex-Token", config.getConfig(PLEX_TOKEN))
|
||||||
.build();
|
.build();
|
||||||
try (CloseableHttpResponse httpResponse = httpclient.execute(httpGET)) {
|
try (CloseableHttpResponse httpResponse = httpclient.execute(httpGET)) {
|
||||||
final HttpEntity entity = httpResponse.getEntity();
|
final HttpEntity entity = httpResponse.getEntity();
|
||||||
|
@ -90,7 +90,7 @@ public class PlexCommandLauncher {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log("launched url command: "+httpGET.getURI().toString().replaceFirst(config.getCommonConfig(PLEX_TOKEN), "__plex_token__"));
|
log("launched url command: "+httpGET.getURI().toString().replaceFirst(config.getConfig(PLEX_TOKEN), "__plex_token__"));
|
||||||
} catch (URISyntaxException | IOException e) {
|
} catch (URISyntaxException | IOException e) {
|
||||||
log("could not refresh plex artist because of "+e.getMessage());
|
log("could not refresh plex artist because of "+e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -101,15 +101,15 @@ public class PlexCommandLauncher {
|
||||||
private String getPlexRefreshURL(String fullDestinationPath) {
|
private String getPlexRefreshURL(String fullDestinationPath) {
|
||||||
String sectionId = sectionResolver.resolveSectionByPath(fullDestinationPath);
|
String sectionId = sectionResolver.resolveSectionByPath(fullDestinationPath);
|
||||||
if (sectionId==null) return null;
|
if (sectionId==null) return null;
|
||||||
String host = config.getCommonConfig(PLEX_HOST);
|
String host = config.getConfig(PLEX_HOST);
|
||||||
String uriFormat = config.getCommonConfig(PLEX_SECTION_REFRESH_URI);
|
String uriFormat = config.getConfig(PLEX_SECTION_REFRESH_URI);
|
||||||
String uri = uriFormat.replaceFirst("\\{section_id}", sectionId);
|
String uri = uriFormat.replaceFirst("\\{section_id}", sectionId);
|
||||||
return HTTPS.getMark() + host + uri;
|
return HTTPS.getMark() + host + uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getPlexSectionsURL() {
|
private String getPlexSectionsURL() {
|
||||||
String host = HTTPS.getMark() + config.getCommonConfig(PLEX_HOST);
|
String host = HTTPS.getMark() + config.getConfig(PLEX_HOST);
|
||||||
String uri = config.getCommonConfig(PLEX_SECTIONS_LIST_URI);
|
String uri = config.getConfig(PLEX_SECTIONS_LIST_URI);
|
||||||
return host + uri;
|
return host + uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ public class PlexLibrarySectionsResolver {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String resolveSectionByPath(String fullDestinationPath) {
|
public String resolveSectionByPath(String fullDestinationPath) {
|
||||||
final String plexPathStarter = config.getCommonConfig(PLEX_SERIES_PATHS_STARTER);
|
final String plexPathStarter = config.getConfig(PLEX_SERIES_PATHS_STARTER);
|
||||||
String keyFolder = fullDestinationPath.replaceFirst(plexPathStarter,"").split("/")[1];
|
String keyFolder = fullDestinationPath.replaceFirst(plexPathStarter,"").split("/")[1];
|
||||||
Document xmlDocument = commandLauncher.retrieveSectionsInfo();
|
Document xmlDocument = commandLauncher.retrieveSectionsInfo();
|
||||||
XPath xPath = XPathFactory.newInstance().newXPath();
|
XPath xPath = XPathFactory.newInstance().newXPath();
|
||||||
|
|
|
@ -16,8 +16,8 @@ public class RadarrApiGateway {
|
||||||
private final RadarrAPIInterface proxy;
|
private final RadarrAPIInterface proxy;
|
||||||
|
|
||||||
public RadarrApiGateway(CommonConfigFileLoader<?> config) {
|
public RadarrApiGateway(CommonConfigFileLoader<?> config) {
|
||||||
apiKey = config.getCommonConfig(RADARR_API_KEY);
|
apiKey = config.getConfig(RADARR_API_KEY);
|
||||||
proxy = APIProxyBuilderSingleton.getRadarrInterface(config.getCommonConfig(RADARR_API_HOST));
|
proxy = APIProxyBuilderSingleton.getRadarrInterface(config.getConfig(RADARR_API_HOST));
|
||||||
}
|
}
|
||||||
|
|
||||||
public QueueResourcePagingResource getQueue() {
|
public QueueResourcePagingResource getQueue() {
|
||||||
|
|
|
@ -19,8 +19,8 @@ public class SonarrApiGateway {
|
||||||
private final EasyLogger logger;
|
private final EasyLogger logger;
|
||||||
|
|
||||||
public SonarrApiGateway(CommonConfigFileLoader<?> config) {
|
public SonarrApiGateway(CommonConfigFileLoader<?> config) {
|
||||||
apiKey = config.getCommonConfig(SONARR_API_KEY);
|
apiKey = config.getConfig(SONARR_API_KEY);
|
||||||
proxy = APIProxyBuilderSingleton.getSonarrInterface(config.getCommonConfig(SONARR_API_HOST));
|
proxy = APIProxyBuilderSingleton.getSonarrInterface(config.getConfig(SONARR_API_HOST));
|
||||||
logger = new EasyLogger();
|
logger = new EasyLogger();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue