Skip to content

Commit

Permalink
fix: serialize JSONObject in OnlyOfficeEditorServlet
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/main/java/onlyoffice/OnlyOfficeEditorServlet.java
  • Loading branch information
aleksandrfedorov97 committed Aug 21, 2024
1 parent 09933df commit 5daf2fa
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion src/main/java/onlyoffice/OnlyOfficeEditorServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@
import com.atlassian.confluence.user.ConfluenceUser;
import com.atlassian.confluence.util.velocity.VelocityUtils;
import com.atlassian.sal.api.message.I18nResolver;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.onlyoffice.manager.settings.SettingsManager;
import com.onlyoffice.model.documenteditor.Config;
import com.onlyoffice.model.documenteditor.config.document.DocumentType;
Expand Down Expand Up @@ -181,7 +185,7 @@ public void doGet(final HttpServletRequest request, final HttpServletResponse re
config.getEditorConfig().setLang(localeManager.getLocale(user).toLanguageTag());
config.getEditorConfig().setActionLink(actionData);

ObjectMapper mapper = new ObjectMapper();
ObjectMapper mapper = createObjectMapper();

context.put("request", request);
context.put("configAsHtml", mapper.writeValueAsString(config));
Expand Down Expand Up @@ -210,4 +214,19 @@ public void doGet(final HttpServletRequest request, final HttpServletResponse re
throw new ServletException(e.getMessage(), e);
}
}

private ObjectMapper createObjectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
SimpleModule module = new SimpleModule();
module.addSerializer(JSONObject.class, new JsonSerializer<JSONObject>() {
@Override
public void serialize(final JSONObject jsonObject, final JsonGenerator jsonGenerator,
final SerializerProvider serializerProvider) throws IOException {
jsonGenerator.writeObject(jsonObject.toMap());
}
});
objectMapper.registerModule(module);

return objectMapper;
}
}

0 comments on commit 5daf2fa

Please sign in to comment.