@Override
  public IDecorator[] getDecorators(final PictogramElement pe) {
    IFeatureProvider featureProvider = getFeatureProvider();
    Object bo = featureProvider.getBusinessObjectForPictogramElement(pe);
    Integer objectId;
    if (bo instanceof Method) {
      System.out.println("CHECKING METHOD");
      objectId = System.identityHashCode(bo.getClass());
      try { // generate decorator and markers
        if (!XcoreValidator.INSTANCE.validateMethod((Method) bo, diagnosticChain, null)) {
          Diagnostic lastDiagnostic =
              diagnosticChain.getChildren().get(diagnosticChain.getChildren().size() - 1);
          markers.put(
              objectId,
              AtomicDesignUtils.createMarker(
                  lastDiagnostic.getMessage(),
                  IMarker.SEVERITY_ERROR,
                  ((Method) bo).getClass().getName()));
          return new ImageDecorator[] {
            AtomicDesignUtils.createImageDecorator(
                lastDiagnostic, lastDiagnostic.getMessage(), 20, 0)
          };

        } else {
          AtomicDesignUtils.destroyMarker(markers.get(objectId));
        }

      } catch (CoreException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }

    if (bo instanceof ComputationUnit) {
      System.out.println("CHECKING CU");
      if (!XcoreValidator.INSTANCE.validateComputationUnit(
          (ComputationUnit) bo, diagnosticChain, null)) {
        System.out.println("CHECKING METHOD");
      }
    }
    if (bo instanceof DataElement) {
      System.out.println("CHECKING DATAELEMENT");
      if (!XcoreValidator.INSTANCE.validateDataElement((DataElement) bo, diagnosticChain, null)) {}
    }

    if (bo instanceof Service) {
      System.out.println("CHECKING SERVICE");
      if (!XcoreValidator.INSTANCE.validateService((Service) bo, diagnosticChain, null)) {}
    }

    if (bo instanceof Parameter) {
      System.out.println("CHECKING PARAMETER");
      if (!XcoreValidator.INSTANCE.validateParameter((Parameter) bo, diagnosticChain, null)) {}
    }

    return super.getDecorators(pe);
  }
Exemplo n.º 2
0
 /**
  * Validates the MemberTypes constraint of '<em>Length</em>'.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateLength_MemberTypes(
     Object length, DiagnosticChain diagnostics, Map<Object, Object> context) {
   if (diagnostics != null) {
     BasicDiagnostic tempDiagnostics = new BasicDiagnostic();
     if (XMLTypePackage.Literals.NON_NEGATIVE_INTEGER.isInstance(length)) {
       if (xmlTypeValidator.validateNonNegativeInteger(
           (BigInteger) length, tempDiagnostics, context)) return true;
     }
     if (DatatypesPackage.Literals.LENGTH_MEMBER1.isInstance(length)) {
       if (validateLengthMember1((String) length, tempDiagnostics, context)) return true;
     }
     for (Diagnostic diagnostic : tempDiagnostics.getChildren()) {
       diagnostics.add(diagnostic);
     }
   } else {
     if (XMLTypePackage.Literals.NON_NEGATIVE_INTEGER.isInstance(length)) {
       if (xmlTypeValidator.validateNonNegativeInteger((BigInteger) length, null, context))
         return true;
     }
     if (DatatypesPackage.Literals.LENGTH_MEMBER1.isInstance(length)) {
       if (validateLengthMember1((String) length, null, context)) return true;
     }
   }
   return false;
 }
Exemplo n.º 3
0
 /**
  * Validates the MemberTypes constraint of '<em>Frame Target</em>'.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateFrameTarget_MemberTypes(
     Object frameTarget, DiagnosticChain diagnostics, Map<Object, Object> context) {
   if (diagnostics != null) {
     BasicDiagnostic tempDiagnostics = new BasicDiagnostic();
     if (DatatypesPackage.Literals.FRAME_TARGET_MEMBER0.isInstance(frameTarget)) {
       if (validateFrameTargetMember0((FrameTargetMember0) frameTarget, tempDiagnostics, context))
         return true;
     }
     if (DatatypesPackage.Literals.FRAME_TARGET_MEMBER1.isInstance(frameTarget)) {
       if (validateFrameTargetMember1((String) frameTarget, tempDiagnostics, context)) return true;
     }
     for (Diagnostic diagnostic : tempDiagnostics.getChildren()) {
       diagnostics.add(diagnostic);
     }
   } else {
     if (DatatypesPackage.Literals.FRAME_TARGET_MEMBER0.isInstance(frameTarget)) {
       if (validateFrameTargetMember0((FrameTargetMember0) frameTarget, null, context))
         return true;
     }
     if (DatatypesPackage.Literals.FRAME_TARGET_MEMBER1.isInstance(frameTarget)) {
       if (validateFrameTargetMember1((String) frameTarget, null, context)) return true;
     }
   }
   return false;
 }
Exemplo n.º 4
0
 private RefactoringStatus validate(IProgressMonitor pm, EObject object) {
   RefactoringStatus refactoringStatus = RefactoringStatus.create(Status.OK_STATUS);
   EValidator.Registry validatorRegistry =
       extensions.getInstance(EValidator.Registry.class, object);
   EPackage epackage = object.eClass().getEPackage();
   EValidator validator = validatorRegistry.getEValidator(epackage);
   BasicDiagnostic diagnostics = new BasicDiagnostic();
   if (pm.isCanceled()) {
     refactoringStatus = RefactoringStatus.create(Status.CANCEL_STATUS);
     pm.done();
   } else {
     SubMonitor sm = SubMonitor.convert(pm, "Validating re-factoring.", IProgressMonitor.UNKNOWN);
     validator.validate(object, diagnostics, Maps.newHashMap());
     Iterator<Diagnostic> validationIterator =
         Iterables.filter(
                 diagnostics.getChildren(),
                 new Predicate<Diagnostic>() {
                   @Override
                   public boolean apply(Diagnostic diagnostic) {
                     if (diagnostic instanceof FeatureBasedDiagnostic) {
                       return FeatureBasedDiagnostic.ERROR
                           == ((FeatureBasedDiagnostic) diagnostic).getSeverity();
                     }
                     return false;
                   }
                 })
             .iterator();
     if (validationIterator.hasNext()) {
       Diagnostic diagnostic = validationIterator.next();
       refactoringStatus = RefactoringStatus.createFatalErrorStatus(diagnostic.getMessage());
     }
     sm.done();
   }
   return refactoringStatus;
 }
Exemplo n.º 5
0
 /**
  * Validates the MemberTypes constraint of '<em>Log Type</em>'.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateLogType_MemberTypes(
     Object logType, DiagnosticChain diagnostics, Map<Object, Object> context) {
   if (diagnostics != null) {
     BasicDiagnostic tempDiagnostics = new BasicDiagnostic();
     if (EsmConfigPackage.Literals.LOG_TYPE_MEMBER0.isInstance(logType)) {
       if (validateLogTypeMember0((Integer) logType, tempDiagnostics, context)) return true;
     }
     if (EsmConfigPackage.Literals.LOG_TYPE_MEMBER1.isInstance(logType)) {
       if (validateLogTypeMember1((List<?>) logType, tempDiagnostics, context)) return true;
     }
     for (Diagnostic diagnostic : tempDiagnostics.getChildren()) {
       diagnostics.add(diagnostic);
     }
   } else {
     if (EsmConfigPackage.Literals.LOG_TYPE_MEMBER0.isInstance(logType)) {
       if (validateLogTypeMember0((Integer) logType, null, context)) return true;
     }
     if (EsmConfigPackage.Literals.LOG_TYPE_MEMBER1.isInstance(logType)) {
       if (validateLogTypeMember1((List<?>) logType, null, context)) return true;
     }
   }
   return false;
 }
Exemplo n.º 6
0
 /**
  * Validates the MemberTypes constraint of '<em>Multi Length</em>'.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateMultiLength_MemberTypes(
     Object multiLength, DiagnosticChain diagnostics, Map<Object, Object> context) {
   if (diagnostics != null) {
     BasicDiagnostic tempDiagnostics = new BasicDiagnostic();
     if (DatatypesPackage.Literals.LENGTH.isInstance(multiLength)) {
       if (validateLength(multiLength, tempDiagnostics, context)) return true;
     }
     if (DatatypesPackage.Literals.MULTI_LENGTH_MEMBER1.isInstance(multiLength)) {
       if (validateMultiLengthMember1((String) multiLength, tempDiagnostics, context)) return true;
     }
     for (Diagnostic diagnostic : tempDiagnostics.getChildren()) {
       diagnostics.add(diagnostic);
     }
   } else {
     if (DatatypesPackage.Literals.LENGTH.isInstance(multiLength)) {
       if (validateLength(multiLength, null, context)) return true;
     }
     if (DatatypesPackage.Literals.MULTI_LENGTH_MEMBER1.isInstance(multiLength)) {
       if (validateMultiLengthMember1((String) multiLength, null, context)) return true;
     }
   }
   return false;
 }
Exemplo n.º 7
0
 /**
  * Validates the MemberTypes constraint of '<em>Color</em>'.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateColor_MemberTypes(
     String color, DiagnosticChain diagnostics, Map<Object, Object> context) {
   if (diagnostics != null) {
     BasicDiagnostic tempDiagnostics = new BasicDiagnostic();
     if (XMLTypePackage.Literals.NMTOKEN.isInstance(color)) {
       if (xmlTypeValidator.validateNMTOKEN(color, tempDiagnostics, context)) return true;
     }
     if (DatatypesPackage.Literals.COLOR_MEMBER1.isInstance(color)) {
       if (validateColorMember1(color, tempDiagnostics, context)) return true;
     }
     for (Diagnostic diagnostic : tempDiagnostics.getChildren()) {
       diagnostics.add(diagnostic);
     }
   } else {
     if (XMLTypePackage.Literals.NMTOKEN.isInstance(color)) {
       if (xmlTypeValidator.validateNMTOKEN(color, null, context)) return true;
     }
     if (DatatypesPackage.Literals.COLOR_MEMBER1.isInstance(color)) {
       if (validateColorMember1(color, null, context)) return true;
     }
   }
   return false;
 }
Exemplo n.º 8
0
 /**
  * Validates the MemberTypes constraint of '<em>UR Ior Safe CURIE</em>'.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public boolean validateURIorSafeCURIE_MemberTypes(
     String urIorSafeCURIE, DiagnosticChain diagnostics, Map<Object, Object> context) {
   if (diagnostics != null) {
     BasicDiagnostic tempDiagnostics = new BasicDiagnostic();
     if (XMLTypePackage.Literals.ANY_URI.isInstance(urIorSafeCURIE)) {
       if (xmlTypeValidator.validateAnyURI(urIorSafeCURIE, tempDiagnostics, context)) return true;
     }
     if (DatatypesPackage.Literals.SAFE_CURIE.isInstance(urIorSafeCURIE)) {
       if (validateSafeCURIE(urIorSafeCURIE, tempDiagnostics, context)) return true;
     }
     for (Diagnostic diagnostic : tempDiagnostics.getChildren()) {
       diagnostics.add(diagnostic);
     }
   } else {
     if (XMLTypePackage.Literals.ANY_URI.isInstance(urIorSafeCURIE)) {
       if (xmlTypeValidator.validateAnyURI(urIorSafeCURIE, null, context)) return true;
     }
     if (DatatypesPackage.Literals.SAFE_CURIE.isInstance(urIorSafeCURIE)) {
       if (validateSafeCURIE(urIorSafeCURIE, null, context)) return true;
     }
   }
   return false;
 }