[Git][java-team/pdfsam][master] 2 commits: Fix Debian bug 973125

Markus Koschany gitlab at salsa.debian.org
Mon Nov 9 12:31:13 GMT 2020



Markus Koschany pushed to branch master at Debian Java Maintainers / pdfsam


Commits:
6897cc6c by Markus Koschany at 2020-11-09T13:26:34+01:00
Fix Debian bug 973125

- - - - -
03ec0155 by Markus Koschany at 2020-11-09T13:27:32+01:00
Update changelog

- - - - -


4 changed files:

- debian/changelog
- + debian/patches/debian-bug-973125.patch
- debian/patches/no-check-for-updates.patch
- debian/patches/series


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,9 @@
+pdfsam (4.2.0-2) unstable; urgency=medium
+
+  * Fix stackoverflow error when closing the application. (Closes: #973125)
+
+ -- Markus Koschany <apo at debian.org>  Mon, 09 Nov 2020 13:26:44 +0100
+
 pdfsam (4.2.0-1) unstable; urgency=medium
 
   * New upstream version 4.2.0.


=====================================
debian/patches/debian-bug-973125.patch
=====================================
@@ -0,0 +1,161 @@
+From: Markus Koschany <apo at debian.org>
+Date: Mon, 9 Nov 2020 13:25:35 +0100
+Subject: debian bug 973125
+
+Origin: https://github.com/torakiki/pdfsam/commit/a0c3050a28fb2dd6bc0b8775422a0211d43cf34c
+Forwarded: not-needed
+---
+ .../main/java/org/pdfsam/module/PreferencesUsageDataStore.java   | 9 ++++++---
+ .../src/main/java/org/pdfsam/news/DefaultNewsService.java        | 3 ++-
+ .../java/org/pdfsam/premium/DefaultPremiumModulesService.java    | 3 ++-
+ .../src/main/java/org/pdfsam/ui/DefaultStageService.java         | 5 +++--
+ .../src/main/java/org/pdfsam/ui/JsonWorkspaceService.java        | 6 ++++--
+ pom.xml                                                          | 4 ++--
+ 6 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/pdfsam-service/src/main/java/org/pdfsam/module/PreferencesUsageDataStore.java b/pdfsam-service/src/main/java/org/pdfsam/module/PreferencesUsageDataStore.java
+index 320d1d2..737c572 100644
+--- a/pdfsam-service/src/main/java/org/pdfsam/module/PreferencesUsageDataStore.java
++++ b/pdfsam-service/src/main/java/org/pdfsam/module/PreferencesUsageDataStore.java
+@@ -35,6 +35,7 @@ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ import com.fasterxml.jackson.jr.ob.JSON;
++import com.fasterxml.jackson.jr.ob.JSON.Feature;
+ 
+ /**
+  * @author Andrea Vacondio
+@@ -55,9 +56,11 @@ class PreferencesUsageDataStore {
+         String json = node.get(MODULE_USAGE_KEY, "");
+         try {
+             if (isNotBlank(json)) {
+-                node.put(MODULE_USAGE_KEY, JSON.std.asString(JSON.std.beanFrom(ModuleUsage.class, json).inc()));
++                node.put(MODULE_USAGE_KEY, JSON.std
++                        .asString(JSON.std.without(Feature.USE_FIELDS).beanFrom(ModuleUsage.class, json).inc()));
+             } else {
+-                node.put(MODULE_USAGE_KEY, JSON.std.asString(ModuleUsage.fistUsage(moduleId)));
++                node.put(MODULE_USAGE_KEY,
++                        JSON.std.without(Feature.USE_FIELDS).asString(ModuleUsage.fistUsage(moduleId)));
+             }
+             LOG.trace("Usage incremented for module {}", moduleId);
+         } catch (IOException e) {
+@@ -74,7 +77,7 @@ class PreferencesUsageDataStore {
+             List<String> jsons = Arrays.stream(prefs.childrenNames()).parallel().map(name -> prefs.node(name))
+                     .map(node -> node.get(MODULE_USAGE_KEY, "")).filter(json -> isNotBlank(json)).collect(toList());
+             for (String json : jsons) {
+-                retList.add(JSON.std.beanFrom(ModuleUsage.class, json));
++                retList.add(JSON.std.without(Feature.USE_FIELDS).beanFrom(ModuleUsage.class, json));
+             }
+         } catch (BackingStoreException | IOException e) {
+             LOG.error("Unable to get modules usage statistics", e);
+diff --git a/pdfsam-service/src/main/java/org/pdfsam/news/DefaultNewsService.java b/pdfsam-service/src/main/java/org/pdfsam/news/DefaultNewsService.java
+index 3f71056..fd89aa7 100644
+--- a/pdfsam-service/src/main/java/org/pdfsam/news/DefaultNewsService.java
++++ b/pdfsam-service/src/main/java/org/pdfsam/news/DefaultNewsService.java
+@@ -61,7 +61,8 @@ public class DefaultNewsService implements NewsService {
+     @Override
+     public List<NewsData> getLatestNews() {
+         try {
+-            return JSON.std.with(Feature.READ_ONLY, true).listOfFrom(NewsData.class,
++            return JSON.std.without(Feature.USE_FIELDS).with(Feature.READ_ONLY, true)
++                    .listOfFrom(NewsData.class,
+                     urlToStream(new URL(pdfsam.property(ConfigurableProperty.NEWS_URL))));
+         } catch (IOException e) {
+             LOG.warn(DefaultI18nContext.getInstance().i18n("Unable to retrieve latest news"), e);
+diff --git a/pdfsam-service/src/main/java/org/pdfsam/premium/DefaultPremiumModulesService.java b/pdfsam-service/src/main/java/org/pdfsam/premium/DefaultPremiumModulesService.java
+index 5f93e87..b9bb844 100644
+--- a/pdfsam-service/src/main/java/org/pdfsam/premium/DefaultPremiumModulesService.java
++++ b/pdfsam-service/src/main/java/org/pdfsam/premium/DefaultPremiumModulesService.java
+@@ -55,7 +55,8 @@ public class DefaultPremiumModulesService implements PremiumModulesService {
+     @Override
+     public List<PremiumModule> getPremiumModules() {
+         try {
+-            return JSON.std.with(Feature.READ_ONLY, true).listOfFrom(PremiumModule.class,
++            return JSON.std.without(Feature.USE_FIELDS).with(Feature.READ_ONLY, true).listOfFrom(
++                    PremiumModule.class,
+                     urlToStream(new URL(pdfsam.property(ConfigurableProperty.PREMIUM_MODULES_URL))));
+         } catch (IOException e) {
+             LOG.warn(DefaultI18nContext.getInstance().i18n("Unable to retrieve premium features description"), e);
+diff --git a/pdfsam-service/src/main/java/org/pdfsam/ui/DefaultStageService.java b/pdfsam-service/src/main/java/org/pdfsam/ui/DefaultStageService.java
+index cccde6c..3593d5b 100644
+--- a/pdfsam-service/src/main/java/org/pdfsam/ui/DefaultStageService.java
++++ b/pdfsam-service/src/main/java/org/pdfsam/ui/DefaultStageService.java
+@@ -28,6 +28,7 @@ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ import com.fasterxml.jackson.jr.ob.JSON;
++import com.fasterxml.jackson.jr.ob.JSON.Feature;
+ 
+ /**
+  * Default implementation of a {@link StageService} using {@link Preferences}.
+@@ -45,7 +46,7 @@ class DefaultStageService implements StageService {
+     public void save(StageStatus status) {
+         Preferences node = Preferences.userRoot().node(STAGE_PATH);
+         try {
+-            node.put(STAGE_STATUS_KEY, JSON.std.asString(status));
++            node.put(STAGE_STATUS_KEY, JSON.std.without(Feature.USE_FIELDS).asString(status));
+             LOG.trace("Stage status saved {}", status);
+         } catch (IOException e) {
+             LOG.error("Unable to save Stage status", e);
+@@ -58,7 +59,7 @@ class DefaultStageService implements StageService {
+         try {
+             String statusString = node.get(STAGE_STATUS_KEY, "");
+             if (isNotBlank(statusString)) {
+-                return JSON.std.beanFrom(StageStatus.class, statusString);
++                return JSON.std.without(Feature.USE_FIELDS).beanFrom(StageStatus.class, statusString);
+             }
+         } catch (IOException e) {
+             LOG.error("Unable to get latest stage status", e);
+diff --git a/pdfsam-service/src/main/java/org/pdfsam/ui/JsonWorkspaceService.java b/pdfsam-service/src/main/java/org/pdfsam/ui/JsonWorkspaceService.java
+index 71e0f15..90f7d02 100644
+--- a/pdfsam-service/src/main/java/org/pdfsam/ui/JsonWorkspaceService.java
++++ b/pdfsam-service/src/main/java/org/pdfsam/ui/JsonWorkspaceService.java
+@@ -30,6 +30,7 @@ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ import com.fasterxml.jackson.jr.ob.JSON;
++import com.fasterxml.jackson.jr.ob.JSON.Feature;
+ 
+ /**
+  * Implementation of the workspace service where data is stored and loaded in json format
+@@ -45,7 +46,8 @@ class JsonWorkspaceService implements WorkspaceService {
+         requireNotNullArg(destination, "Destination file cannot be null");
+         LOG.debug(DefaultI18nContext.getInstance().i18n("Saving workspace data to {0}", destination.getAbsolutePath()));
+         try {
+-            JSON.std.with(JSON.Feature.PRETTY_PRINT_OUTPUT).without(JSON.Feature.WRITE_NULL_PROPERTIES)
++            JSON.std.without(Feature.USE_FIELDS).with(JSON.Feature.PRETTY_PRINT_OUTPUT).without(
++                    JSON.Feature.WRITE_NULL_PROPERTIES)
+                     .write(data, destination);
+             LOG.info(DefaultI18nContext.getInstance().i18n("Workspace saved"));
+         } catch (Exception e) {
+@@ -60,7 +62,7 @@ class JsonWorkspaceService implements WorkspaceService {
+         requireNotNullArg(workspace, "Workspace file cannot be null");
+         Map<String, Map<String, String>> data = Collections.emptyMap();
+         try (FileInputStream stream = new FileInputStream(workspace)) {
+-            data = (Map) JSON.std.mapFrom(stream);
++            data = (Map) JSON.std.without(Feature.USE_FIELDS).mapFrom(stream);
+         } catch (Exception e) {
+             // make it unchecked
+             throw new RuntimeException(e);
+diff --git a/pom.xml b/pom.xml
+index 13adefd..7063bcb 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -237,7 +237,7 @@
+ 		<logback.version>1.2.3</logback.version>
+ 		<jdepend.version>2.9.1</jdepend.version>
+ 		<hibernate-validator.version>4.2.0.Final</hibernate-validator.version>
+-		<sejda.version>4.1.1</sejda.version>
++		<sejda.version>4.1.2</sejda.version>
+ 		<sejda.commons.version>1.1.4</sejda.commons.version>
+ 		<eventstudio.version>2.0.0</eventstudio.version>
+ 		<injector.version>2.0.0</injector.version>
+@@ -245,7 +245,7 @@
+ 		<fontawesomefx.materialicons.version>2.2.0-9.1.2</fontawesomefx.materialicons.version>
+ 		<fontawesomefx.materialdesignfont.version>2.0.26-9.1.2</fontawesomefx.materialdesignfont.version>
+ 		<testfx.version>4.0.15-alpha</testfx.version>
+-		<jackson-jr.version>2.9.10</jackson-jr.version>
++		<jackson-jr.version>2.10.0</jackson-jr.version>
+ 		<tempus.fugit.version>1.1</tempus.fugit.version>
+ 		<bouncycastle.version>1.66</bouncycastle.version>
+ 		<hamcrest.version>1.3</hamcrest.version>


=====================================
debian/patches/no-check-for-updates.patch
=====================================
@@ -10,10 +10,10 @@ Forwarded: not-needed
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/pdfsam-core/src/main/java/org/pdfsam/context/DefaultUserContext.java b/pdfsam-core/src/main/java/org/pdfsam/context/DefaultUserContext.java
-index 4458cda..09b12bd 100644
+index f484cab..fd31284 100644
 --- a/pdfsam-core/src/main/java/org/pdfsam/context/DefaultUserContext.java
 +++ b/pdfsam-core/src/main/java/org/pdfsam/context/DefaultUserContext.java
-@@ -105,7 +105,7 @@ public final class DefaultUserContext implements UserContext {
+@@ -107,7 +107,7 @@ public final class DefaultUserContext implements UserContext {
      @Override
      public boolean isCheckForUpdates() {
          return prefs.getBoolean(BooleanUserPreference.CHECK_UPDATES.toString(),


=====================================
debian/patches/series
=====================================
@@ -1,2 +1,3 @@
 no-check-for-updates.patch
 pdfsam-bin.patch
+debian-bug-973125.patch



View it on GitLab: https://salsa.debian.org/java-team/pdfsam/-/compare/4fd07e2fa01569fd389945f957d40c3162c71785...03ec0155654219a9aba67d1b1413547215d21237

-- 
View it on GitLab: https://salsa.debian.org/java-team/pdfsam/-/compare/4fd07e2fa01569fd389945f957d40c3162c71785...03ec0155654219a9aba67d1b1413547215d21237
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20201109/ebd094f6/attachment.html>


More information about the pkg-java-commits mailing list