tmf: Update copyright headers in tmf.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / project / model / TmfExperimentElement.java
index 385593af90ae98b5161c4e5386eab69dfdc19786..73e1a7ba50cfacf7c01b4b5b40b73b7cba395693 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2012 Ericsson
+ * Copyright (c) 2010, 2013 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -35,7 +35,7 @@ import org.eclipse.ui.views.properties.TextPropertyDescriptor;
  * @author Francois Chouinard
  *
  */
-public class TmfExperimentElement extends TmfProjectModelElement implements IPropertySource2 {
+public class TmfExperimentElement extends TmfWithFolderElement implements IPropertySource2 {
 
     // ------------------------------------------------------------------------
     // Constants
@@ -46,6 +46,7 @@ public class TmfExperimentElement extends TmfProjectModelElement implements IPro
     private static final String sfName = "name"; //$NON-NLS-1$
     private static final String sfPath = "path"; //$NON-NLS-1$
     private static final String sfLocation = "location"; //$NON-NLS-1$
+    private static final String sfFolderSuffix = "_exp"; //$NON-NLS-1$
 
     private static final TextPropertyDescriptor sfNameDescriptor = new TextPropertyDescriptor(sfName, sfName);
     private static final TextPropertyDescriptor sfPathDescriptor = new TextPropertyDescriptor(sfPath, sfPath);
@@ -118,28 +119,37 @@ public class TmfExperimentElement extends TmfProjectModelElement implements IPro
     }
 
     /**
-     * Returns the file resource used to store bookmarks.
-     * The linked file will be created if it doesn't exist.
+     * Returns the file resource used to store bookmarks after creating it if necessary.
+     * The file will be created if it does not exist.
      * @return the bookmarks file
      * @throws CoreException if the bookmarks file cannot be created
      * @since 2.0
      */
-    public IFile getBookmarksFile() throws CoreException {
-        IFile file = null;
-        final IFile bookmarksFile = getProject().getExperimentsFolder().getResource().getFile(BOOKMARKS_HIDDEN_FILE);
-        if (!bookmarksFile.exists()) {
-            final InputStream source = new ByteArrayInputStream(new byte[0]);
-            bookmarksFile.create(source, true, null);
-        }
-        bookmarksFile.setHidden(true);
-
-        final IFolder folder = (IFolder) fResource;
-        file = folder.getFile(getName() + '_');
+    public IFile createBookmarksFile() throws CoreException {
+        IFile file = getBookmarksFile();
         if (!file.exists()) {
+            final IFile bookmarksFile = getProject().getExperimentsFolder().getResource().getFile(BOOKMARKS_HIDDEN_FILE);
+            if (!bookmarksFile.exists()) {
+                final InputStream source = new ByteArrayInputStream(new byte[0]);
+                bookmarksFile.create(source, true, null);
+            }
+            bookmarksFile.setHidden(true);
             file.createLink(bookmarksFile.getLocation(), IResource.REPLACE, null);
+            file.setHidden(true);
+            file.setPersistentProperty(TmfCommonConstants.TRACETYPE, TmfExperiment.class.getCanonicalName());
         }
-        file.setHidden(true);
-        file.setPersistentProperty(TmfCommonConstants.TRACETYPE, TmfExperiment.class.getCanonicalName());
+        return file;
+    }
+
+    /**
+     * Returns the file resource used to store bookmarks.
+     * The file may not exist.
+     * @return the bookmarks file
+     * @since 2.0
+     */
+    public IFile getBookmarksFile() {
+        final IFolder folder = (IFolder) fResource;
+        IFile file = folder.getFile(getName() + '_');
         return file;
     }
 
@@ -162,7 +172,7 @@ public class TmfExperimentElement extends TmfProjectModelElement implements IPro
      */
     @Override
     public IPropertyDescriptor[] getPropertyDescriptors() {
-        return (sfDescriptors != null) ? Arrays.copyOf(sfDescriptors, sfDescriptors.length) : null;
+        return Arrays.copyOf(sfDescriptors, sfDescriptors.length);
     }
 
     /*
@@ -221,4 +231,13 @@ public class TmfExperimentElement extends TmfProjectModelElement implements IPro
         return false;
     }
 
+    /**
+     * Return the suffix for resource names
+     * @return The folder suffix
+     */
+    @Override
+    public String getSuffix() {
+        return sfFolderSuffix;
+    }
+
 }
This page took 0.024633 seconds and 5 git commands to generate.