Package org.eclipse.wst.validation.internal.provisional.core

Examples of org.eclipse.wst.validation.internal.provisional.core.IMessage


   * @param reporter -
   *            the reporter the messages are to be added to
   */
  protected void updateValidationMessages(List messages, IDOMDocument document, IReporter reporter) {
    for (int i = 0; i < messages.size(); i++) {
      IMessage message = (IMessage) messages.get(i);
      try {
        if (message.getAttribute(COLUMN_NUMBER_ATTRIBUTE) != null) {
          int column = ((Integer) message.getAttribute(COLUMN_NUMBER_ATTRIBUTE)).intValue();
          if (message.getAttribute(AnnotationMsg.PROBMLEM_ID) != null && reporter instanceof IncrementalReporter){
            Integer problemId = (Integer)message.getAttribute(AnnotationMsg.PROBMLEM_ID);
            MarkupQuickAssistProcessor processor = new MarkupQuickAssistProcessor();
            processor.setProblemId(problemId.intValue());
            message.setOffset(column);
            Integer length = (Integer) message.getAttribute(AnnotationMsg.LENGTH);
            message.setLength( length.intValue());
            Object attrValue = message.getAttribute(AnnotationMsg.ATTRVALUETEXT);
            if (attrValue != null)
              processor.setAdditionalFixInfo(attrValue);
            else{
              Object attrValueNo = message.getAttribute(AnnotationMsg.ATTRVALUENO);
              if (attrValueNo != null){
                int len = ((Integer)attrValueNo).intValue();
                Object[] objArray = new Object[len];
                for ( int j=0; j<len; j++){
                  objArray[j] = message.getAttribute(AnnotationMsg.ATTRNO + j);
                }
                processor.setAdditionalFixInfo(objArray);
              }
             
            }
            message.setAttribute(QUICKASSISTPROCESSOR, processor);
            AnnotationInfo info = new AnnotationInfo(message);
            ((IncrementalReporter) reporter).addAnnotationInfo(this, info);
          }
          else  {
            String selectionStrategy = (String) message.getAttribute(SQUIGGLE_SELECTION_STRATEGY_ATTRIBUTE);
            String nameOrValue = (String) message.getAttribute(SQUIGGLE_NAME_OR_VALUE_ATTRIBUTE);

            // convert the line and Column numbers to an offset:
            int start = document.getStructuredDocument().getLineOffset(message.getLineNumber() - 1) + column - 1;
            int[] result = computeStartAndEndLocation(start, selectionStrategy, getErrorSide(message), nameOrValue, document);
            if (result != null) {
              message.setOffset(result[0]);
              message.setLength(result[1] - result[0]);
           
              reporter.addMessage(this, message);
            }
          }
          }
View Full Code Here


        ValidationResult result1 = new JSPActionValidator().validate(resource, kind, state, new SubProgressMonitor(monitor, 1));
        List messages = new ArrayList(result1.getReporter(new NullProgressMonitor()).getMessages());
        messages.addAll(result2.getReporter(new NullProgressMonitor()).getMessages());
        messages.addAll(result3.getReporter(new NullProgressMonitor()).getMessages());
        for (int i = 0; i < messages.size(); i++) {
          IMessage message = (IMessage) messages.get(i);
          if (message.getText() != null && message.getText().length() > 0) {
            ValidatorMessage vmessage = ValidatorMessage.create(message.getText(), resource);
            if (message.getAttributes() != null) {
              Map attrs = message.getAttributes();
              Iterator it = attrs.entrySet().iterator();
              while (it.hasNext()) {
                Map.Entry entry = (Map.Entry) it.next();
                if (!(entry.getValue() instanceof String || entry.getValue() instanceof Integer || entry.getValue() instanceof Boolean)) {
                  it.remove();
                }
              }
              vmessage.setAttributes(attrs);
            }
            vmessage.setAttribute(IMarker.LINE_NUMBER, message.getLineNumber());
            vmessage.setAttribute(IMarker.MESSAGE, message.getText());
            if (message.getOffset() > -1) {
              vmessage.setAttribute(IMarker.CHAR_START, message.getOffset());
              vmessage.setAttribute(IMarker.CHAR_END, message.getOffset() + message.getLength());
            }
            int severity = 0;
            switch (message.getSeverity()) {
              case IMessage.HIGH_SEVERITY :
                severity = IMarker.SEVERITY_ERROR;
                break;
              case IMessage.NORMAL_SEVERITY :
                severity = IMarker.SEVERITY_WARNING;
                break;
              case IMessage.LOW_SEVERITY :
                severity = IMarker.SEVERITY_INFO;
                break;
            }
            vmessage.setAttribute(IMarker.SEVERITY, severity);
            vmessage.setType(MARKER_TYPE);
            result.add(vmessage);
          }
        }
        monitor.done();
      }
      // TLD
      else {
        try {
          final IJavaProject javaProject = JavaCore.create(file.getProject());
          if (javaProject.exists()) {
            IScopeContext[] scopes = new IScopeContext[]{new InstanceScope(), new DefaultScope()};
            ProjectScope projectScope = new ProjectScope(file.getProject());
            if (projectScope.getNode(PREFERENCE_NODE_QUALIFIER).getBoolean(JSPCorePreferenceNames.VALIDATION_USE_PROJECT_SETTINGS, false)) {
              scopes = new IScopeContext[]{projectScope, new InstanceScope(), new DefaultScope()};
            }
            Map[] problems = detectProblems(javaProject, file, scopes);
            for (int i = 0; i < problems.length; i++) {
              ValidatorMessage message = ValidatorMessage.create(problems[i].get(IMarker.MESSAGE).toString(), resource);
              message.setType(MARKER_TYPE);
              message.setAttributes(problems[i]);
              result.add(message);
            }
          }
        }
        catch (Exception e) {
View Full Code Here

  /**
   */
  public void report(ValidationMessage message) {
    if (message == null || this.file == null || message.getSeverity() == ValidationMessage.IGNORE)
      return;
    IMessage mes = translateMessage(message);

    if (this.reporter != null) {
      this.reporter.addMessage(this.owner, mes);
    }
  }
View Full Code Here

        break;
      default :
        break;
    }

    IMessage mes = new LocalizedMessage(severity, message.getMessage(), this.file);
    mes.setOffset(message.getOffset());
    mes.setLength(message.getLength());
    if (this.model != null) {
      IStructuredDocument flatModel = this.model.getStructuredDocument();
      if (flatModel != null) {
        int line = flatModel.getLineOfOffset(message.getOffset());
        mes.setLineNo(line + 1);
      }
    }

    return mes;
  }
View Full Code Here

              JSPTranslation jspTranslation = ((JSPTranslation) translation);
              Position[] jspPositions = (Position[]) jspTranslation.getJsp2JavaMap().keySet().toArray(new Position[jspTranslation.getJsp2JavaMap().size()]);
              for (int i = 0; i < jspPositions.length; i++) {
                sourceStart = Math.max(sourceStart, jspPositions[i].getOffset());
              }
              IMessage m = new LocalizedMessage(sev, problem.getMessage(), f);
              m.setOffset(sourceStart);
              m.setLength(1);
              return m;
            }
            else {
              return null;
            }
          }
      }
    }
    if (sev == ValidationMessage.IGNORE) {
      return null;
    }

    // line number for marker starts @ 1
    // line number from document starts @ 0
    int lineNo = structuredDoc.getLineOfOffset(sourceStart) + 1;

    IMessage m = new LocalizedMessage(sev, problem.getMessage(), f);

    m.setLineNo(lineNo);
    m.setOffset(sourceStart);
    m.setLength((sourceEnd >= sourceStart) ? (sourceEnd - sourceStart + 1) : 0);

    // need additional adjustment for problems from
    // indirect (included) files
    // https://bugs.eclipse.org/bugs/show_bug.cgi?id=119633
    if (translation.isIndirect(problem.getSourceStart())) {
View Full Code Here

           * Possible error in problem collection; EL translation is
           * extensible, so we must be paranoid about this.
           */
          if (problem == null)
            continue;
          IMessage m = createMessageFromProblem(problem, f, translation, domModel.getStructuredDocument());
          if (m != null) {
            if (problem.getID() == IProblem.Task) {
              if (updateJavaTasks) {
                // add new Java task marker
                try {
                  IMarker task = f.createMarker(JAVA_TASK_MARKER_TYPE);
                  task.setAttribute(IMarker.LINE_NUMBER, new Integer(m.getLineNumber()));
                  task.setAttribute(IMarker.CHAR_START, new Integer(m.getOffset()));
                  task.setAttribute(IMarker.CHAR_END, new Integer(m.getOffset() + m.getLength()));
                  task.setAttribute(IMarker.MESSAGE, m.getText());
                  task.setAttribute(IMarker.USER_EDITABLE, Boolean.FALSE);

                  switch (m.getSeverity()) {
                    case IMessage.HIGH_SEVERITY: {
                      task.setAttribute(IMarker.PRIORITY, new Integer(IMarker.PRIORITY_HIGH));
                      task.setAttribute(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
                    }
                      break;
View Full Code Here

    List annotations = new ArrayList();
    for (int i = 0; i < infos.length; i++) {

      AnnotationInfo info = infos[i];

      IMessage validationMessage = info.getMessage();
      int offset = validationMessage.getOffset();
      if (offset < 0)
        continue;

      String messageText = null;
      try {
        messageText = validationMessage.getText(validationMessage.getClass().getClassLoader());
      }
      catch (Exception t) {
        Logger.logException("exception reporting message from validator", t); //$NON-NLS-1$
        continue;
      }
      String type = getSeverity(validationMessage);
      // this position seems like it would be possibly be the wrong
      // length
      int length = validationMessage.getLength();
      if (length >= 0) {

        Position p = new Position(offset, length);
        ReconcileAnnotationKey key = createKey(getPartitionType(getDocument(), offset), getScope());

        // create an annotation w/ problem ID and fix info
        TemporaryAnnotation annotation = new TemporaryAnnotation(p, type, messageText, key);
        Object extraInfo = info.getAdditionalFixInfo();
        // https://bugs.eclipse.org/bugs/show_bug.cgi?id=170988
        // add quick fix information
        if (extraInfo == null) {
          extraInfo = validationMessage.getAttribute(QUICKASSISTPROCESSOR);
        }
        annotation.setAdditionalFixInfo(extraInfo);
        annotation.setAttributes(validationMessage.getAttributes());
        annotations.add(annotation);
      }
    }
    return (IReconcileResult[]) annotations.toArray(new IReconcileResult[annotations.size()]);
  }
View Full Code Here

  /**
   */
  public void report(ValidationMessage message) {
    if (message == null || this.file == null || message.getSeverity() == ValidationMessage.IGNORE)
      return;
    IMessage mes = translateMessage(message);

    if (this.reporter != null) {
      this.reporter.addMessage(this.owner, mes);
    }
   
View Full Code Here

        break;
      default :
        break;
    }

    IMessage mes = new LocalizedMessage(severity, message.getMessage(), this.file);
    mes.setOffset(message.getOffset());
    mes.setLength(message.getLength());
    if (this.model != null) {
      IStructuredDocument flatModel = this.model.getStructuredDocument();
      if (flatModel != null) {
        int line = flatModel.getLineOfOffset(message.getOffset());
        mes.setLineNo(line + 1);
      }
    }

    return mes;
  }
View Full Code Here

                    || "".equals(propertyClass.trim())) //$NON-NLS-1$
            {
                return;
            }
           
            IMessage message = null;
            EObject eObj = null;
            if (managedBeanType.getMapEntries() != null)
            {
                eObj = managedBeanType.getMapEntries();
                message =
View Full Code Here

TOP

Related Classes of org.eclipse.wst.validation.internal.provisional.core.IMessage

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.