From: Marc Englund Date: Thu, 16 Oct 2008 06:45:33 +0000 (+0000) Subject: Updates to Sampler. Removed accidental symlink. X-Git-Tag: 6.7.0.beta1~3985 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=46c0499773e171cb7cfdd926030905cbeaca6446;p=vaadin-framework.git Updates to Sampler. Removed accidental symlink. svn changeset:5645/svn branch:trunk --- 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. + *

+ * Good candidates are resources used to make the example (CSS, images, + * custom layouts), documentation links (reference manual), articles (e.g. + * pattern description, usability discussion). + *

+ *

+ * Can return null, if the example has no related resources. + *

+ *

+ * The name of the NamedExternalResource will be shown in the UI.
Note + * that Javadoc should be referenced via {@link #getRelatedAPI()}. + *

+ * + * @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