in plugins/org.apache.karaf.eik.ui/src/main/java/org/apache/karaf/eik/ui/internal/KarafLaunchConfigurationAdapterFactory.java [38:86]
public Object getAdapter(final Object adaptableObject, @SuppressWarnings("rawtypes") final Class adapterType) {
// TODO: This entire method is ugly and needs to be cleaned up
final Object adapted;
if ( KarafPlatformModel.class.equals(adapterType)
&& adaptableObject instanceof ILaunchConfiguration)
{
final ILaunchConfiguration configuration = (ILaunchConfiguration) adaptableObject;
try {
if (configuration.getAttributes().containsKey(KarafLaunchConfigurationConstants.KARAF_LAUNCH_SOURCE_RUNTIME)) {
final String platformPath = (String) configuration.getAttributes().get(KarafLaunchConfigurationConstants.KARAF_LAUNCH_SOURCE_RUNTIME);
adapted = KarafPlatformModelRegistry.findPlatformModel(new Path(platformPath));
} else {
adapted = null;
}
} catch (final CoreException e) {
KarafUIPluginActivator.getLogger().error("Unable to find Karaf Platform model", e);
return null;
}
} else if ( IKarafProject.class.equals(adapterType)
&& adaptableObject instanceof KarafPlatformModel)
{
IKarafProject karafProject = null;
final KarafPlatformModel karafPlatformModel = (KarafPlatformModel) adaptableObject;
for (final IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
if (KarafProject.isKarafProject(project)) {
karafProject = new KarafProject(project);
if (karafPlatformModel.getRootDirectory().equals(karafProject.getPlatformRootDirectory())) {
break;
}
}
}
adapted = karafProject;
} else if ( IKarafProject.class.equals(adapterType)
&& adaptableObject instanceof IProject)
{
if (KarafProject.isKarafProject((IProject) adaptableObject)) {
adapted = new KarafProject((IProject) adaptableObject);
} else {
return null;
}
} else {
adapted = null;
}
return adapted;
}