]> source.dussan.org Git - vaadin-framework.git/commitdiff
Updates to Sampler. Removed accidental symlink.
authorMarc Englund <marc.englund@itmill.com>
Thu, 16 Oct 2008 06:45:33 +0000 (06:45 +0000)
committerMarc Englund <marc.englund@itmill.com>
Thu, 16 Oct 2008 06:45:33 +0000 (06:45 +0000)
svn changeset:5645/svn branch:trunk

src/com/itmill/toolkit/demo/sampler/APIResource.java
src/com/itmill/toolkit/demo/sampler/Feature.java
src/com/itmill/toolkit/demo/sampler/features/DummyFeature2.java
src/com/itmill/toolkit/demo/sampler/features/DummyFeatureExample.txt [deleted symlink]

index b360c6d94732cb2d30b4b88a3bbd341f898fcf5f..565f53b8a79e2347ba56651903de0a32119608e1 100644 (file)
@@ -1,20 +1,24 @@
 package com.itmill.toolkit.demo.sampler;
 
-import com.itmill.toolkit.terminal.ExternalResource;
-
-public class APIResource extends ExternalResource {
-
-    private static final String BASE_URL = "http://toolkit.itmill.com/demo/doc/api/";
-
-    private String name;
+/**
+ * A NamedExternalResource pointing to the javadoc for the given class. Knows
+ * where the javadocs are located for som common APIs, but one can also specify
+ * a javadoc baseurl. The name will be set to the class simpleName.
+ * 
+ */
+public class APIResource extends NamedExternalResource {
+
+    private static final String ITMILL_BASE = "http://toolkit.itmill.com/demo/doc/api/";
+    private static final String JAVA_BASE = "http://java.sun.com/javase/6/docs/api/";
+    private static final String SERVLET_BASE = "http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2";
+    private static final String PORTLET_BASE = "http://developers.sun.com/docs/jscreator/apis/portlet";
 
     public APIResource(Class clazz) {
-        this(BASE_URL, clazz);
+        this(resolveBaseUrl(clazz), clazz);
     }
 
     public APIResource(String baseUrl, Class clazz) {
-        super(getJavadocUrl(baseUrl, clazz));
-        name = clazz.getSimpleName();
+        super(clazz.getSimpleName(), getJavadocUrl(baseUrl, clazz));
     }
 
     private static String getJavadocUrl(String baseUrl, Class clazz) {
@@ -25,7 +29,23 @@ public class APIResource extends ExternalResource {
         return baseUrl + path + ".html";
     }
 
-    public String getName() {
-        return name;
+    /**
+     * Tries to resolve the javadoc baseurl for the given class by looking at
+     * the packagename.
+     * 
+     * @param clazz
+     * @return
+     */
+    private static String resolveBaseUrl(Class clazz) {
+        String name = clazz.getName();
+        if (name.startsWith("javax.servlet.")) {
+            return SERVLET_BASE;
+        } else if (name.startsWith("javax.portlet.")) {
+            return PORTLET_BASE;
+        } else if (name.startsWith("java.") || name.startsWith("javax.")) {
+            return JAVA_BASE;
+        }
+        return ITMILL_BASE;
     }
+
 }
index 00fc43a8314f9294ee123d0a7c4ab47a89545b73..78882fd3973ef88517cde601e30a45e6773856c6 100644 (file)
@@ -23,14 +23,37 @@ abstract public class Feature {
     }
 
     /**
-     * Gets the description for this feature. May contain HTML.
+     * Gets the description for this feature. Should describe what the example
+     * intends to showcase. May contain HTML.
      * 
-     * @return
+     * @return the description
      */
     abstract public String getDescription();
 
+    /**
+     * Gets related resources, i.e links to resources related to the example.
+     * <p>
+     * Good candidates are resources used to make the example (CSS, images,
+     * custom layouts), documentation links (reference manual), articles (e.g.
+     * pattern description, usability discussion).
+     * </p>
+     * <p>
+     * Can return null, if the example has no related resources.
+     * </p>
+     * <p>
+     * The name of the NamedExternalResource will be shown in the UI. <br/> Note
+     * that Javadoc should be referenced via {@link #getRelatedAPI()}.
+     * </p>
+     * 
+     * @return related external stuff
+     */
     abstract public NamedExternalResource[] getRelatedResources();
 
+    /**
+     * Gets related API resources, i.e
+     * 
+     * @return
+     */
     abstract public APIResource[] getRelatedAPI();
 
     abstract public Class[] getRelatedFeatures();
index 48afbb9358ed92d6a950d03e69ce8a7f0e85a53d..8250e84a180916014707b05b604f5d1ae52d163a 100644 (file)
@@ -1,5 +1,8 @@
 package com.itmill.toolkit.demo.sampler.features;
 
+import javax.portlet.PortletContext;
+import javax.servlet.ServletContext;
+
 import com.itmill.toolkit.demo.sampler.APIResource;
 import com.itmill.toolkit.demo.sampler.Feature;
 import com.itmill.toolkit.demo.sampler.NamedExternalResource;
@@ -17,7 +20,9 @@ public class DummyFeature2 extends Feature {
 
     @Override
     public APIResource[] getRelatedAPI() {
-        return null;
+        return new APIResource[] { new APIResource(String.class),
+                new APIResource(PortletContext.class),
+                new APIResource(ServletContext.class) };
     }
 
     @Override
diff --git a/src/com/itmill/toolkit/demo/sampler/features/DummyFeatureExample.txt b/src/com/itmill/toolkit/demo/sampler/features/DummyFeatureExample.txt
deleted file mode 120000 (symlink)
index 6b3094d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/home/marc/Projects/Toolkit5/src/com/itmill/toolkit/demo/sampler/features/DummyFeatureExample.java
\ No newline at end of file