Java 类com.intellij.openapi.application.impl.ApplicationInfoImpl 实例源码

项目:intellij-ce-playground    文件:LightPlatformTestCase.java   
@Override
protected void setUp() throws Exception {
  EdtTestUtil.runInEdtAndWait(new ThrowableRunnable<Throwable>() {
    @Override
    public void run() throws Exception {
      LightPlatformTestCase.super.setUp();
      initApplication();
      ApplicationInfoImpl.setInPerformanceTest(isPerformanceTest());

      ourApplication.setDataProvider(LightPlatformTestCase.this);
      LightProjectDescriptor descriptor = new SimpleLightProjectDescriptor(getModuleType(), getProjectJDK());
      doSetup(descriptor, configureLocalInspectionTools(), getTestRootDisposable());
      InjectedLanguageManagerImpl.pushInjectors(getProject());

      storeSettings();

      myThreadTracker = new ThreadTracker();
      ModuleRootManager.getInstance(ourModule).orderEntries().getAllLibrariesAndSdkClassesRoots();
      VirtualFilePointerManagerImpl filePointerManager = (VirtualFilePointerManagerImpl)VirtualFilePointerManager.getInstance();
      filePointerManager.storePointers();
    }
  });
}
项目:intellij-ce-playground    文件:PluginDownloader.java   
@NotNull
private static String getUrl(@NotNull IdeaPluginDescriptor descriptor,
                             @Nullable String host,
                             @Nullable BuildNumber buildNumber) throws URISyntaxException, MalformedURLException {
  if (host != null && descriptor instanceof PluginNode) {
    String url = ((PluginNode)descriptor).getDownloadUrl();
    return new URI(url).isAbsolute() ? url : new URL(new URL(host), url).toExternalForm();
  }
  else {
    Application app = ApplicationManager.getApplication();
    ApplicationInfoEx appInfo = ApplicationInfoImpl.getShadowInstance();

    String buildNumberAsString = buildNumber != null ? buildNumber.asString() :
                                 app != null ? ApplicationInfo.getInstance().getApiVersion() :
                                 appInfo.getBuild().asString();

    String uuid = app != null ? UpdateChecker.getInstallationUID(PropertiesComponent.getInstance()) : UUID.randomUUID().toString();

    URIBuilder uriBuilder = new URIBuilder(appInfo.getPluginsDownloadUrl());
    uriBuilder.addParameter("action", "download");
    uriBuilder.addParameter("id", descriptor.getPluginId().getIdString());
    uriBuilder.addParameter("build", buildNumberAsString);
    uriBuilder.addParameter("uuid", uuid);
    return uriBuilder.build().toString();
  }
}
项目:intellij-ce-playground    文件:AppUIUtil.java   
@SuppressWarnings({"UnnecessaryFullyQualifiedName", "deprecation"})
private static List<Image> getAppIconImages() {
  ApplicationInfoEx appInfo = ApplicationInfoImpl.getShadowInstance();
  List<Image> images = ContainerUtil.newArrayListWithCapacity(3);

  if (SystemInfo.isXWindow) {
    String bigIconUrl = appInfo.getBigIconUrl();
    if (bigIconUrl != null) {
      images.add(com.intellij.util.ImageLoader.loadFromResource(bigIconUrl));
    }
  }

  images.add(com.intellij.util.ImageLoader.loadFromResource(appInfo.getIconUrl()));
  images.add(com.intellij.util.ImageLoader.loadFromResource(appInfo.getSmallIconUrl()));

  return images;
}
项目:intellij-ce-playground    文件:IdeaApplication.java   
@Nullable
private Splash showSplash(String[] args) {
  if (StartupUtil.shouldShowSplash(args)) {
    final ApplicationInfoEx appInfo = ApplicationInfoImpl.getShadowInstance();
    final SplashScreen splashScreen = getSplashScreen();
    if (splashScreen == null) {
      mySplash = new Splash(appInfo);
      mySplash.show();
      return mySplash;
    }
    else {
      updateSplashScreen(appInfo, splashScreen);
    }
  }
  return null;
}
项目:intellij-ce-playground    文件:StartupUtil.java   
private static void startLogging(final Logger log) {
  Runtime.getRuntime().addShutdownHook(new Thread("Shutdown hook - logging") {
    @Override
    public void run() {
      log.info("------------------------------------------------------ IDE SHUTDOWN ------------------------------------------------------");
    }
  });
  log.info("------------------------------------------------------ IDE STARTED ------------------------------------------------------");

  ApplicationInfo appInfo = ApplicationInfoImpl.getShadowInstance();
  ApplicationNamesInfo namesInfo = ApplicationNamesInfo.getInstance();
  String buildDate = new SimpleDateFormat("dd MMM yyyy HH:ss", Locale.US).format(appInfo.getBuildDate().getTime());
  log.info("IDE: " + namesInfo.getFullProductName() + " (build #" + appInfo.getBuild().asStringWithAllDetails() + ", " + buildDate + ")");
  log.info("OS: " + SystemInfoRt.OS_NAME + " (" + SystemInfoRt.OS_VERSION + ", " + SystemInfo.OS_ARCH + ")");
  log.info("JRE: " + System.getProperty("java.runtime.version", "-") + " (" + System.getProperty("java.vendor", "-") + ")");
  log.info("JVM: " + System.getProperty("java.vm.version", "-") + " (" + System.getProperty("java.vm.name", "-") + ")");

  List<String> arguments = ManagementFactory.getRuntimeMXBean().getInputArguments();
  if (arguments != null) {
    log.info("JVM Args: " + StringUtil.join(arguments, " "));
  }
}
项目:intellij-ce-playground    文件:StartupUtil.java   
static void runStartupWizard() {
  ApplicationInfoEx appInfo = ApplicationInfoImpl.getShadowInstance();

  String stepsProvider = appInfo.getCustomizeIDEWizardStepsProvider();
  if (stepsProvider != null) {
    CustomizeIDEWizardDialog.showCustomSteps(stepsProvider);
    PluginManagerCore.invalidatePlugins();
    return;
  }

  if (PlatformUtils.isIntelliJ()) {
    new CustomizeIDEWizardDialog().show();
    PluginManagerCore.invalidatePlugins();
    return;
  }

  List<ApplicationInfoEx.PluginChooserPage> pages = appInfo.getPluginChooserPages();
  if (!pages.isEmpty()) {
    StartupWizard startupWizard = new StartupWizard(pages);
    startupWizard.setCancelText("Skip");
    startupWizard.show();
    PluginManagerCore.invalidatePlugins();
  }
}
项目:intellij-ce-playground    文件:RangeMarkerTree.java   
@NotNull
@Override
public RMNode<T> addInterval(@NotNull T interval, int start, int end, boolean greedyToLeft, boolean greedyToRight, int layer) {
  interval.setValid(true);
  RMNode<T> node = (RMNode<T>)super.addInterval(interval, start, end, greedyToLeft, greedyToRight, layer);

  if (DEBUG && !ApplicationInfoImpl.isInPerformanceTest() && node.intervals.size() > DUPLICATE_LIMIT) {
    l.readLock().lock();
    try {
      String msg = errMsg(node);
      if (msg != null) {
        LOG.warn(msg);
      }
    }
    finally {
      l.readLock().unlock();
    }
  }
  return node;
}
项目:tools-idea    文件:AppUIUtil.java   
@SuppressWarnings({"UnnecessaryFullyQualifiedName", "deprecation"})
private static List<Image> getAppIconImages() {
  ApplicationInfoEx appInfo = ApplicationInfoImpl.getShadowInstance();
  List<Image> images = ContainerUtil.newArrayListWithExpectedSize(3);

  if (SystemInfo.isXWindow) {
    String bigIconUrl = appInfo.getBigIconUrl();
    if (bigIconUrl != null) {
      images.add(com.intellij.util.ImageLoader.loadFromResource(bigIconUrl));
    }
  }

  images.add(com.intellij.util.ImageLoader.loadFromResource(appInfo.getIconUrl()));
  images.add(com.intellij.util.ImageLoader.loadFromResource(appInfo.getSmallIconUrl()));

  return images;
}
项目:tools-idea    文件:Splash.java   
public static boolean showLicenseeInfo(Graphics g, int x, int y, final int height, final Color textColor) {
  if (ApplicationInfoImpl.getShadowInstance().showLicenseeInfo()) {
    final LicensingFacade provider = LicensingFacade.getInstance();
    if (provider != null) {
      UIUtil.applyRenderingHints(g);
      g.setFont(new Font(UIUtil.ARIAL_FONT_NAME, Font.BOLD, SystemInfo.isUnix ? 10 : 11));

      g.setColor(textColor);
      final String licensedToMessage = provider.getLicensedToMessage();
      final List<String> licenseRestrictionsMessages = provider.getLicenseRestrictionsMessages();
      g.drawString(licensedToMessage, x + 21, y + height - 49);
      if (licenseRestrictionsMessages.size() > 0) {
        g.drawString(licenseRestrictionsMessages.get(0), x + 21, y + height - 33);
      }
    }
    return true;
  }
  return false;
}
项目:tools-idea    文件:IdeaApplication.java   
@Nullable
private Splash showSplash(String[] args) {
  if (StartupUtil.shouldShowSplash(args)) {
    final ApplicationInfoEx appInfo = ApplicationInfoImpl.getShadowInstance();
    final SplashScreen splashScreen = getSplashScreen();
    if (splashScreen == null) {
      mySplash = new Splash(appInfo);
      mySplash.show();
      return mySplash;
    }
    else {
      updateSplashScreen(appInfo, splashScreen);
    }
  }
  return null;
}
项目:tools-idea    文件:StartupUtil.java   
private static void startLogging(final Logger log) {
  Runtime.getRuntime().addShutdownHook(new Thread("Shutdown hook - logging") {
    public void run() {
      log.info("------------------------------------------------------ IDE SHUTDOWN ------------------------------------------------------");
    }
  });
  log.info("------------------------------------------------------ IDE STARTED ------------------------------------------------------");

  ApplicationInfo appInfo = ApplicationInfoImpl.getShadowInstance();
  ApplicationNamesInfo namesInfo = ApplicationNamesInfo.getInstance();
  log.info("IDE: " + namesInfo.getFullProductName() + " (build #" + appInfo.getBuild() + ", " +
                 DateFormatUtilRt.formatBuildDate(appInfo.getBuildDate()) + ")");
  log.info("OS: " + SystemInfoRt.OS_NAME + " (" + SystemInfoRt.OS_VERSION + ")");
  log.info("JRE: " + System.getProperty("java.runtime.version", "-") + " (" + System.getProperty("java.vendor", "-") + ")");
  log.info("JVM: " + System.getProperty("java.vm.version", "-") + " (" + System.getProperty("java.vm.vendor", "-") + ")");

  List<String> arguments = ManagementFactory.getRuntimeMXBean().getInputArguments();
  if (arguments != null) {
    log.info("JVM Args: " + StringUtil.join(arguments, " "));
  }
}
项目:consulo    文件:LightPlatformTestCase.java   
@Override
@RequiredDispatchThread
protected void setUp() throws Exception {
  super.setUp();
  initApplication();
  //ourApplication.setDataProvider(this);
  doSetup(createTestModuleDescriptor(), configureLocalInspectionTools(), myAvailableInspectionTools);
  InjectedLanguageManagerImpl.pushInjectors(getProject());

  storeSettings();

  myThreadTracker = new ThreadTracker();
  ApplicationInfoImpl.setInPerformanceTest(isPerformanceTest());
  ModuleRootManager.getInstance(ourModule).orderEntries().getAllLibrariesAndSdkClassesRoots();
  VirtualFilePointerManagerImpl filePointerManager = (VirtualFilePointerManagerImpl)VirtualFilePointerManager.getInstance();
  filePointerManager.storePointers();
}
项目:consulo    文件:VirtualDirectoryImpl.java   
private void assertConsistency(boolean ignoreCase, @Nonnull Object details) {
  if (!CHECK || ApplicationInfoImpl.isInPerformanceTest()) return;
  int[] childrenIds = myData.myChildrenIds;
  for (int i = 1; i < childrenIds.length; i++) {
    int id = childrenIds[i];
    int prev = childrenIds[i - 1];
    CharSequence name = VfsData.getNameByFileId(id);
    CharSequence prevName = VfsData.getNameByFileId(prev);
    int cmp = compareNames(name, prevName, ignoreCase);
    if (cmp <= 0) {
      error(verboseToString.fun(VfsData.getFileById(prev, this)) +
            " is wrongly placed before " +
            verboseToString.fun(VfsData.getFileById(id, this)), getArraySafely(), details);
    }
  }
}
项目:consulo    文件:RangeMarkerTree.java   
@Nonnull
@Override
public RMNode<T> addInterval(@Nonnull T interval, int start, int end,
                             boolean greedyToLeft, boolean greedyToRight, boolean stickingToRight, int layer) {
  ((RangeMarkerImpl)interval).setValid(true);
  RMNode<T> node = (RMNode<T>)super.addInterval(interval, start, end, greedyToLeft, greedyToRight, stickingToRight, layer);

  if (DEBUG && node.intervals.size() > DUPLICATE_LIMIT && !ApplicationInfoImpl.isInPerformanceTest() && ApplicationManager.getApplication().isUnitTestMode()) {
    l.readLock().lock();
    try {
      String msg = errMsg(node);
      if (msg != null) {
        LOG.warn(msg);
      }
    }
    finally {
      l.readLock().unlock();
    }
  }
  return node;
}
项目:consulo    文件:PluginManagerCore.java   
public static boolean isIncompatible(final IdeaPluginDescriptor descriptor) {
  String platformVersion = descriptor.getPlatformVersion();
  if (StringUtil.isEmpty(platformVersion)) {
    return false;
  }

  try {
    BuildNumber buildNumber = ApplicationInfoImpl.getShadowInstance().getBuild();
    BuildNumber pluginBuildNumber = BuildNumber.fromString(platformVersion);
    return !buildNumber.isSnapshot() && !pluginBuildNumber.isSnapshot() && !buildNumber.equals(pluginBuildNumber);
  }
  catch (RuntimeException ignored) {
  }

  return false;
}
项目:intellij-ce-playground    文件:UsefulTestCase.java   
@Override
protected void setUp() throws Exception {
  super.setUp();

  if (shouldContainTempFiles()) {
    String testName =  FileUtil.sanitizeFileName(getTestName(true));
    if (StringUtil.isEmptyOrSpaces(testName)) testName = "";
    testName = new File(testName).getName(); // in case the test name contains file separators
    myTempDir = FileUtil.toSystemDependentName(ORIGINAL_TEMP_DIR + "/" + TEMP_DIR_MARKER + testName + "_"+ RNG.nextInt(1000));
    FileUtil.resetCanonicalTempPathCache(myTempDir);
  }
  ApplicationInfoImpl.setInPerformanceTest(isPerformanceTest());
}
项目:intellij-ce-playground    文件:VirtualDirectoryImpl.java   
private void assertConsistency(boolean ignoreCase, @NotNull Object details) {
  if (!CHECK || ApplicationInfoImpl.isInPerformanceTest()) return;
  int[] childrenIds = myData.myChildrenIds;
  for (int i = 1; i < childrenIds.length; i++) {
    int id = childrenIds[i];
    int prev = childrenIds[i - 1];
    CharSequence name = VfsData.getNameByFileId(id);
    CharSequence prevName = VfsData.getNameByFileId(prev);
    int cmp = compareNames(name, prevName, ignoreCase);
    if (cmp <= 0) {
      error(verboseToString.fun(VfsData.getFileById(prev, this)) + " is wrongly placed before " + verboseToString.fun(VfsData.getFileById(id, this)), getArraySafely(), details);
    }
  }
}
项目:intellij-ce-playground    文件:Splash.java   
public Splash(ApplicationInfoEx info) {
  this(info.getSplashImageUrl(), info.getSplashTextColor());
  if (info instanceof ApplicationInfoImpl) {
    final ApplicationInfoImpl appInfo = (ApplicationInfoImpl)info;
    myProgressHeight = appInfo.getProgressHeight();
    myProgressColor = appInfo.getProgressColor();
    myProgressX = appInfo.getProgressX();
    myProgressY = appInfo.getProgressY();
    myProgressTail = appInfo.getProgressTailIcon();
  }
}
项目:intellij-ce-playground    文件:Splash.java   
public static boolean showLicenseeInfo(Graphics g, int x, int y, final int height, final Color textColor) {
  if (ApplicationInfoImpl.getShadowInstance().showLicenseeInfo()) {
    final LicensingFacade provider = LicensingFacade.getInstance();
    if (provider != null) {
      UIUtil.applyRenderingHints(g);
      g.setFont(new Font(UIUtil.ARIAL_FONT_NAME, Font.BOLD, JBUI.scale(Registry.is("ide.new.about") ? 12 : SystemInfo.isUnix ? 10 : 11)));

      g.setColor(textColor);
      final String licensedToMessage = provider.getLicensedToMessage();
      final List<String> licenseRestrictionsMessages = provider.getLicenseRestrictionsMessages();
      int offsetX = JBUI.scale(15);
      if (Registry.is("ide.new.about")) {
        ApplicationInfoEx infoEx = ApplicationInfoEx.getInstanceEx();
        if (infoEx instanceof ApplicationInfoImpl) {
          offsetX = ((ApplicationInfoImpl)infoEx).getProgressX();
        } else {
          return false;
        }
      }
      int offsetY = Registry.is("ide.new.about") ? 85 : 30;
      g.drawString(licensedToMessage, x + offsetX, y + height - JBUI.scale(offsetY));
      if (licenseRestrictionsMessages.size() > 0) {
        g.drawString(licenseRestrictionsMessages.get(0), x + offsetX, y + height - JBUI.scale(offsetY - 16));
      }
    }
    return true;
  }
  return false;
}
项目:intellij-ce-playground    文件:StatisticsUploadAssistant.java   
public static StatisticsService getStatisticsService() {
  String key = ((ApplicationInfoImpl)ApplicationInfoImpl.getShadowInstance()).getStatisticsServiceKey();
  StatisticsService service = key == null ? null : COLLECTOR.findSingle(key);
  if (service != null) {
    return service;
  }

  return new RemotelyConfigurableStatisticsService(new StatisticsConnectionService(),
                                                   new StatisticsHttpClientSender(),
                                                   new StatisticsUploadAssistant());
}
项目:intellij-ce-playground    文件:IdeaLogger.java   
private static ApplicationInfoProvider getIdeaInfoProvider() {
  return new ApplicationInfoProvider() {
    @Override
    public String getInfo() {
      final ApplicationInfoEx info = ApplicationInfoImpl.getShadowInstance();
      return info.getFullApplicationName() + "  " + "Build #" + info.getBuild().asStringWithAllDetails();
    }
  };
}
项目:intellij-ce-playground    文件:StartupWizardAction.java   
public void actionPerformed(final AnActionEvent e) {
  if (Boolean.getBoolean("idea.is.internal")) {
    new CustomizeIDEWizardDialog().show();
    return;
  }
  Project project = e.getData(CommonDataKeys.PROJECT);
  final StartupWizard startupWizard = new StartupWizard(project, ApplicationInfoImpl.getShadowInstance().getPluginChooserPages());
  final String title = ApplicationNamesInfo.getInstance().getFullProductName() + " Plugin Configuration Wizard";
  startupWizard.setTitle(title);
  startupWizard.show();
  if (startupWizard.getExitCode() == DialogWrapper.OK_EXIT_CODE) {
    Messages.showInfoMessage(project, "To apply the changes, please restart " + ApplicationNamesInfo.getInstance().getFullProductName(),
                             title);
  }
}
项目:intellij-ce-playground    文件:PooledThreadExecutor.java   
@NotNull
@Override
public Thread newThread(@NotNull Runnable r) {
  final int count = myAliveThreads.incrementAndGet();
  final Thread thread = new Thread(r, "ApplicationImpl pooled thread "+seq.incrementAndGet()) {
    @Override
    public void interrupt() {
      LOG.debug("Interrupted worker, will remove from pool");
      super.interrupt();
    }

    @Override
    public void run() {
      try {
        super.run();
      }
      catch (Throwable t) {
        LOG.debug("Worker exits due to exception", t);
      }
      finally {
        myAliveThreads.decrementAndGet();
      }
    }
  };
  if (count > ourReasonableThreadPoolSize && ApplicationInfoImpl.getShadowInstance().isEAP()) {
    File file = PerformanceWatcher.getInstance().dumpThreads("newPooledThread/", true);
    LOG.info("Not enough pooled threads" +
             (file != null ? "; dumped threads into file '"+file.getPath()+"'" : ""));
  }
  thread.setPriority(Thread.NORM_PRIORITY - 1);
  return thread;
}
项目:intellij-ce-playground    文件:VirtualFilePointerContainerImpl.java   
public VirtualFilePointerContainerImpl(@NotNull VirtualFilePointerManager manager,
                                       @NotNull Disposable parentDisposable,
                                       @Nullable VirtualFilePointerListener listener) {
  //noinspection HardCodedStringLiteral
  super(TRACE_CREATION && !ApplicationInfoImpl.isInPerformanceTest()
        ? new Throwable("parent = '" + parentDisposable + "' (" + parentDisposable.getClass() + "); listener=" + listener)
        : null);
  myVirtualFilePointerManager = manager;
  myParent = parentDisposable;
  myListener = listener;
}
项目:intellij-ce-playground    文件:ShowSplashAction.java   
@Override
public void actionPerformed(AnActionEvent e) {
  final ApplicationInfoEx app = ApplicationInfoImpl.getShadowInstance();
  final Splash splash = new Splash(app.getSplashImageUrl(), app.getSplashTextColor());
  final SplashListener listener = new SplashListener(splash);
  splash.addFocusListener(listener);
  splash.addKeyListener(listener);
  splash.addMouseListener(listener);
  splash.show();
}
项目:intellij-ce-playground    文件:Pep8ExternalAnnotator.java   
@Nullable
@Override
public Results doAnnotate(State collectedInfo) {
  if (collectedInfo == null) return null;
  ArrayList<String> options = Lists.newArrayList();

  if (collectedInfo.ignoredErrors.size() > 0) {
    options.add("--ignore=" + StringUtil.join(collectedInfo.ignoredErrors, ","));
  }
  options.add("--max-line-length=" + collectedInfo.margin);
  options.add("-");

  GeneralCommandLine cmd = PythonHelper.PEP8.newCommandLine(collectedInfo.interpreterPath, options);

  ProcessOutput output = PySdkUtil.getProcessOutput(cmd, new File(collectedInfo.interpreterPath).getParent(),
                                                    ImmutableMap.of("PYTHONBUFFERED", "1"),
                                                    10000,
                                                    collectedInfo.fileText.getBytes(), false);

  Results results = new Results(collectedInfo.level);
  if (output.isTimeout()) {
    LOG.info("Timeout running pep8.py");
  }
  else if (output.getStderrLines().isEmpty()) {
    for (String line : output.getStdoutLines()) {
      final Problem problem = parseProblem(line);
      if (problem != null) {
        results.problems.add(problem);
      }
    }
  }
  else if (((ApplicationInfoImpl) ApplicationInfo.getInstance()).isEAP()) {
    LOG.info("Error running pep8.py: " + output.getStderr());
  }
  return results;
}
项目:intellij-ce-playground    文件:Pep8ExternalAnnotator.java   
@Nullable
private static Problem parseProblem(String s) {
  Matcher m = PROBLEM_PATTERN.matcher(s);
  if (m.matches()) {
    int line = Integer.parseInt(m.group(1));
    int column = Integer.parseInt(m.group(2));
    return new Problem(line, column, m.group(3), m.group(4));
  }
  if (((ApplicationInfoImpl) ApplicationInfo.getInstance()).isEAP()) {
    LOG.info("Failed to parse problem line from pep8.py: " + s);
  }
  return null;
}
项目:tools-idea    文件:Splash.java   
public Splash(ApplicationInfoEx info) {
  this(info.getSplashImageUrl(), info.getSplashTextColor());
  if (info instanceof ApplicationInfoImpl) {
    final ApplicationInfoImpl appInfo = (ApplicationInfoImpl)info;
    myProgressHeight = 2;
    myProgressColor = appInfo.getProgressColor();
    myProgressY = appInfo.getProgressY();
    myProgressTail = appInfo.getProgressTailIcon();
  }
}
项目:tools-idea    文件:StatisticsUploadAssistant.java   
public static StatisticsService getStatisticsService() {
    String key = ((ApplicationInfoImpl)ApplicationInfoImpl.getShadowInstance()).getStatisticsServiceKey();

    StatisticsService service = key == null ? null : COLLECTOR.findSingle(key);

    if (service != null) {
        return service;
    }

    return new RemotelyConfigurableStatisticsService(new StatisticsConnectionService(),
                                                     new StatisticsHttpClientSender(),
                                                     new StatisticsUploadAssistant());
}
项目:tools-idea    文件:IdeaLogger.java   
private static ApplicationInfoProvider getIdeaInfoProvider() {
  return new ApplicationInfoProvider() {
    @Override
    public String getInfo() {
      final ApplicationInfoEx info = ApplicationInfoImpl.getShadowInstance();
      return info.getFullApplicationName() + "  " + "Build #" + info.getBuild().asString();
    }
  };
}
项目:tools-idea    文件:StartupWizardAction.java   
public void actionPerformed(final AnActionEvent e) {
  Project project = e.getData(PlatformDataKeys.PROJECT);
  final StartupWizard startupWizard = new StartupWizard(project, ApplicationInfoImpl.getShadowInstance().getPluginChooserPages());
  final String title = ApplicationNamesInfo.getInstance().getFullProductName() + " Plugin Configuration Wizard";
  startupWizard.setTitle(title);
  startupWizard.show();
  if (startupWizard.getExitCode() == DialogWrapper.OK_EXIT_CODE) {
    Messages.showInfoMessage(project, "To apply the changes, please restart " + ApplicationNamesInfo.getInstance().getFullProductName(),
                             title);
  }
}
项目:tools-idea    文件:ShowSplashAction.java   
@Override
public void actionPerformed(AnActionEvent e) {
  final ApplicationInfoEx app = ApplicationInfoImpl.getShadowInstance();
  final Splash splash = new Splash(app.getSplashImageUrl(), app.getSplashTextColor());
  final SplashListener listener = new SplashListener(splash);
  splash.addFocusListener(listener);
  splash.addKeyListener(listener);
  splash.addMouseListener(listener);
  splash.show();
}
项目:consulo    文件:UsefulTestCase.java   
@Override
protected void setUp() throws Exception {
  super.setUp();

  PathManager.ensureConfigFolderExists();

  if (shouldContainTempFiles()) {
    String testName = getTestName(true);
    if (StringUtil.isEmptyOrSpaces(testName)) testName = "";
    testName = new File(testName).getName(); // in case the test name contains file separators
    myTempDir = FileUtil.toSystemDependentName(ORIGINAL_TEMP_DIR + "/" + TEMP_DIR_MARKER + testName + "_"+ RNG.nextInt(1000));
    FileUtil.resetCanonicalTempPathCache(myTempDir);
  }
  ApplicationInfoImpl.setInPerformanceTest(isPerformanceTest());
}
项目:consulo    文件:AppUIUtil.java   
@SuppressWarnings({"UnnecessaryFullyQualifiedName", "deprecation"})
private static List<Image> getAppIconImages() {
  ApplicationInfoEx appInfo = ApplicationInfoImpl.getShadowInstance();
  List<Image> images = ContainerUtil.newArrayListWithCapacity(3);

  images.add(com.intellij.util.ImageLoader.loadFromResource(appInfo.getIconUrl()));
  images.add(com.intellij.util.ImageLoader.loadFromResource(appInfo.getSmallIconUrl()));

  return images;
}
项目:consulo    文件:IdeaLogger.java   
private static ApplicationInfoProvider getIdeaInfoProvider() {
  return new ApplicationInfoProvider() {
    @Override
    public String getInfo() {
      final ApplicationInfoEx info = ApplicationInfoImpl.getShadowInstance();
      return info.getFullApplicationName() + "  " + "Build #" + info.getBuild().asString();
    }
  };
}
项目:consulo    文件:StartupUtil.java   
private static void startLogging(final Logger log) {
  Runtime.getRuntime().addShutdownHook(new Thread("Shutdown hook - logging") {
    @Override
    public void run() {
      log.info("------------------------------------------------------ IDE SHUTDOWN ------------------------------------------------------");
    }
  });
  log.info("------------------------------------------------------ IDE STARTED ------------------------------------------------------");

  ApplicationInfo appInfo = ApplicationInfoImpl.getShadowInstance();
  ApplicationNamesInfo namesInfo = ApplicationNamesInfo.getInstance();
  String buildDate = new SimpleDateFormat("dd MMM yyyy HH:ss", Locale.US).format(appInfo.getBuildDate().getTime());
  log.info("IDE: " + namesInfo.getFullProductName() + " (build #" + appInfo.getBuild().asString() + ", " + buildDate + ")");
  log.info("OS: " + SystemInfoRt.OS_NAME + " (" + SystemInfoRt.OS_VERSION + ", " + SystemInfo.OS_ARCH + ")");
  log.info("JRE: " + System.getProperty("java.runtime.version", "-") + " (" + System.getProperty("java.vendor", "-") + ")");
  log.info("JVM: " + System.getProperty("java.vm.version", "-") + " (" + System.getProperty("java.vm.name", "-") + ")");

  List<String> arguments = ManagementFactory.getRuntimeMXBean().getInputArguments();
  if (arguments != null) {
    log.info("JVM Args: " + StringUtil.join(arguments, " "));
  }
  IdeaForkJoinWorkerThreadFactory.setupForkJoinCommonPool();
  log.info("ForkJoinPool.commonPool: " + ForkJoinPool.commonPool());

  String extDirs = System.getProperty("java.ext.dirs");
  if (extDirs != null) {
    for (String dir : StringUtil.split(extDirs, File.pathSeparator)) {
      String[] content = new File(dir).list();
      if (content != null && content.length > 0) {
        log.info("ext: " + dir + ": " + Arrays.toString(content));
      }
    }
  }

  log.info("JNU charset: " + System.getProperty("sun.jnu.encoding"));
}
项目:consulo    文件:RepositoryHelper.java   
@Nonnull
public static String buildUrlForDownload(@Nonnull UpdateChannel channel,
                                         @Nonnull String pluginId,
                                         @Nullable String platformVersion,
                                         boolean noTracking,
                                         boolean viaUpdate) {
  if (platformVersion == null) {
    platformVersion = ApplicationInfoImpl.getShadowInstance().getBuild().asString();
  }

  StringBuilder builder = new StringBuilder();
  builder.append(WebServiceApi.REPOSITORY_API.buildUrl("download"));
  builder.append("?platformVersion=");
  builder.append(platformVersion);
  builder.append("&channel=");
  builder.append(channel);
  builder.append("&id=");
  builder.append(pluginId);

  if (!noTracking) {
    noTracking = SystemProperties.getBooleanProperty("consulo.repository.no.tracking", false);
  }

  if (noTracking) {
    builder.append("&noTracking=true");
  }
  if (viaUpdate) {
    builder.append("&viaUpdate=true");
  }
  return builder.toString();
}
项目:consulo    文件:VirtualFilePointerContainerImpl.java   
public VirtualFilePointerContainerImpl(@Nonnull VirtualFilePointerManager manager,
                                       @Nonnull Disposable parentDisposable,
                                       @Nullable VirtualFilePointerListener listener) {
  //noinspection HardCodedStringLiteral
  super(TRACE_CREATION && !ApplicationInfoImpl.isInPerformanceTest());
  myVirtualFilePointerManager = manager;
  myParent = parentDisposable;
  myListener = listener;
}
项目:consulo    文件:AbstractFileViewProvider.java   
private boolean isDocumentConsistentWithPsi(int fileLength, FileElement fileElement, int nodeLength) {
  if (nodeLength != fileLength) return false;

  if (ApplicationManager.getApplication().isUnitTestMode() && !ApplicationInfoImpl.isInPerformanceTest()) {
    return fileElement.textMatches(myContent.getText());
  }

  return true;
}
项目:intellij-ce-playground    文件:ProjectImpl.java   
@Override
protected boolean logSlowComponents() {
  return super.logSlowComponents() || ApplicationInfoImpl.getShadowInstance().isEAP();
}