package com.intellij.flex.uiDesigner; import com.intellij.flex.uiDesigner.libraries.InitException; import com.intellij.flex.uiDesigner.libraries.LibraryManager; import com.intellij.flex.uiDesigner.mxml.ProjectComponentReferenceCounter; import com.intellij.openapi.module.Module; import com.intellij.openapi.progress.ProgressIndicator; import org.jetbrains.annotations.NotNull; import java.io.IOException; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeoutException; class DocumentTaskExecutor extends DocumentTask { public DocumentTaskExecutor(@NotNull final Module module, @NotNull final PostTask postTask) { super(module, postTask); } @Override boolean doRun(ProgressIndicator indicator) throws IOException, ExecutionException, InterruptedException, TimeoutException { final ProjectComponentReferenceCounter projectComponentReferenceCounter; if (Client.getInstance().isModuleRegistered(module)) { projectComponentReferenceCounter = null; } else { try { projectComponentReferenceCounter = LibraryManager.getInstance().registerModule(module, problemsHolder); } catch (InitException e) { processInitException(e, module, false); return false; } } return postTask.run(module, projectComponentReferenceCounter, indicator, problemsHolder); } @Override protected void processErrorOrCancel() { } }