当前位置: 首页>>代码示例>>Java>>正文


Java ProjectData类代码示例

本文整理汇总了Java中com.intellij.openapi.externalSystem.model.project.ProjectData的典型用法代码示例。如果您正苦于以下问题:Java ProjectData类的具体用法?Java ProjectData怎么用?Java ProjectData使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ProjectData类属于com.intellij.openapi.externalSystem.model.project包,在下文中一共展示了ProjectData类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: collectComponentsToScan

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
@Override
protected Components collectComponentsToScan(@Nullable DataNode<ProjectData> externalProject) {
    Components components = ComponentsFactory.create();
    // This set is used to make sure the artifacts added are unique
    Set<String> added = Sets.newHashSet();
    for (MavenProject mavenProject : MavenProjectsManager.getInstance(project).getProjects()) {
        for (MavenArtifactNode mavenArtifactNode : mavenProject.getDependencyTree()) {
            if (added.add(mavenArtifactNode.getArtifact().getDisplayStringForLibraryName())) {
                addArtifact(components, mavenArtifactNode.getArtifact());
                for (MavenArtifactNode artifactNode : mavenArtifactNode.getDependencies()) {
                    addArtifact(components, artifactNode.getArtifact());
                }
            }
        }
    }
    return components;
}
 
开发者ID:JFrogDev,项目名称:jfrog-idea-plugin,代码行数:18,代码来源:MavenScanManager.java

示例2: importData

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
/**
 * This function is called after change in the build.gradle file or refresh gradle dependencies call.
 * @param toImport the project dependencies
 * @param projectData the project data
 * @param project the current project
 * @param modelsProvider contains the project modules
 */
@Override
public void importData(@NotNull Collection<DataNode<LibraryDependencyData>> toImport,
                       @Nullable ProjectData projectData,
                       @NotNull Project project,
                       @NotNull IdeModifiableModelsProvider modelsProvider) {
    if (projectData == null || !projectData.getOwner().equals(GradleConstants.SYSTEM_ID)) {
        return;
    }

    ScanManager scanManager = ScanManagerFactory.getScanManager(project);
    if (scanManager == null) {
        ScanManagerFactory scanManagerFactory = ServiceManager.getService(project, ScanManagerFactory.class);
        scanManagerFactory.initScanManager(project);
        scanManager = ScanManagerFactory.getScanManager(project);
        if (scanManager == null) {
            return;
        }
        MessageBus messageBus = ApplicationManager.getApplication().getMessageBus();
        messageBus.syncPublisher(Events.ON_IDEA_FRAMEWORK_CHANGE).update();
    }
    if (GlobalSettings.getInstance().isCredentialsSet()) {
        scanManager.asyncScanAndUpdateResults(true, toImport);
    }
}
 
开发者ID:JFrogDev,项目名称:jfrog-idea-plugin,代码行数:32,代码来源:XrayDependencyDataService.java

示例3: makeDescription

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
private String makeDescription() {
  StringBuilder desc = new StringBuilder();
  final ProjectData projectData = getData();
  desc
    .append("<table>" +
            "<tr>" +
            "<td nowrap>" +
            "<table>" +
            "<tr><td nowrap>Project:</td><td nowrap>").append(getName()).append("</td></tr>")
    .append(projectData != null ?
            "<tr><td nowrap>Location:</td><td nowrap>" + projectData.getLinkedExternalProjectPath() + "</td></tr>" : "")
    .append(projectData != null && !StringUtil.isEmptyOrSpaces(projectData.getDescription()) ?
            "<tr><td colspan='2' nowrap><hr align='center' width='90%' />" + projectData.getDescription() + "</td></tr>" : "")
    .append("</td></tr>" +
            "</table>" +
            "</td>" +
            "</tr>");
  appendProblems(desc);
  desc.append("</table>");
  return desc.toString();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:ProjectNode.java

示例4: restoreInclusionSettings

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
synchronized void restoreInclusionSettings(@Nullable DataNode<ProjectData> projectDataNode) {
  if (projectDataNode == null) return;
  final String rootProjectPath = projectDataNode.getData().getLinkedExternalProjectPath();
  final ProjectState projectState = myState.map.get(rootProjectPath);
  if (projectState == null) return;

  ExternalSystemApiUtil.visit(projectDataNode, new Consumer<DataNode<?>>() {
    @Override
    public void consume(DataNode node) {
      final DataNode<ExternalConfigPathAware> projectOrModuleNode = resolveProjectNode(node);
      assert projectOrModuleNode != null;
      final ModuleState moduleState = projectState.map.get(projectOrModuleNode.getData().getLinkedExternalProjectPath());
      node.setIgnored(isIgnored(projectState, moduleState, node.getKey()));
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:ExternalProjectsDataStorage.java

示例5: convert

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
private static DataNode<ProjectData> convert(@NotNull ProjectSystemId systemId,
                                             @NotNull ExternalProjectPojo rootProject,
                                             @NotNull Collection<ExternalProjectPojo> childProjects,
                                             @NotNull Map<String, Collection<ExternalTaskPojo>> availableTasks) {
  ProjectData projectData = new ProjectData(systemId, rootProject.getName(), rootProject.getPath(), rootProject.getPath());
  DataNode<ProjectData> projectDataNode = new DataNode<ProjectData>(PROJECT, projectData, null);

  for (ExternalProjectPojo childProject : childProjects) {
    String moduleConfigPath = childProject.getPath();
    ModuleData moduleData = new ModuleData(childProject.getName(), systemId,
                                           ModuleTypeId.JAVA_MODULE, childProject.getName(),
                                           moduleConfigPath, moduleConfigPath);
    final DataNode<ModuleData> moduleDataNode = projectDataNode.createChild(MODULE, moduleData);

    final Collection<ExternalTaskPojo> moduleTasks = availableTasks.get(moduleConfigPath);
    if (moduleTasks != null) {
      for (ExternalTaskPojo moduleTask : moduleTasks) {
        TaskData taskData = new TaskData(systemId, moduleTask.getName(), moduleConfigPath, moduleTask.getDescription());
        moduleDataNode.createChild(TASK, taskData);
      }
    }
  }

  return projectDataNode;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:ExternalProjectsDataStorage.java

示例6: setIgnored

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
synchronized void setIgnored(@NotNull final DataNode<?> dataNode, final boolean isIgnored) {
  //noinspection unchecked
  final DataNode<ProjectData> projectDataNode =
    PROJECT.equals(dataNode.getKey()) ? (DataNode<ProjectData>)dataNode : ExternalSystemApiUtil.findParent(dataNode, PROJECT);
  if (projectDataNode == null) {
    return;
  }

  ExternalSystemApiUtil.visit(dataNode, new Consumer<DataNode<?>>() {
    @Override
    public void consume(DataNode node) {
      node.setIgnored(isIgnored);
    }
  });

  saveInclusionSettings(projectDataNode);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:ExternalProjectsDataStorage.java

示例7: importData

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
@Override
public void importData(@NotNull Collection<DataNode<ModuleDependencyData>> toImport,
                       @Nullable ProjectData projectData,
                       @NotNull Project project,
                       @NotNull IdeModifiableModelsProvider modelsProvider) {
  MultiMap<DataNode<ModuleData>, DataNode<ModuleDependencyData>> byModule = ExternalSystemApiUtil.groupBy(toImport, MODULE);
  for (Map.Entry<DataNode<ModuleData>, Collection<DataNode<ModuleDependencyData>>> entry : byModule.entrySet()) {
    Module ideModule = modelsProvider.findIdeModule(entry.getKey().getData());
    if (ideModule == null) {
      LOG.warn(String.format(
        "Can't import module dependencies %s. Reason: target module (%s) is not found at the ide and can't be imported",
        entry.getValue(), entry.getKey()
      ));
      continue;
    }
    importData(entry.getValue(), ideModule, modelsProvider);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:ModuleDependencyDataService.java

示例8: importData

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
@Override
public void importData(@NotNull Collection<DataNode<ContentRootData>> toImport,
                       @Nullable ProjectData projectData,
                       @NotNull Project project,
                       @NotNull IdeModifiableModelsProvider modelsProvider) {
  if (toImport.isEmpty()) {
    return;
  }

  MultiMap<DataNode<ModuleData>, DataNode<ContentRootData>> byModule = ExternalSystemApiUtil.groupBy(toImport, ProjectKeys.MODULE);
  for (Map.Entry<DataNode<ModuleData>, Collection<DataNode<ContentRootData>>> entry : byModule.entrySet()) {
    Module module = modelsProvider.findIdeModule(entry.getKey().getData());
    if (module == null) {
      LOG.warn(String.format(
        "Can't import content roots. Reason: target module (%s) is not found at the ide. Content roots: %s",
        entry.getKey(), entry.getValue()
      ));
      continue;
    }
    importData(modelsProvider, entry.getValue(), module);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:ContentRootDataService.java

示例9: updateExternalProjectData

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
public void updateExternalProjectData(ExternalProjectInfo externalProject) {
  // update external projects data
  ExternalProjectsDataStorage.getInstance(myProject).update(externalProject);

  // update shortcuts manager
  if (externalProject.getExternalProjectStructure() != null) {
    final ProjectData projectData = externalProject.getExternalProjectStructure().getData();

    ExternalSystemUtil.scheduleExternalViewStructureUpdate(myProject, projectData.getOwner());

    Collection<DataNode<TaskData>> taskData =
      ExternalSystemApiUtil.findAllRecursively(externalProject.getExternalProjectStructure(), TASK);
    myShortcutsManager.scheduleKeymapUpdate(taskData);
    myShortcutsManager.scheduleRunConfigurationKeymapUpdate(projectData.getOwner());
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:ExternalProjectsManager.java

示例10: removeData

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public <E, I> void removeData(@NotNull Key<E> key,
                              @NotNull Collection<I> toRemove,
                              @NotNull final Collection<DataNode<E>> toIgnore,
                              @NotNull final ProjectData projectData,
                              @NotNull Project project,
                              @NotNull final IdeModifiableModelsProvider modelsProvider,
                              boolean synchronous) {
  try {
    List<ProjectDataService<?, ?>> services = myServices.getValue().get(key);
    for (ProjectDataService service : services) {
      final long removeStartTime = System.currentTimeMillis();
      service.removeData(new Computable.PredefinedValueComputable<Collection>(toRemove), toIgnore, projectData, project, modelsProvider);
      final long removeTimeInMs = System.currentTimeMillis() - removeStartTime;
      LOG.debug(String.format("Service %s removed data in %d ms", service.getClass().getSimpleName(), removeTimeInMs));
    }

    commit(modelsProvider, project, synchronous, "Removed data");
  }
  catch (Throwable t) {
    dispose(modelsProvider, project, synchronous);
    ExceptionUtil.rethrowAllAsUnchecked(t);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:ProjectDataManager.java

示例11: importData

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
@Override
public void importData(@NotNull Collection<DataNode<ProjectData>> toImport,
                       @Nullable ProjectData projectData,
                       @NotNull final Project project,
                       @NotNull IdeModifiableModelsProvider modelsProvider) {
  // root project can be marked as ignored
  if(toImport.isEmpty()) return;

  if (toImport.size() != 1) {
    throw new IllegalArgumentException(String.format("Expected to get a single project but got %d: %s", toImport.size(), toImport));
  }
  DataNode<ProjectData> node = toImport.iterator().next();
  assert projectData == node.getData();

  if (!ExternalSystemApiUtil.isOneToOneMapping(project, node)) {
    return;
  }
  
  if (!project.getName().equals(projectData.getInternalName())) {
    renameProject(projectData.getInternalName(), projectData.getOwner(), project);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:ProjectDataServiceImpl.java

示例12: importData

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
@Override
public void importData(@NotNull Collection<DataNode<ModuleData>> toImport,
                       @Nullable ProjectData projectData,
                       @NotNull Project project,
                       @NotNull IdeModifiableModelsProvider modelsProvider) {
  if (toImport.isEmpty()) {
    return;
  }

  final Collection<DataNode<ModuleData>> toCreate = filterExistingModules(toImport, modelsProvider);
  if (!toCreate.isEmpty()) {
    createModules(toCreate, modelsProvider);
  }
  for (DataNode<ModuleData> node : toImport) {
    Module module = modelsProvider.findIdeModule(node.getData());
    if (module != null) {
      syncPaths(module, modelsProvider, node.getData());
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:ModuleDataService.java

示例13: setModuleOptions

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
private static void setModuleOptions(Module module, DataNode<ModuleData> moduleDataNode) {
  ModuleData moduleData = moduleDataNode.getData();
  module.putUserData(MODULE_DATA_KEY, moduleData);

  module.setOption(ExternalSystemConstants.EXTERNAL_SYSTEM_ID_KEY, moduleData.getOwner().toString());
  module.setOption(ExternalSystemConstants.LINKED_PROJECT_ID_KEY, moduleData.getId());
  module.setOption(ExternalSystemConstants.LINKED_PROJECT_PATH_KEY, moduleData.getLinkedExternalProjectPath());
  ProjectData projectData = moduleDataNode.getData(ProjectKeys.PROJECT);
  module.setOption(ExternalSystemConstants.ROOT_PROJECT_PATH_KEY, projectData != null ? projectData.getLinkedExternalProjectPath() : "");

  if (moduleData.getGroup() != null) {
    module.setOption(ExternalSystemConstants.EXTERNAL_SYSTEM_MODULE_GROUP_KEY, moduleData.getGroup());
  }
  if (moduleData.getVersion() != null) {
    module.setOption(ExternalSystemConstants.EXTERNAL_SYSTEM_MODULE_VERSION_KEY, moduleData.getVersion());
  }

  // clear maven option
  module.clearOption("org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule");
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:ModuleDataService.java

示例14: removeData

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
@Override
public void removeData(@NotNull final Computable<Collection<Library>> toRemoveComputable,
                       @NotNull Collection<DataNode<LibraryData>> toIgnore,
                       @NotNull ProjectData projectData,
                       @NotNull final Project project,
                       @NotNull final IdeModifiableModelsProvider modelsProvider) {
  final Collection<Library> toRemove = toRemoveComputable.compute();
  if (toRemove.isEmpty()) {
    return;
  }

  final LibraryTable.ModifiableModel librariesModel = modelsProvider.getModifiableProjectLibrariesModel();
  for (Library library : toRemove) {
    String libraryName = library.getName();
    if (libraryName != null) {
      Library libraryToRemove = librariesModel.getLibraryByName(libraryName);
      if (libraryToRemove != null) {
        librariesModel.removeLibrary(libraryToRemove);
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:LibraryDataService.java

示例15: resolveProjectInfo

import com.intellij.openapi.externalSystem.model.project.ProjectData; //导入依赖的package包/类
@Nullable
@Override
public DataNode<ProjectData> resolveProjectInfo(@NotNull final ExternalSystemTaskId id,
                                                @NotNull final String projectPath,
                                                final boolean isPreviewMode,
                                                final S settings)
  throws ExternalSystemException, IllegalArgumentException, IllegalStateException
{
  return execute(id, new Producer<DataNode<ProjectData>>() {
    @Nullable
    @Override
    public DataNode<ProjectData> produce() {
      return myDelegate.resolveProjectInfo(id, projectPath, isPreviewMode, settings, getNotificationListener());
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:RemoteExternalSystemProjectResolverImpl.java


注:本文中的com.intellij.openapi.externalSystem.model.project.ProjectData类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。