diff options
author | Eike Stepper | 2011-09-16 06:17:54 +0000 |
---|---|---|
committer | Eike Stepper | 2011-09-16 06:17:54 +0000 |
commit | 95123aad3b91c84c3659c8c2eb5a6d36fa745750 (patch) | |
tree | bad4a3d7034e9978dd0b9289393dd07530106da0 | |
parent | 7d70c49ba7f2e8976d4bf58145cd98685128a1c9 (diff) | |
download | cdo-95123aad3b91c84c3659c8c2eb5a6d36fa745750.tar.gz cdo-95123aad3b91c84c3659c8c2eb5a6d36fa745750.tar.xz cdo-95123aad3b91c84c3659c8c2eb5a6d36fa745750.zip |
tutorials
27 files changed, 230 insertions, 61 deletions
diff --git a/plugins/org.eclipse.emf.cdo.doc/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.doc/META-INF/MANIFEST.MF index 5cbc247298..80647aec25 100644 --- a/plugins/org.eclipse.emf.cdo.doc/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.doc/META-INF/MANIFEST.MF @@ -28,9 +28,10 @@ Require-Bundle: org.eclipse.help;bundle-version="[3.3.0,4.0.0)";resolution:=opti org.eclipse.emf.cdo.ui;bundle-version="[4.0.0,5.0.0)";resolution:=optional;visibility:=reexport, org.eclipse.emf.cdo.ui.ide;bundle-version="[4.0.0,5.0.0)";resolution:=optional;visibility:=reexport Export-Package: org.eclipse.emf.cdo.doc;version="4.1.0", - org.eclipse.emf.cdo.doc.connectors;version="4.1.0", org.eclipse.emf.cdo.doc.online;version="4.1.0", + org.eclipse.emf.cdo.doc.programmers;version="4.1.0", + org.eclipse.emf.cdo.doc.programmers.connectors;version="4.1.0", + org.eclipse.emf.cdo.doc.programmers.sessions;version="4.1.0", org.eclipse.emf.cdo.doc.reference;version="4.1.0", org.eclipse.emf.cdo.doc.reference.api;version="4.1.0", - org.eclipse.emf.cdo.doc.reference.schema;version="4.1.0", - org.eclipse.emf.cdo.doc.sessions;version="4.1.0" + org.eclipse.emf.cdo.doc.reference.schema;version="4.1.0" diff --git a/plugins/org.eclipse.emf.cdo.doc/build.xml b/plugins/org.eclipse.emf.cdo.doc/build.xml index 1ecd31f585..a3b941aeef 100644 --- a/plugins/org.eclipse.emf.cdo.doc/build.xml +++ b/plugins/org.eclipse.emf.cdo.doc/build.xml @@ -315,11 +315,6 @@ </delete> <mkdir dir="${article.destdir}" /> - <copy todir="${article.destdir}" verbose="true" failonerror="false"> - <fileset dir="${article.sources}" defaultexcludes="true"> - <exclude name="**/*.java" /> - </fileset> - </copy> <copy todir="${project.path}/images" verbose="true" failonerror="false"> <fileset dir="plugins/org.eclipse.emf.cdo.releng.doc/resources" defaultexcludes="true"> <include name="**/*" /> diff --git a/plugins/org.eclipse.emf.cdo.doc/html/connectors/summary.html b/plugins/org.eclipse.emf.cdo.doc/html/connectors/summary.html new file mode 100644 index 0000000000..d0e337729b --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.doc/html/connectors/summary.html @@ -0,0 +1,4 @@ +<h1>Connectors</h1> +<p> + In this category you'll find a number of articles about physical transport connections: + diff --git a/plugins/org.eclipse.emf.cdo.doc/html/online/summary.html b/plugins/org.eclipse.emf.cdo.doc/html/online/summary.html new file mode 100644 index 0000000000..773c265080 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.doc/html/online/summary.html @@ -0,0 +1,3 @@ +<h1>Online Docs</h1> + + diff --git a/plugins/org.eclipse.emf.cdo.doc/html/reference/schema/summary.html b/plugins/org.eclipse.emf.cdo.doc/html/reference/schema/summary.html new file mode 100644 index 0000000000..dbd41a5f53 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.doc/html/reference/schema/summary.html @@ -0,0 +1,3 @@ +<h1>Extension Point Reference</h1> + + diff --git a/plugins/org.eclipse.emf.cdo.doc/html/reference/summary.html b/plugins/org.eclipse.emf.cdo.doc/html/reference/summary.html new file mode 100644 index 0000000000..3fb11fb96d --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.doc/html/reference/summary.html @@ -0,0 +1,3 @@ +<h1>Reference</h1> + + diff --git a/plugins/org.eclipse.emf.cdo.doc/html/sessions/summary.html b/plugins/org.eclipse.emf.cdo.doc/html/sessions/summary.html new file mode 100644 index 0000000000..f51e66ba27 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.doc/html/sessions/summary.html @@ -0,0 +1,3 @@ +<h1>Sessions</h1> + + diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/Overview.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/Overview.java index 28fffaba06..ffce912194 100644 --- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/Overview.java +++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/Overview.java @@ -14,6 +14,7 @@ package org.eclipse.emf.cdo.doc; * Overview
*
* @number 0
+ * @default
*/
public class Overview
{
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/online/package-info.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/online/package-info.java index 589134cc71..202cda2f78 100644 --- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/online/package-info.java +++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/online/package-info.java @@ -10,7 +10,7 @@ */
/**
- * Online
+ * Online Docs
*
* @number 555
*/
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/connectors/CreatingTransportConnections.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/connectors/CreatingTransportConnections.java index 65b8a29c82..f475526988 100644 --- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/connectors/CreatingTransportConnections.java +++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/connectors/CreatingTransportConnections.java @@ -8,11 +8,11 @@ * Contributors:
* Eike Stepper - initial API and implementation
*/
-package org.eclipse.emf.cdo.doc.connectors;
+package org.eclipse.emf.cdo.doc.programmers.connectors;
-import org.eclipse.emf.cdo.doc.connectors.CreatingTransportConnections.AddConfigurationParameters.SetBufferCapacity;
-import org.eclipse.emf.cdo.doc.connectors.Snippets.JMSConnector;
-import org.eclipse.emf.cdo.doc.sessions.ConnectingToRepositories.SetConnectionTimeout;
+import org.eclipse.emf.cdo.doc.programmers.connectors.CreatingTransportConnections.AddConfigurationParameters.SetBufferCapacity;
+import org.eclipse.emf.cdo.doc.programmers.connectors.Snippets.JMSConnector;
+import org.eclipse.emf.cdo.doc.programmers.sessions.ConnectingToRepositories.SetConnectionTimeout;
import org.eclipse.net4j.Net4jUtil;
import org.eclipse.net4j.acceptor.IAcceptor;
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/connectors/package-info.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/connectors/package-info.java new file mode 100644 index 0000000000..7f8770afdf --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/connectors/package-info.java @@ -0,0 +1,20 @@ +/*
+ * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+
+/**
+ * Connectors
+ * <p>
+ * In this category you'll find a number of articles about physical transport connections: {@toc}
+ *
+ * @number 1
+ */
+package org.eclipse.emf.cdo.doc.programmers.connectors;
+
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/connectors/package-info.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/package-info.java index ac8fb9e42e..67b92e8bea 100644 --- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/connectors/package-info.java +++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/package-info.java @@ -10,7 +10,9 @@ */
/**
- * Connectors
+ * Programmer's Guide
+ *
+ * @number 1
*/
-package org.eclipse.emf.cdo.doc.connectors;
+package org.eclipse.emf.cdo.doc.programmers;
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/sessions/ConnectingToRepositories.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/sessions/ConnectingToRepositories.java index 33d47ce10a..a277a6dee4 100644 --- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/sessions/ConnectingToRepositories.java +++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/sessions/ConnectingToRepositories.java @@ -8,7 +8,7 @@ * Contributors:
* Eike Stepper - initial API and implementation
*/
-package org.eclipse.emf.cdo.doc.sessions;
+package org.eclipse.emf.cdo.doc.programmers.sessions;
/**
* Connecting To Repositories
diff --git a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/sessions/package-info.java b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/sessions/package-info.java index 597b7e244e..a94b063643 100644 --- a/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/sessions/package-info.java +++ b/plugins/org.eclipse.emf.cdo.doc/src/org/eclipse/emf/cdo/doc/programmers/sessions/package-info.java @@ -11,6 +11,8 @@ /**
* Sessions
+ *
+ * @number 2
*/
-package org.eclipse.emf.cdo.doc.sessions;
+package org.eclipse.emf.cdo.doc.programmers.sessions;
diff --git a/plugins/org.eclipse.emf.cdo.doc/toc.xml b/plugins/org.eclipse.emf.cdo.doc/toc.xml index da31e92378..d71de8d81c 100644 --- a/plugins/org.eclipse.emf.cdo.doc/toc.xml +++ b/plugins/org.eclipse.emf.cdo.doc/toc.xml @@ -2,18 +2,20 @@ <?NLS TYPE="org.eclipse.help.toc"?> -<toc label="CDO Model Repository Documentation" topic="javadoc/overview-summary.html"> +<toc label="CDO Model Repository Documentation" topic="html/Overview.html"> <topic label="Overview" href="html/Overview.html"> </topic> - <topic label="Connectors" href="html/connectors"> - <topic label="Creating Transport Connections" href="html/connectors/CreatingTransportConnections.html"> + <topic label="Programmer's Guide" href="html/programmers/summary.html"> + <topic label="Connectors" href="html/programmers/connectors/summary.html"> + <topic label="Creating Transport Connections" href="html/programmers/connectors/CreatingTransportConnections.html"> + </topic> </topic> - </topic> - <topic label="Sessions" href="html/sessions"> - <topic label="Connecting To Repositories" href="html/sessions/ConnectingToRepositories.html"> + <topic label="Sessions" href="html/programmers/sessions/summary.html"> + <topic label="Connecting To Repositories" href="html/programmers/sessions/ConnectingToRepositories.html"> + </topic> </topic> </topic> - <topic label="Reference" href="html/reference"> + <topic label="Reference" href="html/reference/summary.html"> <topic label="API Reference" href="javadoc/overview-summary.html"> <topic label="CDO Model Repository Client" href="javadoc/org/eclipse/emf/cdo/package-summary.html"> <topic label="org.eclipse.emf.cdo" href="javadoc/org/eclipse/emf/cdo/package-summary.html" /> @@ -99,7 +101,7 @@ <topic label="org.eclipse.emf.cdo.server.objectivity" href="javadoc/org/eclipse/emf/cdo/server/objectivity/package-summary.html" /> </topic> </topic> - <topic label="Extension Point Reference" href="schemadoc/overview-summary.html"> + <topic label="Extension Point Reference" href="html/reference/schema/summary.html"> <topic label="CDO Model Repository Client" href="schemadoc/org_eclipse_emf_cdo_viewProviders.html"> <topic label="viewProviders" href="schemadoc/org_eclipse_emf_cdo_viewProviders.html" /> </topic> @@ -116,7 +118,7 @@ </topic> </topic> </topic> - <topic label="Online" href="html/online"> + <topic label="Online Docs" href="html/online/summary.html"> <topic label="Homepage" href="http://www.eclipse.org/cdo" /> <topic label="Wiki" href="http://wiki.eclipse.org/CDO" /> </topic> diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/buildTemplate.ant b/plugins/org.eclipse.emf.cdo.releng.doc/buildTemplate.ant index 9684775e21..8085dde11f 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/buildTemplate.ant +++ b/plugins/org.eclipse.emf.cdo.releng.doc/buildTemplate.ant @@ -177,11 +177,6 @@ </delete> <mkdir dir="${article.destdir}" /> - <copy todir="${article.destdir}" verbose="true" failonerror="false"> - <fileset dir="${article.sources}" defaultexcludes="true"> - <exclude name="**/*.java" /> - </fileset> - </copy> <copy todir="${project.path}/images" verbose="true" failonerror="false"> <fileset dir="plugins/org.eclipse.emf.cdo.releng.doc/resources" defaultexcludes="true"> <include name="**/*" /> diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/TestCDODocumentation.java b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/TestCDODocumentation.java index 84dcf20340..aeac533fdc 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/TestCDODocumentation.java +++ b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/TestCDODocumentation.java @@ -39,7 +39,7 @@ public class TestCDODocumentation public static void main(String[] args) { add("-sourcepath /develop/ws/cdo/plugins/org.eclipse.net4j.util.doc/src;/develop/ws/cdo/plugins/org.eclipse.net4j.db.doc/src;/develop/ws/cdo/plugins/org.eclipse.net4j.doc/src;/develop/ws/cdo/plugins/org.eclipse.emf.cdo.doc/src"); - add("-subpackages org.eclipse.net4j.util.doc:org.eclipse.emf.cdo.doc.connectors:org.eclipse.emf.cdo.doc.sessions:org.eclipse.emf.cdo.doc.reference:org.eclipse.emf.cdo.doc.reference.api:org.eclipse.emf.cdo.doc.online:org.eclipse.emf.cdo.doc"); + add("-subpackages org.eclipse.net4j.util.doc:org.eclipse.emf.cdo.doc.programmers.connectors:org.eclipse.emf.cdo.doc.programmers.sessions:org.eclipse.emf.cdo.doc.reference:org.eclipse.emf.cdo.doc.reference.api:org.eclipse.emf.cdo.doc.online:org.eclipse.emf.cdo.doc:org.eclipse.emf.cdo.doc.programmers"); add("-doclet org.eclipse.emf.cdo.releng.doc.article.impl.ArticleDoclet"); add("-docletpath /develop/ws/cdo/plugins/org.eclipse.emf.cdo.releng.doc/bin;/develop/bin/org.eclipse.emf.cdo.releng.doc.supplemental/bin;/develop/ws/cdo/_target/plugins/org.eclipse.emf.ecore_2.7.0.v20110605-0747.jar;/develop/ws/cdo/_target/plugins/org.eclipse.emf.common_2.7.0.v20110605-0747.jar"); add("-encoding ISO-8859-1"); diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/Documentation.java b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/Documentation.java index 9f91a28f22..1149c71905 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/Documentation.java +++ b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/Documentation.java @@ -123,4 +123,6 @@ public interface Documentation extends StructuralElement */
EList<Plugin> getPlugins();
+ void setDefaultElement(StructuralElement defaultElement);
+
} // Documentation
diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/ArticleImpl.java b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/ArticleImpl.java index b9080a33e1..6bc286db8c 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/ArticleImpl.java +++ b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/ArticleImpl.java @@ -9,14 +9,11 @@ package org.eclipse.emf.cdo.releng.doc.article.impl; import org.eclipse.emf.cdo.releng.doc.article.Article; import org.eclipse.emf.cdo.releng.doc.article.ArticlePackage; import org.eclipse.emf.cdo.releng.doc.article.StructuralElement; -import org.eclipse.emf.cdo.releng.doc.article.util.ArticleUtil; -import org.eclipse.emf.cdo.releng.doc.article.util.HtmlWriter; import org.eclipse.emf.ecore.EClass; import com.sun.javadoc.ClassDoc; -import java.io.File; import java.io.IOException; /** @@ -63,19 +60,7 @@ public class ArticleImpl extends ChapterImpl implements Article @Override public void generate() throws IOException { - HtmlWriter out = null; - - try - { - File file = getOutputFile(); - file.getParentFile().mkdirs(); - out = new HtmlWriter(file); - - generate(out); - } - finally - { - ArticleUtil.close(out); - } + generate(getOutputFile()); } + } // ArticleImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/CategoryImpl.java b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/CategoryImpl.java index ef4302bdef..e647a00afe 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/CategoryImpl.java +++ b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/CategoryImpl.java @@ -7,14 +7,20 @@ package org.eclipse.emf.cdo.releng.doc.article.impl; import org.eclipse.emf.cdo.releng.doc.article.ArticlePackage; +import org.eclipse.emf.cdo.releng.doc.article.BodyElement; import org.eclipse.emf.cdo.releng.doc.article.Category; import org.eclipse.emf.cdo.releng.doc.article.StructuralElement; import org.eclipse.emf.cdo.releng.doc.article.util.ArticleUtil; +import org.eclipse.emf.cdo.releng.doc.article.util.HtmlWriter; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import com.sun.javadoc.PackageDoc; +import java.io.File; +import java.io.IOException; + /** * <!-- begin-user-doc --> An implementation of the model object '<em><b>Category</b></em>'. <!-- end-user-doc --> * <p> @@ -62,4 +68,42 @@ public class CategoryImpl extends BodyImpl implements Category { return (PackageDoc)super.getDoc(); } + + @Override + public void generate() throws IOException + { + File targetFolder = getOutputFile(); + File sourceFolder = getDoc().position().file().getParentFile(); + for (File file : sourceFolder.listFiles()) + { + if (file.isFile()) + { + String name = file.getName(); + if (!name.endsWith(".java") && !name.equals("package-info.java")) + { + File targetFile = new File(targetFolder, name); + ArticleUtil.copyFile(file, targetFile); + } + } + } + + super.generate(); + generate(getTocTarget()); + } + + @Override + public void generate(HtmlWriter out) throws IOException + { + String title = getTitle(); + out.writeHeading(1, title); + + EList<BodyElement> elements = getElements(); + BodyElementContainerImpl.generate(out, this, elements); + } + + @Override + protected File getTocTarget() + { + return new File(super.getTocTarget(), "summary.html"); + } } // CategoryImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/DocumentationImpl.java b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/DocumentationImpl.java index ade2d44395..db5b54cc5a 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/DocumentationImpl.java +++ b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/DocumentationImpl.java @@ -116,6 +116,8 @@ public class DocumentationImpl extends StructuralElementImpl implements Document */ protected EList<Plugin> plugins; + private StructuralElement defaultElement; + /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @@ -627,6 +629,16 @@ public class DocumentationImpl extends StructuralElementImpl implements Document return "Documentation"; } + public void setDefaultElement(StructuralElement defaultElement) + { + if (this.defaultElement != null) + { + System.err.println("Multiple default elements declared"); + } + + this.defaultElement = defaultElement; + } + @Override public RootDoc getDoc() { @@ -661,10 +673,15 @@ public class DocumentationImpl extends StructuralElementImpl implements Document try { + String href = "javadoc/overview-summary.html"; + if (defaultElement != null) + { + href = ((StructuralElementImpl)defaultElement).getTocHref(); + } writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n"); writer.write("<?NLS TYPE=\"org.eclipse.help.toc\"?>\n\n"); - writer.write("<toc label=\"" + getDocumentation().getTitle() + "\" topic=\"javadoc/overview-summary.html\">\n"); + writer.write("<toc label=\"" + getDocumentation().getTitle() + "\" topic=\"" + href + "\">\n"); generateTocEntries(writer, "\t"); diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/SchemadocImpl.java b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/SchemadocImpl.java index b5c0a418d0..df534b86c3 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/SchemadocImpl.java +++ b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/SchemadocImpl.java @@ -67,7 +67,7 @@ public class SchemadocImpl extends CategoryImpl implements Schemadoc { if (!exists) { - writer.write(prefix + "<topic label=\"" + getTitle() + "\" href=\"schemadoc/overview-summary.html\">\n"); + writer.write(prefix + "<topic label=\"" + getTitle() + "\" href=\"" + getTocHref() + "\">\n"); exists = true; } diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/StructuralElementImpl.java b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/StructuralElementImpl.java index 2928330930..b71b34c6f1 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/StructuralElementImpl.java +++ b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/StructuralElementImpl.java @@ -153,6 +153,11 @@ public abstract class StructuralElementImpl extends LinkTargetImpl implements St setParent(parent); this.path = path; this.doc = doc; + + if (ArticleUtil.isTagged(doc, "@default")) + { + getDocumentation().setDefaultElement(this); + } } final void setTitle(String title) @@ -194,7 +199,9 @@ public abstract class StructuralElementImpl extends LinkTargetImpl implements St public StructuralElement getParent() { if (eContainerFeatureID() != ArticlePackage.STRUCTURAL_ELEMENT__PARENT) + { return null; + } return (StructuralElement)eContainer(); } @@ -216,24 +223,34 @@ public abstract class StructuralElementImpl extends LinkTargetImpl implements St */ public void setParent(StructuralElement newParent) { - if (newParent != eInternalContainer() - || (eContainerFeatureID() != ArticlePackage.STRUCTURAL_ELEMENT__PARENT && newParent != null)) + if (newParent != eInternalContainer() || eContainerFeatureID() != ArticlePackage.STRUCTURAL_ELEMENT__PARENT + && newParent != null) { if (EcoreUtil.isAncestor(this, newParent)) + { throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); + } NotificationChain msgs = null; if (eInternalContainer() != null) + { msgs = eBasicRemoveFromContainer(msgs); + } if (newParent != null) + { msgs = ((InternalEObject)newParent).eInverseAdd(this, ArticlePackage.STRUCTURAL_ELEMENT__CHILDREN, StructuralElement.class, msgs); + } msgs = basicSetParent(newParent, msgs); if (msgs != null) + { msgs.dispatch(); + } } else if (eNotificationRequired()) + { eNotify(new ENotificationImpl(this, Notification.SET, ArticlePackage.STRUCTURAL_ELEMENT__PARENT, newParent, newParent)); + } } /** @@ -354,7 +371,9 @@ public abstract class StructuralElementImpl extends LinkTargetImpl implements St return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs); case ArticlePackage.STRUCTURAL_ELEMENT__PARENT: if (eInternalContainer() != null) + { msgs = eBasicRemoveFromContainer(msgs); + } return basicSetParent((StructuralElement)otherEnd, msgs); } return super.eInverseAdd(otherEnd, featureID, msgs); @@ -506,7 +525,9 @@ public abstract class StructuralElementImpl extends LinkTargetImpl implements St public String toString() { if (eIsProxy()) + { return super.toString(); + } StringBuffer result = new StringBuffer(super.toString()); result.append(" (title: "); @@ -547,6 +568,23 @@ public abstract class StructuralElementImpl extends LinkTargetImpl implements St } } + protected void generate(File file) throws IOException + { + HtmlWriter out = null; + + try + { + file.getParentFile().mkdirs(); + out = new HtmlWriter(file); + + generate(out); + } + finally + { + ArticleUtil.close(out); + } + } + protected void generateTocEntries(BufferedWriter writer, String prefix) throws IOException { List<StructuralElement> children = new ArrayList<StructuralElement>(getChildren()); @@ -567,11 +605,19 @@ public abstract class StructuralElementImpl extends LinkTargetImpl implements St protected void generateTocEntry(BufferedWriter writer, String prefix) throws IOException { - File projectFolder = getDocumentation().getOutputFile().getParentFile(); - String href = ArticleUtil.createLink(projectFolder, getOutputFile()); - - writer.write(prefix + "<topic label=\"" + getTitle() + "\" href=\"" + href + "\">\n"); + writer.write(prefix + "<topic label=\"" + getTitle() + "\" href=\"" + getTocHref() + "\">\n"); generateTocEntries(writer, prefix + "\t"); writer.write(prefix + "</topic>\n"); } + + protected File getTocTarget() + { + return getOutputFile(); + } + + protected String getTocHref() + { + File projectFolder = getDocumentation().getOutputFile().getParentFile(); + return ArticleUtil.createLink(projectFolder, getTocTarget()); + } } // StructuralElementImpl diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/util/ArticleUtil.java b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/util/ArticleUtil.java index c2457d7595..772db20c19 100644 --- a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/util/ArticleUtil.java +++ b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/util/ArticleUtil.java @@ -21,8 +21,12 @@ import com.sun.javadoc.Tag; import java.io.Closeable; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.io.Reader; import java.util.ArrayList; import java.util.List; @@ -152,8 +156,8 @@ public final class ArticleUtil public static String readFile(File file) { - Reader reader = null; char[] buffer = new char[(int)file.length()]; + Reader reader = null; try { @@ -171,6 +175,43 @@ public final class ArticleUtil } } + public static void copyFile(File source, File target) + { + int size = (int)source.length(); + byte[] buffer = new byte[size]; + InputStream in = null; + + try + { + in = new FileInputStream(source); + in.read(buffer); + } + catch (IOException ex) + { + throw new RuntimeException(ex); + } + finally + { + close(in); + } + + OutputStream out = null; + + try + { + out = new FileOutputStream(target); + out.write(buffer); + } + catch (IOException ex) + { + throw new RuntimeException(ex); + } + finally + { + close(out); + } + } + public static boolean containsFile(File folder, File file) { if (!folder.isDirectory()) diff --git a/plugins/org.eclipse.net4j.db.doc/src/org/eclipse/net4j/db/doc/online/package-info.java b/plugins/org.eclipse.net4j.db.doc/src/org/eclipse/net4j/db/doc/online/package-info.java index 47c961521e..e422207ce4 100644 --- a/plugins/org.eclipse.net4j.db.doc/src/org/eclipse/net4j/db/doc/online/package-info.java +++ b/plugins/org.eclipse.net4j.db.doc/src/org/eclipse/net4j/db/doc/online/package-info.java @@ -10,7 +10,7 @@ */
/**
- * Online
+ * Online Docs
*
* @number 555
*/
diff --git a/plugins/org.eclipse.net4j.doc/src/org/eclipse/net4j/doc/online/package-info.java b/plugins/org.eclipse.net4j.doc/src/org/eclipse/net4j/doc/online/package-info.java index 2e7d3e23a0..1a065e7d5c 100644 --- a/plugins/org.eclipse.net4j.doc/src/org/eclipse/net4j/doc/online/package-info.java +++ b/plugins/org.eclipse.net4j.doc/src/org/eclipse/net4j/doc/online/package-info.java @@ -10,7 +10,7 @@ */
/**
- * Online
+ * Online Docs
*
* @number 555
*/
diff --git a/plugins/org.eclipse.net4j.util.doc/src/org/eclipse/net4j/util/doc/online/package-info.java b/plugins/org.eclipse.net4j.util.doc/src/org/eclipse/net4j/util/doc/online/package-info.java index ec4f8a74ad..bf21c6c058 100644 --- a/plugins/org.eclipse.net4j.util.doc/src/org/eclipse/net4j/util/doc/online/package-info.java +++ b/plugins/org.eclipse.net4j.util.doc/src/org/eclipse/net4j/util/doc/online/package-info.java @@ -10,7 +10,7 @@ */
/**
- * Online
+ * Online Docs
*
* @number 555
*/
|