diff options
author | Marc Englund <marc.englund@itmill.com> | 2008-10-16 06:45:33 +0000 |
---|---|---|
committer | Marc Englund <marc.englund@itmill.com> | 2008-10-16 06:45:33 +0000 |
commit | 46c0499773e171cb7cfdd926030905cbeaca6446 (patch) | |
tree | 5aa642a68bc1cdc01fe41769a0f55e8888a95f96 | |
parent | e1f740434702a85c7287fb7abdd5a6d04613732c (diff) | |
download | vaadin-framework-46c0499773e171cb7cfdd926030905cbeaca6446.tar.gz vaadin-framework-46c0499773e171cb7cfdd926030905cbeaca6446.zip |
Updates to Sampler. Removed accidental symlink.
svn changeset:5645/svn branch:trunk
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 |