aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Englund <marc.englund@itmill.com>2008-10-16 06:45:33 +0000
committerMarc Englund <marc.englund@itmill.com>2008-10-16 06:45:33 +0000
commit46c0499773e171cb7cfdd926030905cbeaca6446 (patch)
tree5aa642a68bc1cdc01fe41769a0f55e8888a95f96
parente1f740434702a85c7287fb7abdd5a6d04613732c (diff)
downloadvaadin-framework-46c0499773e171cb7cfdd926030905cbeaca6446.tar.gz
vaadin-framework-46c0499773e171cb7cfdd926030905cbeaca6446.zip
Updates to Sampler. Removed accidental symlink.
svn changeset:5645/svn branch:trunk
-rw-r--r--src/com/itmill/toolkit/demo/sampler/APIResource.java44
-rw-r--r--src/com/itmill/toolkit/demo/sampler/Feature.java27
-rw-r--r--src/com/itmill/toolkit/demo/sampler/features/DummyFeature2.java7
l---------src/com/itmill/toolkit/demo/sampler/features/DummyFeatureExample.txt1
4 files changed, 63 insertions, 16 deletions
diff --git a/src/com/itmill/toolkit/demo/sampler/APIResource.java b/src/com/itmill/toolkit/demo/sampler/APIResource.java
index b360c6d947..565f53b8a7 100644
--- a/src/com/itmill/toolkit/demo/sampler/APIResource.java
+++ b/src/com/itmill/toolkit/demo/sampler/APIResource.java
@@ -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;
}
+
}
diff --git a/src/com/itmill/toolkit/demo/sampler/Feature.java b/src/com/itmill/toolkit/demo/sampler/Feature.java
index 00fc43a831..78882fd397 100644
--- a/src/com/itmill/toolkit/demo/sampler/Feature.java
+++ b/src/com/itmill/toolkit/demo/sampler/Feature.java
@@ -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();
diff --git a/src/com/itmill/toolkit/demo/sampler/features/DummyFeature2.java b/src/com/itmill/toolkit/demo/sampler/features/DummyFeature2.java
index 48afbb9358..8250e84a18 100644
--- a/src/com/itmill/toolkit/demo/sampler/features/DummyFeature2.java
+++ b/src/com/itmill/toolkit/demo/sampler/features/DummyFeature2.java
@@ -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
index 6b3094d758..0000000000
--- a/src/com/itmill/toolkit/demo/sampler/features/DummyFeatureExample.txt
+++ /dev/null
@@ -1 +0,0 @@
-/home/marc/Projects/Toolkit5/src/com/itmill/toolkit/demo/sampler/features/DummyFeatureExample.java \ No newline at end of file