01: // Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
02: // Released under the terms of the GNU General Public License version 2 or later.
03: package fitnesse.fixtures;
04:
05: import fit.ColumnFixture;
06: import fitnesse.wiki.*;
07: import java.util.StringTokenizer;
08:
09: public class PageCreator extends ColumnFixture {
10: public String pageName;
11: public String pageContents;
12: public String pageAttributes = "";
13:
14: public boolean valid() throws Exception {
15: try {
16: WikiPage root = FitnesseFixtureContext.root;
17: WikiPagePath pagePath = PathParser.parse(pageName);
18: WikiPage thePage = root.getPageCrawler().addPage(root,
19: pagePath, pageContents);
20: PageData data = thePage.getData();
21: setAttributes(data);
22: thePage.commit(data);
23: pageAttributes = "";
24: } catch (Exception e) {
25: e.printStackTrace();
26: }
27: return true;
28: }
29:
30: private void setAttributes(PageData data) throws Exception {
31: StringTokenizer tokenizer = new StringTokenizer(pageAttributes,
32: ",");
33: while (tokenizer.hasMoreTokens()) {
34: String nameValuePair = tokenizer.nextToken();
35: int equals = nameValuePair.indexOf("=");
36: if (equals < 0)
37: throw new Exception(
38: "Attribute must have form name=value");
39: String name = nameValuePair.substring(0, equals);
40: String value = nameValuePair.substring(equals + 1);
41: data.setAttribute(name, value);
42: }
43: }
44: }
|