Java 类org.eclipse.ui.forms.IMessage 实例源码

项目:dawn-marketplace-server    文件:OverviewPage.java   
private void createActions(IToolBarManager manager) {
    Action publishAction = new Action("Publish to DAWN marketplace", Action.AS_PUSH_BUTTON) {

        @Override
        public ImageDescriptor getImageDescriptor() {
            return Activator.getImageDescriptor("icons/publish.png");
        }

        @Override
        public void run() {
            OverviewPage.this.getManagedForm().getMessageManager().removeAllMessages();
            try {
                scheduleExportJob();
            } catch (IOException e) {
                OverviewPage.this.getManagedForm().getMessageManager().addMessage(MPC, e.getMessage(), null,
                        IMessage.ERROR);
            }
        }

    };
    manager.add(publishAction);
    manager.update(true);
}
项目:mytourbook    文件:MessageManager.java   
public void update() {
    if (controlMessages.isEmpty()) {
        decoration.setDescriptionText(null);
        decoration.hide();
    } else {
        final ArrayList peers = createPeers(controlMessages);
        final int type = ((IMessage) peers.get(0)).getMessageType();
        final String description = createDetails(createPeers(peers), true);
        if (type == IMessageProvider.ERROR)
            decoration.setImage(standardError.getImage());
        else if (type == IMessageProvider.WARNING)
            decoration.setImage(standardWarning.getImage());
        else if (type == IMessageProvider.INFORMATION)
            decoration.setImage(standardInformation.getImage());
        decoration.setDescriptionText(description);
        decoration.show();
    }
}
项目:mytourbook    文件:MessageManager.java   
private void update(final ArrayList mergedList) {
    pruneControlDecorators();
    if (scrolledForm.getHead().getBounds().height == 0 || mergedList.isEmpty() || mergedList == null) {
        scrolledForm.setMessage(null, IMessageProvider.NONE);
        return;
    }
    final ArrayList peers = createPeers(mergedList);
    final int maxType = ((IMessage) peers.get(0)).getMessageType();
    String messageText;
    final IMessage[] array = (IMessage[]) peers.toArray(new IMessage[peers.size()]);
    if (peers.size() == 1 && ((Message) peers.get(0)).prefix == null) {
        // a single message
        final IMessage message = (IMessage) peers.get(0);
        messageText = message.getMessage();
        scrolledForm.setMessage(messageText, maxType, array);
    } else {
        // show a summary message for the message
        // and list of errors for the details
        if (peers.size() > 1)
            messageText = Messages.bind(MULTIPLE_MESSAGE_SUMMARY_KEYS[maxType], new String[] { peers.size() + "" }); //$NON-NLS-1$
        else
            messageText = SINGLE_MESSAGE_SUMMARY_KEYS[maxType];
        scrolledForm.setMessage(messageText, maxType, array);
    }
}
项目:ant-ivyde    文件:ResolveVisualizerForm.java   
private void configureFormText(final Form form, FormText text) {
    text.addHyperlinkListener(new HyperlinkAdapter() {
        @SuppressWarnings("unchecked")
        public void linkActivated(HyperlinkEvent e) {
            String is = (String) e.getHref();
            try {
                ((FormText) e.widget).getShell().dispose();
                int index = Integer.parseInt(is);
                IMessage[] messages = form.getChildrenMessages();
                IMessage message = messages[index];
                Set<IvyNodeElement> conflicts = (Set<IvyNodeElement>) message.getData();
                if (conflicts != null) {
                    viewer.setSelection(new StructuredSelection(new ArrayList<>(conflicts)));
                }
            } catch (NumberFormatException ex) {
            }
        }
    });
    text.setImage("error", getImage(IMessageProvider.ERROR));
    text.setImage("warning", getImage(IMessageProvider.WARNING));
    text.setImage("info", getImage(IMessageProvider.INFORMATION));
}
项目:dawn-marketplace-server    文件:OverviewPage.java   
protected void uploadFile(CloseableHttpClient client, Path path, String segment) throws ClientProtocolException, IOException {
    String token = getCsrfToken(client);
    String url = getMarketplaceUrl();

    // upload the p2-repository file
    HttpPost httpPost = new HttpPost(url + "/"+segment);
    httpPost.addHeader(X_CSRF_TOKEN, token);
    HttpEntity file = MultipartEntityBuilder
            .create()
            .addBinaryBody("file", path.toFile())
            .addTextBody("id", solution.getId().toString())
            .build();        
    httpPost.setEntity(file);
    HttpResponse response = client.execute(httpPost);
    int statusCode = response.getStatusLine().getStatusCode();
    if (statusCode == 200) {
        String result = EntityUtils.toString(response.getEntity());
        // obtain some key values from the server version
        // and update the local instance
        Node node = MarketplaceSerializer.deSerializeSolution(result);
        solution.setChanged(node.getChanged());
        addMessage(IMessage.INFORMATION, "File "+path.getFileName()+" uploaded");
    } else {
        String reasonPhrase = response.getStatusLine().getReasonPhrase();
        addMessage(IMessage.ERROR, reasonPhrase);
    }
}
项目:dawn-marketplace-server    文件:OverviewPage.java   
private void uploadForm(CloseableHttpClient client)
        throws ClientProtocolException, IOException, UnsupportedEncodingException {
    OverviewPage.this.getManagedForm().getMessageManager().removeMessage(MPC);

    String token = getCsrfToken(client);
    String url = getMarketplaceUrl();

    // upload the form
    HttpPost httpPost = new HttpPost(url + "/upload");
    httpPost.addHeader(X_CSRF_TOKEN, token);
    HttpEntity entity = new ByteArrayEntity(
            MarketplaceSerializer.serialize(solution).getBytes("UTF-8"));
    httpPost.setEntity(entity);
    HttpResponse response = client.execute(httpPost);
    int statusCode = response.getStatusLine().getStatusCode();
    if (statusCode == 200) {
        String result = EntityUtils.toString(response.getEntity());
        // obtain some key values from the server version
        // and update the local instance
        Node node = MarketplaceSerializer.deSerializeSolution(result);
        solution.setId(node.getId());
        solution.setChanged(node.getChanged());
        solution.setCreated(node.getCreated());
        addMessage(IMessage.INFORMATION, "Solution uploaded");
    } else {
        String reasonPhrase = response.getStatusLine().getReasonPhrase();
        addMessage(IMessage.ERROR, reasonPhrase);
    }
}
项目:mytourbook    文件:MessageManager.java   
public static String createDetails(final IMessage[] messages) {
    if (messages == null || messages.length == 0)
        return null;
    final StringWriter sw = new StringWriter();
    final PrintWriter out = new PrintWriter(sw);

    for (int i = 0; i < messages.length; i++) {
        if (i > 0)
            out.println();
        out.print(getFullMessage(messages[i]));
    }
    out.flush();
    return sw.toString();
}
项目:mytourbook    文件:MessageManager.java   
private String createDetails(final ArrayList messages, final boolean excludePrefix) {
    final StringWriter sw = new StringWriter();
    final PrintWriter out = new PrintWriter(sw);

    for (int i = 0; i < messages.size(); i++) {
        if (i > 0)
            out.println();
        final IMessage m = (IMessage) messages.get(i);
        out.print(excludePrefix ? m.getMessage() : getFullMessage(m));
    }
    out.flush();
    return sw.toString();
}
项目:ant-ivyde    文件:ResolveVisualizerForm.java   
String createFormTextContent(IMessage[] messages) {
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw);
    pw.println("<form>");
    for (int i = 0; i < messages.length; i++) {
        IMessage message = messages[i];
        pw.print("<li vspace=\"false\" style=\"image\" indent=\"16\" value=\"");
        switch (message.getMessageType()) {
        case IMessageProvider.ERROR:
            pw.print("error");
            break;
        case IMessageProvider.WARNING:
            pw.print("warning");
            break;
        case IMessageProvider.INFORMATION:
            pw.print("info");
            break;
        }
        pw.print("\"> <a href=\"");
        pw.print(i + "");
        pw.print("\">");
        if (message.getPrefix() != null) {
            pw.print(message.getPrefix());
        }
        pw.print(message.getMessage());
        pw.println("</a></li>");
    }
    pw.println("</form>");
    pw.flush();
    return sw.toString();
}
项目:olca-app    文件:GlobalParameterInfoPage.java   
private void evalFormulas() {
    form.getMessageManager().removeAllMessages();
    List<String> errors = Formulas.eval(parameters);
    hasErrors = errors.size() > 0;
    for (String error : errors)
        form.getMessageManager()
                .addMessage("invalidFormula", M.InvalidFormula + ": " + error, null, IMessage.ERROR);
}
项目:dawn-marketplace-server    文件:OverviewPage.java   
protected void scheduleExportJob() throws IOException {

    Path folder = Files.createTempDirectory("eclipse-export", new FileAttribute<?>[0]);
    final FeatureExportInfo info = new FeatureExportInfo();
    info.toDirectory = false; // in order to install from the repository
    info.useJarFormat = true;
    info.exportSource = false;
    info.exportSourceBundle = false;
    info.allowBinaryCycles = true;
    info.useWorkspaceCompiledClasses = false;
    info.destinationDirectory = folder.toString();
    info.zipFileName = "p2-repo.zip";
    info.items = getFeatures();
    info.signingInfo = null; //
    info.exportMetadata = true;
    info.qualifier = QualifierReplacer.getDateQualifier();

    final FeatureExportOperation job = new FeatureExportOperation(info, PDEUIMessages.FeatureExportJob_name);
    job.setUser(true);
    job.setRule(ResourcesPlugin.getWorkspace().getRoot());
    job.setProperty(IProgressConstants.ICON_PROPERTY, PDEPluginImages.DESC_PLUGIN_OBJ);

    // listen to job changes, we'll upload stuff when the building has been done 
    job.addJobChangeListener(new JobChangeAdapter() {
        public void done(IJobChangeEvent event) {
            if (job.hasAntErrors()) {
                // if there were errors when running the ant scripts, inform
                // the user where the logs can be found.
                final File logLocation = new File(info.destinationDirectory, "logs.zip"); //$NON-NLS-1$
                if (logLocation.exists()) {
                    PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
                        public void run() {
                            AntErrorDialog dialog = new AntErrorDialog(logLocation);
                            dialog.open();
                        }
                    });
                }
            } else if (event.getResult().isOK()) {
                // can publish
                try (CloseableHttpClient client = HttpClientBuilder.create().build()) {
                    // sign in and upload items
                    if (signIn(client)) {
                        uploadForm(client);                         
                        // upload the images
                        if (solution.getScreenshot() != null) {
                            uploadFile(client, Paths.get(solution.getScreenshot()), "upload-screenshot");
                        }
                        if (solution.getImage() != null) {
                            uploadFile(client, Paths.get(solution.getImage()), "upload-image");
                        }
                        // upload the repository
                        uploadFile(client, folder.resolve("p2-repo.zip"),"upload-p2repo");
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    addMessage(IMessage.ERROR, e.getMessage());
                }

            }
        }

    });
    job.schedule();
}
项目:mytourbook    文件:MessageManager.java   
private static String getFullMessage(final IMessage message) {
    if (message.getPrefix() == null)
        return message.getMessage();
    return message.getPrefix() + message.getMessage();
}
项目:mytourbook    文件:MessageManager.java   
public String createSummary(final IMessage[] messages) {
    return createDetails(messages);
}