Java 类org.eclipse.core.runtime.Platform 实例源码
项目:codelens-eclipse
文件:CodeLensProviderRegistry.java
/**
* Load the SourceMap language supports.
*/
private synchronized void loadCodeLensProviders() {
if (codeLensProviderLoaded) {
return;
}
try {
IExtensionRegistry registry = Platform.getExtensionRegistry();
if (registry == null) {
return;
}
IConfigurationElement[] cf = registry.getConfigurationElementsFor(CodeLensPlugin.PLUGIN_ID,
EXTENSION_CODELENS_PROVIDERS);
loadCodeLensProvidersFromExtension(cf);
} finally {
codeLensProviderLoaded = true;
}
}
项目:n4js
文件:N4JSModel.java
public Iterator<URI> iterator(IN4JSSourceContainer sourceContainer) {
if (sourceContainer.isLibrary()) {
return workspace.getArchiveIterator(sourceContainer.getLibrary().getLocation(),
sourceContainer.getRelativeLocation());
} else {
if (sourceContainer.getProject().isExternal() && Platform.isRunning()) {
// The `Platform.isRunning()` is not valid check for the OSGI headless compiler
// it may still be valid in some scenarios (maybe some test scenarios)
if (externalLibraryWorkspace instanceof NoopExternalLibraryWorkspace
&& workspace instanceof FileBasedWorkspace
&& workspace.findProjectWith(sourceContainer.getLocation()) != null) {
return workspace.getFolderIterator(sourceContainer.getLocation());
}
return externalLibraryWorkspace.getFolderIterator(sourceContainer.getLocation());
}
return workspace.getFolderIterator(sourceContainer.getLocation());
}
}
项目:n4js
文件:ExternalProjectsCollector.java
/**
* Sugar for collecting {@link IWorkspace Eclipse workspace} projects that have any direct dependency to any
* external projects. Same as {@link #collectExternalProjectDependents()} but does not consider all the available
* projects but only those that are given as the argument.
*
* @param externalProjects
* the external projects that has to be considered as a possible dependency of an Eclipse workspace based
* project.
* @return a map where each entry maps an external project to the workspace projects that depend on it.
*/
public Map<IProject, Collection<IProject>> collectExternalProjectDependents(
final Iterable<? extends IProject> externalProjects) {
final Multimap<IProject, IProject> mapping = Multimaps2.newLinkedHashListMultimap();
if (Platform.isRunning()) {
final Map<String, IProject> externalsMapping = new HashMap<>();
externalProjects.forEach(p -> externalsMapping.put(p.getName(), p));
asList(getWorkspace().getRoot().getProjects()).forEach(p -> {
getDirectExternalDependencyIds(p).forEach(eID -> {
IProject externalDependency = externalsMapping.get(eID);
if (externalDependency != null) {
mapping.put(externalDependency, p);
}
});
});
}
return mapping.asMap();
}
项目:Hydrograph
文件:TestProjectStructure.java
private void createFilesForTest() throws IOException{
File configDir = new File(Platform.getInstallLocation().getURL().getPath() + "/config");
if(!configDir.exists()){
configDir.mkdir();
}
File mavenDir = new File(configDir.getPath() + "/maven");
if(!mavenDir.exists()){
mavenDir.mkdir();
}
File destinationFile = new File(mavenDir + "/pom.xml");
if(destinationFile.exists()){
return;
}
else{
destinationFile.createNewFile();
}
}
项目:AgentWorkbench
文件:BundleEvaluator.java
/**
* Return the bundle directory.
*
* @param bundle the bundle
* @return the bundle directory
*/
public String getBundleDirectory(Bundle bundle) {
if (bundle == null) return null;
// --- Get File URL of bundle ---------------------
URL pluginURL = null;
try {
pluginURL = FileLocator.resolve(bundle.getEntry("/"));
} catch (IOException e) {
throw new RuntimeException("Could not get installation directory of the plugin: " + bundle.getSymbolicName());
}
// --- Clean up the directory path ----------------
String pluginInstallDir = pluginURL.getFile().trim();
if (pluginInstallDir.length()==0) {
throw new RuntimeException("Could not get installation directory of the plugin: " + bundle.getSymbolicName());
}
// --- Corrections, if we are under windows -------
if (Platform.getOS().compareTo(Platform.OS_WIN32) == 0) {
//pluginInstallDir = pluginInstallDir.substring(1);
}
return pluginInstallDir;
}
项目:gemoc-studio-modeldebugging
文件:Activator.java
/**
* Retrieve all the locators registered with the extension point, and additionally store them in a cache.
*
* @return All locators registered with the extension point.
*/
public List<ILocator> retrieveLocators() {
if (locators == null) {
IExtensionRegistry reg = Platform.getExtensionRegistry();
IExtensionPoint ep = reg.getExtensionPoint("org.eclipse.gemoc.dsl.debug.locator");
IExtension[] extensions = ep.getExtensions();
ArrayList<ILocator> contributors = new ArrayList<ILocator>();
for (int i = 0; i < extensions.length; i++) {
IExtension ext = extensions[i];
IConfigurationElement[] ce = ext.getConfigurationElements();
for (int j = 0; j < ce.length; j++) {
ILocator locator;
try {
locator = (ILocator)ce[j].createExecutableExtension("class");
contributors.add(locator);
} catch (CoreException e) {
e.printStackTrace();
}
}
}
locators = contributors;
}
return locators;
}
项目:gemoc-studio-modeldebugging
文件:MelangeHelper.java
/**
* Return a bundle with a .melange declaring 'language'
*/
public static Bundle getMelangeBundle(String languageName){
IConfigurationElement[] melangeLanguages = Platform
.getExtensionRegistry().getConfigurationElementsFor(
"fr.inria.diverse.melange.language");
String melangeBundleName = "";
for (IConfigurationElement lang : melangeLanguages) {
if(lang.getAttribute("id").equals(languageName)){
melangeBundleName = lang.getContributor().getName();
return Platform.getBundle(melangeBundleName);
}
}
return null;
}
项目:eclipse-bash-editor
文件:EclipseUtil.java
public static ImageDescriptor createImageDescriptor(String path, String pluginId) {
if (path == null) {
/* fall back if path null , so avoid NPE in eclipse framework */
return ImageDescriptor.getMissingImageDescriptor();
}
if (pluginId == null) {
/* fall back if pluginId null , so avoid NPE in eclipse framework */
return ImageDescriptor.getMissingImageDescriptor();
}
Bundle bundle = Platform.getBundle(pluginId);
if (bundle == null) {
/*
* fall back if bundle not available, so avoid NPE in eclipse
* framework
*/
return ImageDescriptor.getMissingImageDescriptor();
}
URL url = FileLocator.find(bundle, new Path(path), null);
ImageDescriptor imageDesc = ImageDescriptor.createFromURL(url);
return imageDesc;
}
项目:scanning
文件:GeneratorDescriptor.java
private void createIcons() {
icons = new HashMap<String, Image>(7);
final IConfigurationElement[] eles = Platform.getExtensionRegistry().getConfigurationElementsFor("org.eclipse.scanning.api.generator");
for (IConfigurationElement e : eles) {
final String identity = e.getAttribute("id");
final String icon = e.getAttribute("icon");
if (icon !=null) {
final String cont = e.getContributor().getName();
final Bundle bundle= Platform.getBundle(cont);
final URL entry = bundle.getEntry(icon);
final ImageDescriptor des = ImageDescriptor.createFromURL(entry);
icons.put(identity, des.createImage());
}
}
}
项目:OCCI-Studio
文件:OcciRegistry.java
/**
* Initializes the extensions map.
*
* @throws CoreException
* if the registry cannot be initialized
*/
public void initialize() {
try {
if (Platform.isRunning()) {
registry.clear();
final IExtension[] extensions = Platform.getExtensionRegistry()
.getExtensionPoint(OCCIE_EXTENSION_POINT).getExtensions();
for (int i = 0; i < extensions.length; i++) {
final IConfigurationElement[] configElements = extensions[i]
.getConfigurationElements();
for (int j = 0; j < configElements.length; j++) {
String scheme = configElements[j].getAttribute("scheme"); //$NON-NLS-1$
String uri = "platform:/plugin/" + extensions[i].getContributor().getName() + "/" + configElements[j].getAttribute("file"); //$NON-NLS-1$
registerExtension(scheme, uri);
}
}
}
} catch(NoClassDefFoundError ncdfe) {
LOGGER.info(" Running out of an Eclipse Platform...");
}
}
项目:neoscada
文件:ConnectionCreatorHelper.java
public static ConnectionService createConnection ( final ConnectionInformation info, final Integer autoReconnectDelay, final boolean lazyActivation )
{
if ( info == null )
{
return null;
}
for ( final IConfigurationElement ele : Platform.getExtensionRegistry ().getConfigurationElementsFor ( Activator.EXTP_CONNECTON_CREATOR ) )
{
final String interfaceName = ele.getAttribute ( "interface" );
final String driverName = ele.getAttribute ( "driver" );
if ( interfaceName == null || driverName == null )
{
continue;
}
if ( interfaceName.equals ( info.getInterface () ) && driverName.equals ( info.getDriver () ) )
{
final ConnectionService service = createConnection ( info, ele, autoReconnectDelay, lazyActivation );
if ( service != null )
{
return service;
}
}
}
return null;
}
项目:gemoc-studio
文件:MessagingSystemManager.java
/**
*
* @return a new MessagingSystem that is supposed to be the best implementation for the current platform
* @param baseMessageGroup id for the messaging system, if two instances of MessagingSystem use the same id, the platform may decide to group the messages in a single console
* @param userFriendlyName, name for the console, if several instances use the same baseMessageGroup, it will use one of the userFriendlyName (the first that is created)
*/
public MessagingSystem createBestPlatformMessagingSystem(String baseMessageGroup, String userFriendlyName ){
MessagingSystem result = null;
IConfigurationElement[] confElements = Platform.getExtensionRegistry()
.getConfigurationElementsFor(MESSAGINGSYSTEM_EXTENSION_POINT_NAME);
for (int i = 0; i < confElements.length; i++) {
// get first working contribution
// TODO find some criterion or properties allowing to have better selection in case of multiple definitions
//String name = confElements[i].getAttribute(MESSAGINGSYSTEM_EXTENSION_POINT_CONTRIB_NAME_ATT);
try {
result = (MessagingSystem) confElements[i].createExecutableExtension(MESSAGINGSYSTEM_EXTENSION_POINT_CONTRIB_MESSAGINGSYSTEM_ATT);
result.initialize(baseMessageGroup, userFriendlyName);
if(result != null) break;
} catch (Throwable e) {;
}
}
if (result == null){
// still not created, either due to exception or to missing extension contributor
// fallback to default constructor
result = new StdioSimpleMessagingSystem();
}
return result;
}
项目:neoscada
文件:Helper.java
public static Collection<KeyProviderFactory> createFactories ()
{
final Collection<KeyProviderFactory> result = new LinkedList<KeyProviderFactory> ();
for ( final IConfigurationElement ele : Platform.getExtensionRegistry ().getConfigurationElementsFor ( EXTP_KEY_PROVIDER_FACTORY ) )
{
if ( !ELE_FACTORY.equals ( ele.getName () ) )
{
continue;
}
try
{
result.add ( (KeyProviderFactory)ele.createExecutableExtension ( ATTR_CLASS ) );
}
catch ( final CoreException e )
{
StatusManager.getManager ().handle ( e, Activator.PLUGIN_ID );
}
}
return result;
}
项目:neoscada
文件:Activator.java
public static List<ExtensionDescriptor> getExtensionDescriptors ()
{
final List<ExtensionDescriptor> result = new LinkedList<ExtensionDescriptor> ();
for ( final IConfigurationElement element : Platform.getExtensionRegistry ().getConfigurationElementsFor ( EXTP_VIEWER ) )
{
if ( !"viewerExtension".equals ( element.getName () ) )
{
continue;
}
result.add ( new ExtensionDescriptor ( element ) );
}
return result;
}
项目:neoscada
文件:Activator.java
protected static List<ViewInstanceDescriptor> loadDescriptors ()
{
final List<ViewInstanceDescriptor> result = new LinkedList<ViewInstanceDescriptor> ();
for ( final IConfigurationElement element : Platform.getExtensionRegistry ().getConfigurationElementsFor ( EXTP_VIEW ) )
{
if ( !ELE_VIEW_INSTANCE.equals ( element.getName () ) )
{
continue;
}
final ViewInstanceDescriptor descriptor = convert ( element );
if ( descriptor != null )
{
result.add ( descriptor );
}
}
return result;
}
项目:scanning
文件:StatusQueueView.java
private List<IResultHandler> getResultsHandlers() {
if (resultsHandlers == null) {
final IConfigurationElement[] configElements = Platform.getExtensionRegistry()
.getConfigurationElementsFor(RESULTS_HANDLER_EXTENSION_POINT_ID);
final List<IResultHandler> handlers = new ArrayList<>(configElements.length + 1);
for (IConfigurationElement configElement : configElements) {
try {
final IResultHandler handler = (IResultHandler) configElement.createExecutableExtension("class");
handler.init(service, createConsumerConfiguration());
handlers.add(handler);
} catch (Exception e) {
ErrorDialog.openError(getSite().getShell(), "Internal Error",
"Could not create results handler for class " + configElement.getAttribute("class") +
".\n\nPlease contact your support representative.",
new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage()));
}
}
handlers.add(new DefaultResultsHandler());
resultsHandlers = handlers;
}
return resultsHandlers;
}
项目:neoscada
文件:ConfigurationHelper.java
public static List<MonitorViewConfiguration> loadAllMonitorConfigurations ()
{
final List<MonitorViewConfiguration> result = new ArrayList<MonitorViewConfiguration> ();
for ( final IConfigurationElement ele : Platform.getExtensionRegistry ().getConfigurationElementsFor ( EXTP_CFG_ID ) )
{
if ( !"monitorView".equals ( ele.getName () ) ) //$NON-NLS-1$
{
continue;
}
final MonitorViewConfiguration cfg = convertMonitor ( ele );
if ( cfg != null )
{
result.add ( cfg );
}
}
return result;
}
项目:neoscada
文件:ConfigurationHelper.java
public static List<EventHistoryViewConfiguration> loadAllEventHistoryConfigurations ()
{
final List<EventHistoryViewConfiguration> result = new ArrayList<EventHistoryViewConfiguration> ();
for ( final IConfigurationElement ele : Platform.getExtensionRegistry ().getConfigurationElementsFor ( EXTP_CFG_ID ) )
{
if ( !"eventHistoryView".equals ( ele.getName () ) ) //$NON-NLS-1$
{
continue;
}
final EventHistoryViewConfiguration cfg = convertEventHistory ( ele );
if ( cfg != null )
{
result.add ( cfg );
}
}
return result;
}
项目:neoscada
文件:ConfigurationHelper.java
public static AlarmNotifierConfiguration findAlarmNotifierConfiguration ()
{
for ( final IConfigurationElement ele : Platform.getExtensionRegistry ().getConfigurationElementsFor ( EXTP_CFG_ID ) )
{
if ( !"alarmNotifier".equals ( ele.getName () ) ) //$NON-NLS-1$
{
continue;
}
final AlarmNotifierConfiguration cfg = convertAlarmNotifier ( ele );
if ( cfg != null )
{
return cfg;
}
}
return null;
}
项目:neoscada
文件:ConfigurationHelper.java
private static AlarmNotifierConfiguration convertAlarmNotifier ( final IConfigurationElement ele )
{
try
{
final String connectionId = ele.getAttribute ( "connectionId" ); //$NON-NLS-1$
final String prefix = ele.getAttribute ( "prefix" ) == null ? "ae.server.info" : ele.getAttribute ( "prefix" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ $NON-NLS-2$
final URL soundFile = Platform.getBundle ( ele.getContributor ().getName () ).getEntry ( ele.getAttribute ( "soundFile" ) ); //$NON-NLS-1$
final ParameterizedCommand ackAlarmsAvailableCommand = convertCommand ( ele.getChildren ( "ackAlarmsAvailableCommand" )[0] ); //$NON-NLS-1$
final ParameterizedCommand alarmsAvailableCommand = convertCommand ( ele.getChildren ( "alarmsAvailableCommand" )[0] ); //$NON-NLS-1$
return new AlarmNotifierConfiguration ( connectionId, prefix, soundFile, ackAlarmsAvailableCommand, alarmsAvailableCommand );
}
catch ( final Exception e )
{
logger.warn ( "Failed to convert alarm notifier configuration: {}", ele ); //$NON-NLS-1$
return null;
}
}
项目:neoscada
文件:Activator.java
public static List<ConfigurationFormInformation> findMatching ( final String factoryId )
{
final List<ConfigurationFormInformation> result = new LinkedList<ConfigurationFormInformation> ();
for ( final IConfigurationElement ele : Platform.getExtensionRegistry ().getConfigurationElementsFor ( EXTP_FORM ) )
{
if ( !"form".equals ( ele.getName () ) )
{
continue;
}
final ConfigurationFormInformation info = new ConfigurationFormInformation ( ele );
if ( info.getFactoryIds () == null )
{
continue;
}
if ( info.getFactoryIds ().contains ( "*" ) || info.getFactoryIds ().contains ( factoryId ) )
{
result.add ( info );
}
}
return result;
}
项目:Hydrograph
文件:LogFactory.java
private void writeLogsOnFileAndConsole() {
loggers.debug("****Configuring Logger****");
try {
if(Platform.isRunning()){
System.setProperty(HYDROGRAPH_INSTALLATION_LOCATION, Platform.getInstallLocation().getURL().getPath());
ClassLoader loader = new URLClassLoader(new URL[]
{new File(Platform.getInstallLocation().getURL().getPath() + LOG_DIR).toURI().toURL()});
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
URL url = Loader.getResource(CLASSIC_FILE, loader);
if (url != null) {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.reset();
configurator.doConfigure(url);
lc.start();
}
loggers.debug("****Logger Configured Successfully****");
}
} catch(MalformedURLException|JoranException exception){
loggers.error("Failed to configure the logger {}", exception);
}
}
项目:scanning
文件:PointGeneratorService.java
private static void readExtensions(Map<Class<? extends IScanPathModel>, Class<? extends IPointGenerator<?>>> gens,
Map<String, GeneratorInfo> tids) throws CoreException {
if (Platform.getExtensionRegistry()!=null) {
final IConfigurationElement[] eles = Platform.getExtensionRegistry().getConfigurationElementsFor("org.eclipse.scanning.api.generator");
for (IConfigurationElement e : eles) {
final IPointGenerator<?> generator = (IPointGenerator<?>)e.createExecutableExtension("class");
final IScanPathModel model = (IScanPathModel)e.createExecutableExtension("model");
final Class<? extends IScanPathModel> modelClass = model.getClass();
@SuppressWarnings("unchecked")
final Class<? extends IPointGenerator<?>> generatorClass = (Class<? extends IPointGenerator<?>>) generator.getClass();
gens.put(modelClass, generatorClass);
final GeneratorInfo info = new GeneratorInfo();
info.setModelClass(model.getClass());
info.setGeneratorClass(generator.getClass());
info.setLabel(e.getAttribute("label"));
info.setDescription(e.getAttribute("description"));
String id = e.getAttribute("id");
tids.put(id, info);
}
}
}
项目:pgcodekeeper
文件:ApplicationStandalone.java
@Override
public Object start(IApplicationContext context) {
try {
return Main.main(Platform.getApplicationArgs()) ? EXIT_OK : EXIT_ERROR;
} catch (Exception e) {
e.printStackTrace(System.err);
Status error = new Status(IStatus.ERROR, ApgdiffConsts.APGDIFF_PLUGIN_ID,
"pgCodeKeeper error", e);
Platform.getLog(Activator.getContext().getBundle()).log(error);
return EXIT_ERROR;
} finally {
// only needed when org.apache.felix.gogo.shell bundle is present
/*try {
// see bug #514338
Thread.sleep(110);
} catch (InterruptedException ex) {
// no action
}*/
}
}
项目:pgcodekeeper
文件:EclipseEnvironment.java
/**
* Returns the bundle that launched the application that this class runs in.
*
* @return the defining bundle
*/
private Bundle getApplicationBundle() {
IProduct product = Platform.getProduct();
if (product != null) {
return product.getDefiningBundle();
} else {
return Platform.getBundle(ECLIPSE_RUNTIME_BULDEID);
}
}
项目:n4js
文件:HeadlessExtensionRegistrationHelper.java
/**
* Register extensions manually. This method should become obsolete when extension point fully works in headless
* case.
*/
public void registerExtensions() {
// Wire registers related to the extension points
// in non-OSGI mode extension points are not automatically populated
if (!Platform.isRunning()) {
runnerRegistry.register(nodeRunnerDescriptorProvider.get());
testerRegistry.register(nodeTesterDescriptorProvider.get());
}
// Register file extensions
registerTestableFiles(N4JSGlobals.N4JS_FILE_EXTENSION, N4JSGlobals.N4JSX_FILE_EXTENSION);
registerRunnableFiles(N4JSGlobals.N4JS_FILE_EXTENSION, N4JSGlobals.JS_FILE_EXTENSION,
N4JSGlobals.N4JSX_FILE_EXTENSION, N4JSGlobals.JSX_FILE_EXTENSION);
registerTranspilableFiles(N4JSGlobals.N4JS_FILE_EXTENSION, N4JSGlobals.N4JSX_FILE_EXTENSION,
N4JSGlobals.JS_FILE_EXTENSION, N4JSGlobals.JSX_FILE_EXTENSION);
registerTypableFiles(N4JSGlobals.N4JSD_FILE_EXTENSION, N4JSGlobals.N4JS_FILE_EXTENSION,
N4JSGlobals.N4JSX_FILE_EXTENSION, N4JSGlobals.JS_FILE_EXTENSION,
N4JSGlobals.JSX_FILE_EXTENSION);
registerRawFiles(N4JSGlobals.JS_FILE_EXTENSION, N4JSGlobals.JSX_FILE_EXTENSION);
// Register ECMAScript subgenerator
subGeneratorRegistry.register(ecmaScriptSubGenerator, N4JSGlobals.N4JS_FILE_EXTENSION);
subGeneratorRegistry.register(ecmaScriptSubGenerator, N4JSGlobals.JS_FILE_EXTENSION);
subGeneratorRegistry.register(ecmaScriptSubGenerator, N4JSGlobals.N4JSX_FILE_EXTENSION);
subGeneratorRegistry.register(ecmaScriptSubGenerator, N4JSGlobals.JSX_FILE_EXTENSION);
}
项目:solidity-ide
文件:KickStartNewProjectAction.java
protected void createExample(IProject project) {
Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
try (InputStream stream = FileLocator.openStream(bundle, new Path("examples/greeter.sol"), false)) {
IFile file = project.getFile("greeter.sol");
file.create(stream, true, null);
} catch (Exception e) {
e.printStackTrace();
}
}
项目:Hydrograph
文件:CustomEditActionProvider.java
@SuppressWarnings("restriction")
@Override
public void fillContextMenu(IMenuManager menu) {
super.fillContextMenu(menu);
ActionContributionItem pasteContribution = getPasteContribution(menu.getItems());
menu.remove(pasteContribution);
IAction pasteAction = new Action(PASTE_ACTION_TEXT) {
@Override
public void run() {
IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench()
.getService(IHandlerService.class);
try {
JobCopyParticipant.setCopiedFileList(new ArrayList<>());
handlerService.executeCommand(PASTE_COMMAND_ID, null);
} catch (Exception exception) {
logger.warn("Error while pasting job files :: {}",exception.getMessage());
}
}
};
pasteAction.setAccelerator(SWT.MOD1 | 'v');
Bundle bundle = Platform.getBundle(MENU_PLUGIN_NAME);
URL imagePath = BundleUtility.find(bundle,ImagePathConstant.PASTE_IMAGE_PATH.getValue());
ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(imagePath);
pasteAction.setImageDescriptor(imageDescriptor);
menu.insertAfter(COPY_ACTION_ID, pasteAction);
}
项目:pandionj
文件:LaunchCommand.java
private void launch(IResource file, int line, IType type, String agentArgs, IMethod mainMethod)
throws CoreException {
ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
ILaunchConfigurationType confType = manager.getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
ILaunchConfigurationWorkingCopy wc = confType.newInstance(null, file.getName() + " (PandionJ)");
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, file.getProject().getName());
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, type.getFullyQualifiedName());
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_STOP_IN_MAIN, false);
// if(breakPoint != null)
// breakPoint.delete();
// if(line != -1)
// breakPoint = JDIDebugModel.createLineBreakpoint(file, firstType.getFullyQualifiedName(), line, -1, -1, 0, true, null);
try {
Bundle bundle = Platform.getBundle(LaunchCommand.class.getPackage().getName());
URL find = FileLocator.find(bundle, new Path("lib/agent.jar"), null);
URL resolve = FileLocator.resolve(find);
if(!mainMethod.exists()) {
String path = resolve.getPath();
if(Platform.getOS().compareTo(Platform.OS_WIN32) == 0)
path = path.substring(1);
String args = "-javaagent:\"" + path + "=" + agentArgs + "\" -Djava.awt.headless=true";
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, args);
}
} catch (IOException e1) {
e1.printStackTrace();
}
ILaunchConfiguration config = wc.doSave();
Activator.launch(config);
}
项目:n4js
文件:EclipseExternalLibraryWorkspace.java
/**
* Initializes the backing cache with the cache loader and registers a {@link ProjectStateChangeListener} into the
* workspace.
*/
@Inject
public void init() {
projectCache = CacheBuilder.newBuilder().build(cacheLoader);
if (Platform.isRunning()) {
getWorkspace().addResourceChangeListener(projectStateChangeListener);
}
}
项目:n4js
文件:WorkingSet.java
@SuppressWarnings("unchecked")
@Override
default <T> T getAdapter(final Class<T> adapter) {
if (IWorkingSet.class == adapter || ResourceMapping.class == adapter) {
return (T) new WorkingSetAdapter(this);
}
return Platform.getAdapterManager().getAdapter(this, adapter);
}
项目:OCCI-Studio
文件:ExamplesRegistry.java
private static File resolveFile(String pluginName, String path) {
Bundle bundle = Platform.getBundle(pluginName);
URL fileURL = bundle.getEntry(path);
try {
URL resolvedFileURL = FileLocator.toFileURL(fileURL);
URI resolvedURI = new URI(resolvedFileURL.getProtocol(), resolvedFileURL.getPath(), null);
return new File(resolvedURI);
} catch (URISyntaxException | IOException e) {
Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
}
return null;
}
项目:n4js
文件:ExternalLibrariesActivator.java
/**
* Logs the given status to the platform log. Has no effect if the platform is not running or the bundle cannot be
* found.
*
* @param status
* the status to log.
*/
public static void log(final IStatus status) {
if (null != status && Platform.isRunning() && null != context) {
final Bundle bundle = context.getBundle();
if (null != bundle) {
Platform.getLog(bundle).log(status);
}
}
}
项目:pgcodekeeper
文件:UsageReportDispatcher.java
private String getVersion() {
IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
if (providers != null) {
for (IBundleGroupProvider provider : providers) {
IBundleGroup[] bundleGroups = provider.getBundleGroups();
for (IBundleGroup group : bundleGroups) {
if (group.getIdentifier().equals("ru.taximaxim.codekeeper.feature")) {
return group.getVersion();
}
}
}
}
return "version_unavalable";
}
项目:knime-json-node-doc-generator
文件:RepositoryManager.java
private void readMetanodes() {
// iterate over the meta node config elements and create meta node templates
IExtension[] metanodeExtensions = getExtensions(ID_META_NODE);
for (IExtension mnExt : metanodeExtensions) {
IConfigurationElement[] mnConfigElems = mnExt.getConfigurationElements();
for (IConfigurationElement mnConfig : mnConfigElems) {
try {
MetaNodeTemplate metaNode = RepositoryFactory.createMetaNode(mnConfig);
LOGGER.debug("Found meta node definition '" + metaNode.getID() + "': " + metaNode.getName());
IContainerObject parentContainer = m_root.findContainer(metaNode.getCategoryPath());
// If parent category is illegal, log an error and append the node to the
// repository root.
if (parentContainer == null) {
LOGGER.warn("Invalid category-path for node contribution: '" + metaNode.getCategoryPath()
+ "' - adding to root instead");
m_root.addChild(metaNode);
} else {
// everything is fine, add the node to its parent category
parentContainer.addChild(metaNode);
}
} catch (Throwable t) {
String message = "MetaNode " + mnConfig.getAttribute("id") + "' from plugin '"
+ mnConfig.getNamespaceIdentifier() + "' could not be created: " + t.getMessage();
Bundle bundle = Platform.getBundle(mnConfig.getNamespaceIdentifier());
if (bundle == null || bundle.getState() != Bundle.ACTIVE) {
// if the plugin is null, the plugin could not be activated maybe due to a not
// activateable plugin (plugin class cannot be found)
message = message + " The corresponding plugin bundle could not be activated!";
}
LOGGER.error(message, t);
}
}
}
}
项目:n4js
文件:ExternalProjectsCollector.java
/**
* Sugar for collecting {@link IWorkspace Eclipse workspace} projects that have any direct dependency to any
* external projects. Same as {@link #collectProjectsWithDirectExternalDependencies()} but does not considers all
* the available projects but only those that are given as the argument.
*
* @param externalProjects
* the external projects that has to be considered as a possible dependency of an Eclipse workspace based
* project.
* @return an iterable of Eclipse workspace projects that has direct dependency to an external project given as the
* argument.
*/
public Iterable<IProject> collectProjectsWithDirectExternalDependencies(
final Iterable<? extends IProject> externalProjects) {
if (!Platform.isRunning()) {
return emptyList();
}
final Collection<String> externalIds = from(externalProjects).transform(p -> p.getName()).toSet();
final Predicate<String> externalIdsFilter = Predicates.in(externalIds);
return from(asList(getWorkspace().getRoot().getProjects()))
.filter(p -> Iterables.any(getDirectExternalDependencyIds(p), externalIdsFilter));
}
项目:n4js
文件:RebuildWorkspaceProjectsJob.java
/**
* Creates a new job with the already ordered configurations to builder.
*
* @param configs
* the configurations to build.
*
*/
public RebuildWorkspaceProjectsJob(final IBuildConfiguration[] configs) {
super("Building workspace");
checkState(Platform.isRunning(), "This job requires a running platform");
this.configs = checkNotNull(configs, "configs");
setSystem(false);
setUser(true);
setRule(BUILD_RULE);
}
项目:n4js
文件:RebuildWorkspaceProjectsScheduler.java
/**
* Schedules a build with the given projects. Does nothing if the {@link Platform platform} is not running, or the
* iterable of projects is empty.
*
* @param toUpdate
* an iterable of projects to build.
*/
public void scheduleBuildIfNecessary(final Iterable<IProject> toUpdate) {
if (Platform.isRunning() && !Iterables.isEmpty(toUpdate)) {
final Workspace workspace = (Workspace) ResourcesPlugin.getWorkspace();
final IBuildConfiguration[] projectsToReBuild = from(asList(workspace.getBuildOrder()))
.filter(config -> Iterables.contains(toUpdate, config.getProject()))
.toArray(IBuildConfiguration.class);
if (!Arrays2.isEmpty(projectsToReBuild)) {
new RebuildWorkspaceProjectsJob(projectsToReBuild).schedule();
}
}
}
项目:AgentWorkbench
文件:ProjectBundleLoader.java
/**
* Installs the specified jar bundle and adds the Bundle instance to the local bundle vector {@link #getBundleVector()}.
* @param bundleJarFile the bundle jar file
*/
public void installBundle(File bundleJarFile) {
// --- Check the symbolic bundle name of the jar to load ----
String sbn = this.getBundleBuilder().getBundleJarsSymbolicBundleNames().get(bundleJarFile);
if (sbn!=null && sbn.isEmpty()==false) {
if (Platform.getBundle(sbn)!=null) {
System.out.println("[" + this.getClass().getSimpleName() + "] Bundle '" + sbn + "' is already installed, skip installation of jar file!");
return;
}
}
// --- INstall the local bundle -----------------------------
this.installBundle("reference:file:" + bundleJarFile.getAbsolutePath());
}
项目:AgentWorkbench
文件:VersionInfo.java
/**
* Loads the version information to this instance.
*/
public Version getVersion() {
if (version==null) {
Bundle bundle = Platform.getBundle(this.plugInID);
version = bundle.getVersion();
}
return version;
}