package org.easyb.eclipse.templates;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
public class TemplateActivator extends AbstractUIPlugin {
private String STORY_CONTENT_TYPE = "org.easyb.eclipse.contenttype.story";
private String SPECIFICATION_CONTENT_TYPE = "org.easyb.eclipse.contenttype.specification";
// The plug-in ID
public static final String PLUGIN_ID = "org.easyb.eclipse.templates";
// The shared instance
private static TemplateActivator plugin;
/**
* The constructor
*/
public TemplateActivator() {
}
/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static TemplateActivator getDefault() {
return plugin;
}
public static void Log(String message){
getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID,message));
}
public static void Log(String message,Exception ex){
getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID,0,message,ex));
}
public static void Log(IStatus status){
getDefault().getLog().log(status);
}
public boolean isBehaviourFile(IResource resource){
if(resource.getType() != IResource.FILE){
return false;
}
IContentType type =
Platform.getContentTypeManager().getContentType(STORY_CONTENT_TYPE);
String resourceExt = ((IFile)resource).getFileExtension();
if(isFileExtensionMatch(type.getFileSpecs(IContentType.FILE_EXTENSION_SPEC),resourceExt)){
return true;
}
type =
Platform.getContentTypeManager().getContentType(SPECIFICATION_CONTENT_TYPE);
if(isFileExtensionMatch(type.getFileSpecs(IContentType.FILE_EXTENSION_SPEC),resourceExt)){
return true;
}
return false;
}
private boolean isFileExtensionMatch(String[] extensions,String resourceExt){
for(String exten : extensions){
if(exten.equals(resourceExt)){
return true;
}
}
return false;
}
}