Пример #1
0
 public static void logDiagnostic(Diagnostic diagnostic) {
   if (getPlugin() != null) {
     getPlugin().log(BasicDiagnostic.toIStatus(diagnostic));
   } else {
     getDefault().log(diagnostic);
   }
 }
Пример #2
0
  public static void convertEcore2UML(Resource ecoreResource, Resource umlResource) {

    TransformationExecutor executor = new TransformationExecutor(transformationURI);

    ModelExtent input = new BasicModelExtent(ecoreResource.getContents());
    ModelExtent output = new BasicModelExtent();

    ExecutionContextImpl context = new ExecutionContextImpl();
    ExecutionDiagnostic diagnostic = executor.execute(context, input, output);

    if (diagnostic.getSeverity() == Diagnostic.OK) {
      umlResource.getContents().addAll(output.getContents());
    } else {
      IStatus status = BasicDiagnostic.toIStatus(diagnostic);
      InvokeActivator.getDefault().getLog().log(status);
    }
  }
  @Override
  protected IStatus run(IProgressMonitor monitor) {
    IStatus ret = Status.OK_STATUS;
    SubMonitor subMonitor = SubMonitor.convert(monitor, 100);
    Injector injector =
        TargetPlatformActivator.getInstance()
            .getInjector(TargetPlatformActivator.FR_OBEO_RELENG_TARGETPLATFORM_TARGETPLATFORM);
    Converter converter = new Converter();
    injector.injectMembers(converter);
    Diagnostic diagnostic = null;
    final String path = selectedElement.getLocation().toFile().getAbsolutePath();
    URI targetplatformFileURI = URI.createFileURI(path);

    try {
      diagnostic =
          converter.generateTargetDefinitionFile(targetplatformFileURI, subMonitor.newChild(95));
    } catch (OperationCanceledException cancel) {
      ret =
          new Status(
              IStatus.CANCEL,
              TargetPlatformActivator.FR_OBEO_RELENG_TARGETPLATFORM_TARGETPLATFORM,
              cancel.getMessage(),
              cancel);
    } catch (Exception e) {
      ret =
          new Status(
              IStatus.ERROR,
              TargetPlatformActivator.FR_OBEO_RELENG_TARGETPLATFORM_TARGETPLATFORM,
              e.getMessage(),
              e);
    }
    IContainer container = selectedElement.getParent();
    if (container != null) {
      try {
        container.refreshLocal(IResource.DEPTH_ONE, subMonitor.newChild(5));
      } catch (CoreException e) {
        return new Status(
            IStatus.ERROR,
            TargetPlatformActivator.getInstance().getBundle().getSymbolicName(),
            e.getMessage(),
            e);
      }
    }

    if (setTargetPlatform) {
      PDEIntegration pdeIntegration = new PDEIntegration();

      final URI targetFileURI =
          targetplatformFileURI.trimFileExtension().appendFileExtension("target");
      try {
        pdeIntegration.setTargetPlatform(targetFileURI, monitor);
      } catch (CoreException e) {
        ret =
            new Status(
                IStatus.ERROR,
                TargetPlatformActivator.FR_OBEO_RELENG_TARGETPLATFORM_TARGETPLATFORM,
                e.getMessage(),
                e);
      }
    }

    if (diagnostic != null) {
      return BasicDiagnostic.toIStatus(diagnostic);
    } else {
      return ret;
    }
  }