hotfix git subscr. debug

This commit is contained in:
kirillius 2025-10-06 20:34:20 +03:00
parent d32a54d50b
commit 1c167b1608
2 changed files with 23 additions and 18 deletions

View File

@ -63,7 +63,7 @@ public class GitSubscription implements SubscriptionProvider {
for (var file : Objects.requireNonNull(resourcesDir.listFiles())) { for (var file : Objects.requireNonNull(resourcesDir.listFiles())) {
try (var stream = new FileInputStream(file)) { try (var stream = new FileInputStream(file)) {
var name = file.getName(); var name = file.getName();
if(!name.endsWith(".json")) { if (!name.endsWith(".json")) {
continue; continue;
} }
var bundle = JSONUtility.deserializeStructure(new JSONObject(new JSONTokener(stream)), NetworkResourceBundle.class); var bundle = JSONUtility.deserializeStructure(new JSONObject(new JSONTokener(stream)), NetworkResourceBundle.class);
@ -73,6 +73,7 @@ public class GitSubscription implements SubscriptionProvider {
return map; return map;
} catch (Exception e) { } catch (Exception e) {
SystemLogger.error("Error while reading git repository", CTX, e);
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }

View File

@ -22,11 +22,9 @@ public class SubscriptionService extends AppService {
private final ExecutorService executor = Executors.newSingleThreadExecutor(); private final ExecutorService executor = Executors.newSingleThreadExecutor();
private final Map<Class<? extends SubscriptionProvider>, SubscriptionProvider> providerCache = new ConcurrentHashMap<>(); private final Map<Class<? extends SubscriptionProvider>, SubscriptionProvider> providerCache = new ConcurrentHashMap<>();
private final AtomicReference<Future<?>> updateProcess = new AtomicReference<>(); private final AtomicReference<Future<?>> updateProcess = new AtomicReference<>();
@Getter @Getter
@ -65,22 +63,28 @@ public class SubscriptionService extends AppService {
for (var repoConfig : config.getSubscriptions()) { for (var repoConfig : config.getSubscriptions()) {
var providerType = repoConfig.getType(); var providerType = repoConfig.getType();
var provider = providerCache.get(providerType); var provider = providerCache.get(providerType);
if (provider == null) { try {
//noinspection unchecked if (provider == null) {
provider = SubscriptionProvider.instantiate((Class<? extends SubscriptionProvider>) providerType, context); //noinspection unchecked
//noinspection unchecked provider = SubscriptionProvider.instantiate((Class<? extends SubscriptionProvider>) providerType, context);
providerCache.put((Class<? extends SubscriptionProvider>) providerType, provider); //noinspection unchecked
} providerCache.put((Class<? extends SubscriptionProvider>) providerType, provider);
var resources = provider.getResources(repoConfig);
resources.keySet().forEach(key -> {
var resourceName = repoConfig.getName() + ":" + key;
//добавляем только выбранные ресурсы
if (subscribedResources.contains(resourceName)) {
bundle.add(resources.get(key));
} }
available.put(resourceName, resources.get(key));
});
var resources = provider.getResources(repoConfig);
resources.keySet().forEach(key -> {
var resourceName = repoConfig.getName() + ":" + key;
//добавляем только выбранные ресурсы
if (subscribedResources.contains(resourceName)) {
bundle.add(resources.get(key));
}
available.put(resourceName, resources.get(key));
});
} catch (Exception e) {
SystemLogger.error("Error fetching provider " + provider, CTX, e);
}
} }
availableResources.clear(); availableResources.clear();