Examples of DestecsModel


Examples of org.destecs.ide.core.resources.DestecsModel

    }
  };

  public static void build(IDestecsProject project)
  {
    final DestecsModel model = project.getModel();
    try
    {
      model.setOk(true);
      // Check contract parser
      parseContract(project);

      // check vdmlink parser
      parseVdmLinks(project);

      if (model.getLinks() == null || model.getContract() == null)
      {
        model.setChecked(false);
        model.setOk(false);
        return;
      }

      // type checking
      if (!typeCheck(project.getContractFile(), model.getContract()))
      {
        model.setContract(null);
        model.setChecked(false);
        model.setOk(false);
        return;
      }

      if (!typeCheckContract(project.getContractFile(), model.getLinks(),
          model.getContract()))
      {
        model.setLinks(null);
        model.setChecked(false);
        model.setOk(false);
        return;
      }

      typeCheckLinks(project.getVdmLinkFile(), model.getLinks(),
          model.getContract());

      DeMetadataChecker checker = new DeMetadataChecker(project,
          model.getLinks());
      checker.checkLinks();
      if (checker.hasErrors())
      {
        for (LinkError error : checker.getErrors())
        {
          addError(project.getVdmLinkFile(), error.getLine() + 1,
              error.getReason());
        }
        model.setOk(false);
        model.setChecked(true);
      }


    } catch (Exception e)
    {
      model.setOk(false);
      model.setChecked(true);
      e.printStackTrace();
      DestecsCorePlugin.log("Error in Destecs builder for project: "+project, e);
    }

View Full Code Here

Examples of org.destecs.ide.core.resources.DestecsModel

   *
   * @param project
   */
  private static void parseVdmLinks(IDestecsProject project)
  {
    DestecsModel model = project.getModel();
    if (!project.getVdmLinkFile().exists())
    {
      model.setLinks(null);
      model.setOk(false);
    } else
    {

      FileUtility.deleteMarker(project.getVdmLinkFile(), IMarker.PROBLEM,
          IDestecsCoreConstants.PLUGIN_ID);
      try
      {
        model.setLinks(ParserUtil.getVdmLinks(project, errorHandler));
      } catch (Exception e)
      {
        addError(project.getVdmLinkFile(), 0,
            "Internal error: Failed to parse");
        model.setLinks(null);
        model.setOk(false);
      }
    }
  }
View Full Code Here

Examples of org.destecs.ide.core.resources.DestecsModel

   *
   * @param project
   */
  private static void parseContract(IDestecsProject project)
  {
    DestecsModel model = project.getModel();
    if (!project.getContractFile().exists())
    {
      model.setContract(null);
      model.setOk(false);
    } else
    {

      FileUtility.deleteMarker(project.getContractFile(),
          IMarker.PROBLEM, IDestecsCoreConstants.PLUGIN_ID);
      try
      {
        model.setContract(ParserUtil.getContract(project, errorHandler));
       
      } catch (Exception e)
      {
        addError(project.getContractFile(), 0,
            "Internal error: Failed to parse");
        model.setContract(null);
        model.setOk(false);
      }
    }
  }
View Full Code Here

Examples of org.destecs.ide.core.resources.DestecsModel

  public static void build(IDestecsProject project)
  {
    try
    {
      DestecsModel model = project.getModel();
      model.setScriptOk(true);
      List<IFile> scenarios = project.getScenarioFiles();
      for (IFile iFile : scenarios)
      {
        try
        {
          if (iFile.getName().endsWith(".script"))
          {
            FileUtility.deleteMarker(iFile, IMarker.PROBLEM, IDestecsCoreConstants.PLUGIN_ID);
            if(ParserUtil.getScenario(project, iFile, errorHandler)==null)
            {
              model.setScriptOk(false);
            }
          } else if (iFile.getName().endsWith(".script2"))
          {
            FileUtility.deleteMarker(iFile, IMarker.PROBLEM, IDestecsCoreConstants.PLUGIN_ID);
            if(ParserUtil.getScript(project, iFile, errorHandler)==null)
            {
              model.setScriptOk(false);
            }
          }
        } catch (Exception e)
        {
          DestecsCorePlugin.log("Failure in script parser", e);
View Full Code Here

Examples of org.destecs.ide.core.resources.DestecsModel

 
  public boolean typeCheck(IProgressMonitor monitor) throws CoreException
  {

    // getProject().build(IncrementalProjectBuilder.FULL_BUILD, null);
    DestecsModel model = getModel();
    if (model.isOk())
    {
      return true; // no need to do any work
    } else
    {
      final IDestecsProject currentProject = this;

      final IProgressMonitor mon = monitor;
      ISafeRunnable runnable = new ISafeRunnable()
      {

        public void handleException(Throwable e)
        {
          DestecsCorePlugin.log("DestecsProject typeCheck ISafeRunnable", e);
        }

        @SuppressWarnings("deprecation")
        public void run() throws Exception
        {

          final SafeBuilder builder = new SafeBuilder(currentProject, mon);
          builder.start();
          while (builder.isAlive())
          {
            Thread.sleep(100);
            if (mon.isCanceled())
            {
              builder.stop();
            }
          }

        }

      };
      SafeRunner.run(runnable);

      return model.isOk();
    }
  }
View Full Code Here

Examples of org.destecs.ide.core.resources.DestecsModel

    }

    selectScenarioButton.setEnabled(true);

    IDestecsProject destecsProject = (IDestecsProject) getProject().getAdapter(IDestecsProject.class);
    DestecsModel destecsModel = destecsProject.getModel();

    IPreferenceStore store = DestecsUIPlugin.getDefault().getPreferenceStore();
    Boolean typeCheck = store.getBoolean(IDestecsPreferenceConstants.ACTIVATE_DESTECSCHECK_PREFERENCE);

    if (!destecsModel.isOk())
    {
      if (typeCheck
          && !DestecsTypeCheckerUi.typeCheck(getShell(), destecsProject))
      {
        setErrorMessage("Errors in Model Configuration.: (Contract or VDM Link)");
View Full Code Here

Examples of org.destecs.ide.core.resources.DestecsModel

  public static boolean typeCheck(Shell shell, final IDestecsProject project)
  {
    Assert.isNotNull(shell, "Shell for type checker cannot be null");
    Assert.isNotNull(project, "Project for type checker cannot be null");

    final DestecsModel model = project.getModel();

    final CompletedStatus checkCompleted = new CompletedStatus();

    try
    {
      IRunnableWithProgress op = new IRunnableWithProgress()
      {

        public void run(IProgressMonitor monitor)
            throws InvocationTargetException, InterruptedException
        {
          try
          {
            model.setOk(false);
            project.typeCheck(monitor);
            checkCompleted.setCompledted();

          } catch (CoreException e)
          {
View Full Code Here

Examples of org.destecs.ide.core.resources.DestecsModel

  public static boolean typeCheck(final IDestecsProject project,
      IProgressMonitor monitorParent)
  {
    Assert.isNotNull(project, "Project for type checker cannot be null");

    final DestecsModel model = project.getModel();

    IProgressMonitor monitor = new SubProgressMonitor(monitorParent, 20);
    final CompletedStatus checkCompleted = new CompletedStatus();
    model.setOk(false);
    try
    {
      project.typeCheck(monitor);
    } catch (CoreException e1)
    {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.