mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
69 lines
2.1 KiB
Java
69 lines
2.1 KiB
Java
package com.intellij.idea;
|
|
|
|
import com.intellij.diagnostic.DialogAppender;
|
|
import com.intellij.ide.impl.DataManagerImpl;
|
|
import com.intellij.openapi.actionSystem.DataContext;
|
|
import com.intellij.openapi.application.ex.ApplicationManagerEx;
|
|
import com.intellij.openapi.diagnostic.Logger;
|
|
import com.intellij.vfs.local.win32.FileWatcher;
|
|
import org.apache.log4j.Appender;
|
|
import org.apache.log4j.Category;
|
|
|
|
import java.awt.*;
|
|
import java.util.Enumeration;
|
|
|
|
public abstract class CommandLineApplication {
|
|
private static final Logger LOG = Logger.getInstance("#com.intellij.idea.CommandLineApplication");
|
|
protected static CommandLineApplication ourInstance = null;
|
|
|
|
static {
|
|
System.setProperty(FileWatcher.PROPERTY_WATCHER_DISABLED, "true");
|
|
|
|
final Category category = Category.getRoot();
|
|
final Enumeration enumeration = category.getAllAppenders();
|
|
while (enumeration.hasMoreElements()) {
|
|
Object o = enumeration.nextElement();
|
|
if (o instanceof DialogAppender) {
|
|
category.removeAppender((Appender)o);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
protected CommandLineApplication() {}
|
|
|
|
protected CommandLineApplication(boolean isInternal, boolean isUnitTestMode, String componentsDescriptor) {
|
|
this(isInternal, isUnitTestMode, componentsDescriptor, "idea");
|
|
}
|
|
|
|
protected CommandLineApplication(boolean isInternal, boolean isUnitTestMode, String componentsDescriptor, String appName) {
|
|
LOG.assertTrue(ourInstance == null, "Only one instance allowed.");
|
|
ourInstance = this;
|
|
ApplicationManagerEx.createApplication(componentsDescriptor, isInternal, isUnitTestMode, appName);
|
|
}
|
|
|
|
public Object getData(String dataId) {
|
|
return null;
|
|
}
|
|
|
|
public static class MyDataManagerImpl extends DataManagerImpl {
|
|
public MyDataManagerImpl() {}
|
|
|
|
public DataContext getDataContext() {
|
|
return new DataContext() {
|
|
public Object getData(String dataId) {
|
|
return ourInstance.getData(dataId);
|
|
}
|
|
};
|
|
}
|
|
|
|
public DataContext getDataContext(Component component) {
|
|
return getDataContext();
|
|
}
|
|
|
|
public DataContext getDataContext(Component component, int x, int y) {
|
|
return getDataContext();
|
|
}
|
|
}
|
|
}
|