Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2011-09-14 06:52:50 +0000
committerEike Stepper2011-09-14 06:52:50 +0000
commit1e34830737ac68f7d1273e6812d1159858bcadde (patch)
treeefc71b39aa7b2b168cdd74356edf207eaff48eab
parenta0dc67b7e50b5f5b082b36647a108fef77c566a9 (diff)
downloadcdo-1e34830737ac68f7d1273e6812d1159858bcadde.tar.gz
cdo-1e34830737ac68f7d1273e6812d1159858bcadde.tar.xz
cdo-1e34830737ac68f7d1273e6812d1159858bcadde.zip
tutorials
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/ChapterImpl.java63
1 files changed, 52 insertions, 11 deletions
diff --git a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/ChapterImpl.java b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/ChapterImpl.java
index 0d306edd93..b7f8b74260 100644
--- a/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/ChapterImpl.java
+++ b/plugins/org.eclipse.emf.cdo.releng.doc/src/org/eclipse/emf/cdo/releng/doc/article/impl/ChapterImpl.java
@@ -16,8 +16,9 @@ import org.eclipse.emf.ecore.EClass;
import com.sun.javadoc.ClassDoc;
-import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
/**
* <!-- begin-user-doc --> An implementation of the model object '<em><b>Chapter</b></em>'. <!-- end-user-doc -->
@@ -135,20 +136,34 @@ public class ChapterImpl extends BodyImpl implements Chapter
}
@Override
- protected File createOutputFile()
+ public void generate(HtmlWriter out) throws IOException
{
- // if (this instanceof Article)
+ String title = getTitle();
+ if (this instanceof Article)
{
- return super.createOutputFile();
+ out.writeHeading(1, title);
+ }
+ else
+ {
+ int[] chapterNumber = getChapterNumber();
+
+ StringBuilder builder = new StringBuilder();
+ for (int number : chapterNumber)
+ {
+ if (builder.length() != 0)
+ {
+ builder.append(".");
+ }
+
+ builder.append(number);
+ }
+
+ builder.append(" ");
+ builder.append(title);
+ String result = builder.toString();
+ out.writeHeading(chapterNumber.length + 1, result);
}
- // return getArticle().getOutputFile();
- }
-
- @Override
- public void generate(HtmlWriter out) throws IOException
- {
- out.writeHeading(1, getTitle());
out.write("<a name=\"");
out.write(getPath());
out.write("\"/>");
@@ -156,4 +171,30 @@ public class ChapterImpl extends BodyImpl implements Chapter
super.generate(out);
}
+ public int[] getChapterNumber()
+ {
+ List<Integer> levelNumbers = new ArrayList<Integer>();
+ getLevelNumbers(this, levelNumbers);
+
+ int[] result = new int[levelNumbers.size()];
+ for (int i = 0; i < result.length; i++)
+ {
+ result[i] = levelNumbers.get(i);
+
+ }
+
+ return result;
+ }
+
+ private static void getLevelNumbers(ChapterImpl chapter, List<Integer> levelNumbers)
+ {
+ StructuralElement parent = chapter.getParent();
+ if (!(parent instanceof Article))
+ {
+ getLevelNumbers((ChapterImpl)parent, levelNumbers);
+ }
+
+ int number = parent.getChildren().indexOf(chapter) + 1;
+ levelNumbers.add(number);
+ }
} // ChapterImpl

Back to the top