diff options
author | Eike Stepper | 2011-09-14 06:52:50 +0000 |
---|---|---|
committer | Eike Stepper | 2011-09-14 06:52:50 +0000 |
commit | 1e34830737ac68f7d1273e6812d1159858bcadde (patch) | |
tree | efc71b39aa7b2b168cdd74356edf207eaff48eab | |
parent | a0dc67b7e50b5f5b082b36647a108fef77c566a9 (diff) | |
download | cdo-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.java | 63 |
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 |