From 32e8d3b4e250c3a14d2b683ef0be18fec6b92c75 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Sat, 23 Sep 2017 05:01:41 +0300 Subject: [PATCH] lambda-friendly factories --- .../templates/RemoteTemplatesFactory.java | 46 +++++++++---------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/java/idea-ui/src/com/intellij/platform/templates/RemoteTemplatesFactory.java b/java/idea-ui/src/com/intellij/platform/templates/RemoteTemplatesFactory.java index 4bfa06a48a46..66e919bb7723 100644 --- a/java/idea-ui/src/com/intellij/platform/templates/RemoteTemplatesFactory.java +++ b/java/idea-ui/src/com/intellij/platform/templates/RemoteTemplatesFactory.java @@ -51,31 +51,27 @@ public class RemoteTemplatesFactory extends ProjectTemplatesFactory { private static final String URL = "http://download.jetbrains.com/idea/project_templates/"; - private final ClearableLazyValue> myTemplates = new ClearableLazyValue>() { - @NotNull - @Override - protected MultiMap compute() { - try { - return HttpRequests.request(URL + ApplicationInfo.getInstance().getBuild().getProductCode() + "_templates.xml") - .connect(request -> { - try { - return create(JdomKt.loadElement(request.getReader())); - } - catch (JDOMException e) { - LOG.error(e); - return MultiMap.emptyInstance(); - } - }); - } - catch (IOException e) { // timeouts, lost connection etc - LOG.info(e); - } - catch (Exception e) { - LOG.error(e); - } - return MultiMap.emptyInstance(); + private final ClearableLazyValue> myTemplates = ClearableLazyValue.create(() -> { + try { + return HttpRequests.request(URL + ApplicationInfo.getInstance().getBuild().getProductCode() + "_templates.xml") + .connect(request -> { + try { + return create(JdomKt.loadElement(request.getReader())); + } + catch (JDOMException e) { + LOG.error(e); + return MultiMap.emptyInstance(); + } + }); } - }; + catch (IOException e) { // timeouts, lost connection etc + LOG.info(e); + } + catch (Exception e) { + LOG.error(e); + } + return MultiMap.emptyInstance(); + }); @NotNull @Override @@ -98,7 +94,7 @@ public class RemoteTemplatesFactory extends ProjectTemplatesFactory { } @NotNull - private static MultiMap create(@NotNull Element element) throws IOException, JDOMException { + private static MultiMap create(@NotNull Element element) { MultiMap map = MultiMap.create(); for (ArchivedProjectTemplate template : createGroupTemplates(element)) { map.putValue(template.getCategory(), template);