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

View File

@ -22,11 +22,9 @@ public class SubscriptionService extends AppService {
private final ExecutorService executor = Executors.newSingleThreadExecutor();
private final Map<Class<? extends SubscriptionProvider>, SubscriptionProvider> providerCache = new ConcurrentHashMap<>();
private final AtomicReference<Future<?>> updateProcess = new AtomicReference<>();
@Getter
@ -65,22 +63,28 @@ public class SubscriptionService extends AppService {
for (var repoConfig : config.getSubscriptions()) {
var providerType = repoConfig.getType();
var provider = providerCache.get(providerType);
if (provider == null) {
//noinspection unchecked
provider = SubscriptionProvider.instantiate((Class<? extends SubscriptionProvider>) providerType, context);
//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));
try {
if (provider == null) {
//noinspection unchecked
provider = SubscriptionProvider.instantiate((Class<? extends SubscriptionProvider>) providerType, context);
//noinspection unchecked
providerCache.put((Class<? extends SubscriptionProvider>) providerType, provider);
}
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();