mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-29 11:15:09 +00:00
eclipse plugin: some cleanup on schema parser
This commit is contained in:
parent
68089dee82
commit
02f96fc169
@ -8,12 +8,9 @@
|
||||
*******************************************************************************/
|
||||
package wesnoth_eclipse_plugin.schema;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Stack;
|
||||
|
||||
import wesnoth_eclipse_plugin.Constants;
|
||||
@ -243,27 +240,26 @@ public class SchemaParser
|
||||
Logger.getInstance().log("parsing done");
|
||||
parsingDone_ = true;
|
||||
|
||||
try
|
||||
{
|
||||
BufferedWriter bw = new BufferedWriter(new PrintWriter(new File("E:/work/gw/data/schema-out.cfg")));
|
||||
// print primitives
|
||||
for (Entry<String, String> primitive : primitives_.entrySet())
|
||||
{
|
||||
bw.write(primitive.getKey() + ": " + primitive.getValue() + "\n");
|
||||
}
|
||||
// print tags
|
||||
Tag root = tags_.get("root");
|
||||
for (Tag tag : root.getTagChildren())
|
||||
{
|
||||
bw.write(getOutput(tag, ""));
|
||||
}
|
||||
bw.close();
|
||||
} catch (Exception e)
|
||||
{
|
||||
Logger.getInstance().logException(e);
|
||||
}
|
||||
System.out.println("End writing result");
|
||||
|
||||
// try
|
||||
// {
|
||||
// BufferedWriter bw = new BufferedWriter(new PrintWriter(new File("E:/work/gw/data/schema-out.cfg")));
|
||||
// // print primitives
|
||||
// for (Entry<String, String> primitive : primitives_.entrySet())
|
||||
// {
|
||||
// bw.write(primitive.getKey() + ": " + primitive.getValue() + "\n");
|
||||
// }
|
||||
// // print tags
|
||||
// Tag root = tags_.get("root");
|
||||
// for (Tag tag : root.getTagChildren())
|
||||
// {
|
||||
// bw.write(getOutput(tag, 0));
|
||||
// }
|
||||
// bw.close();
|
||||
// } catch (Exception e)
|
||||
// {
|
||||
// Logger.getInstance().logException(e);
|
||||
// }
|
||||
// System.out.println("End writing result");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -334,15 +330,20 @@ public class SchemaParser
|
||||
* @param tag The tag which contents to output
|
||||
* @param indent The indentation space
|
||||
*/
|
||||
public String getOutput(Tag tag, String indent)
|
||||
public String getOutput(Tag tag, int indent)
|
||||
{
|
||||
if (tag == null)
|
||||
return "";
|
||||
String res = indent + "[" + tag.getName() + "]\n";
|
||||
res += getOutput(tag.getDescription(), indent + "\t");
|
||||
StringBuilder res = new StringBuilder();
|
||||
// tag name
|
||||
res.append(StringUtils.multiples("\t", indent) + "[" + tag.getName() + "]\n");
|
||||
// tag description (if any)
|
||||
res.append(getOutput(tag.getDescription(), indent + 1));
|
||||
|
||||
for (TagKey key : tag.getKeyChildren())
|
||||
{
|
||||
res += (indent + "\t" + key.getName() + "=" +
|
||||
res.append(StringUtils.multiples("\t", indent) +
|
||||
"\t" + key.getName() + "=" +
|
||||
(tag.getName().equals("description") ?
|
||||
key.getValue() : key.getValueType())
|
||||
+ "\n");
|
||||
@ -352,10 +353,13 @@ public class SchemaParser
|
||||
// skip recursive calls
|
||||
if (tmpTag.getTagChildren().contains(tag))
|
||||
continue;
|
||||
res += (getOutput(tmpTag, indent + "\t"));
|
||||
res.append(getOutput(tmpTag, indent + 1));
|
||||
}
|
||||
res += (indent + "[/" + tag.getName() + "]\n");
|
||||
return res;
|
||||
|
||||
// closing tag
|
||||
res.append(StringUtils.multiples("\t", indent) +
|
||||
"[/" + tag.getName() + "]\n");
|
||||
return res.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -17,31 +17,31 @@ import java.util.List;
|
||||
*/
|
||||
public class Tag
|
||||
{
|
||||
private String Name = "";
|
||||
private String ExtendedTagName = "";
|
||||
private List<Tag> TagChildren;
|
||||
private List<TagKey> KeyChildren;
|
||||
private Tag Description;
|
||||
private char Cardinality = ' ';
|
||||
private String name_ = "";
|
||||
private String extendedTagName_ = "";
|
||||
private List<Tag> tagChildren_;
|
||||
private List<TagKey> keyChildren_;
|
||||
private Tag description_;
|
||||
private char cardinality_ = ' ';
|
||||
|
||||
private boolean NeedsExpanding = false;
|
||||
private boolean needsExpanding_ = false;
|
||||
|
||||
public Tag(String name, List<Tag> tagChildren, List<TagKey> keyChildren, char cardinality) {
|
||||
Name = name;
|
||||
TagChildren = tagChildren;
|
||||
KeyChildren = keyChildren;
|
||||
Cardinality = cardinality;
|
||||
name_ = name;
|
||||
tagChildren_ = tagChildren;
|
||||
keyChildren_ = keyChildren;
|
||||
cardinality_ = cardinality;
|
||||
}
|
||||
|
||||
public Tag(String name, char cardinality) {
|
||||
Name = name;
|
||||
Cardinality = cardinality;
|
||||
name_ = name;
|
||||
cardinality_ = cardinality;
|
||||
}
|
||||
|
||||
public Tag(String name, String extendedTagName, char cardinality) {
|
||||
Name = name;
|
||||
ExtendedTagName = extendedTagName;
|
||||
Cardinality = cardinality;
|
||||
name_ = name;
|
||||
extendedTagName_ = extendedTagName;
|
||||
cardinality_ = cardinality;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -50,9 +50,9 @@ public class Tag
|
||||
*/
|
||||
public void addTag(Tag tag)
|
||||
{
|
||||
if (TagChildren == null)
|
||||
TagChildren = new ArrayList<Tag>();
|
||||
TagChildren.add(tag);
|
||||
if (tagChildren_ == null)
|
||||
tagChildren_ = new ArrayList<Tag>();
|
||||
tagChildren_.add(tag);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -61,9 +61,9 @@ public class Tag
|
||||
*/
|
||||
public void addKey(TagKey key)
|
||||
{
|
||||
if (KeyChildren == null)
|
||||
KeyChildren = new ArrayList<TagKey>();
|
||||
KeyChildren.add(key);
|
||||
if (keyChildren_ == null)
|
||||
keyChildren_ = new ArrayList<TagKey>();
|
||||
keyChildren_.add(key);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -82,58 +82,58 @@ public class Tag
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return new String(Name + " " + ExtendedTagName);
|
||||
return new String(name_ + " " + extendedTagName_);
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return Name;
|
||||
return name_;
|
||||
}
|
||||
|
||||
public char getCardinality()
|
||||
{
|
||||
return Cardinality;
|
||||
return cardinality_;
|
||||
}
|
||||
|
||||
public void setDescription(Tag description)
|
||||
{
|
||||
Description = description;
|
||||
description_ = description;
|
||||
}
|
||||
public Tag getDescription()
|
||||
{
|
||||
return Description;
|
||||
return description_;
|
||||
}
|
||||
|
||||
public String getExtendedTagName()
|
||||
{
|
||||
return ExtendedTagName;
|
||||
return extendedTagName_;
|
||||
}
|
||||
public void setExtendedTagName(String extendedTagName)
|
||||
{
|
||||
ExtendedTagName = extendedTagName;
|
||||
extendedTagName_ = extendedTagName;
|
||||
}
|
||||
|
||||
public void setNeedsExpanding(boolean needsExpanding)
|
||||
{
|
||||
NeedsExpanding = needsExpanding;
|
||||
needsExpanding_ = needsExpanding;
|
||||
}
|
||||
public boolean getNeedsExpanding()
|
||||
{
|
||||
return NeedsExpanding;
|
||||
return needsExpanding_;
|
||||
}
|
||||
|
||||
public List<TagKey> getKeyChildren()
|
||||
{
|
||||
if (KeyChildren == null)
|
||||
KeyChildren = new ArrayList<TagKey>();
|
||||
return KeyChildren;
|
||||
if (keyChildren_ == null)
|
||||
keyChildren_ = new ArrayList<TagKey>();
|
||||
return keyChildren_;
|
||||
}
|
||||
|
||||
public List<Tag> getTagChildren()
|
||||
{
|
||||
if (TagChildren == null)
|
||||
TagChildren = new ArrayList<Tag>();
|
||||
return TagChildren;
|
||||
if (tagChildren_ == null)
|
||||
tagChildren_ = new ArrayList<Tag>();
|
||||
return tagChildren_;
|
||||
}
|
||||
|
||||
|
||||
@ -145,11 +145,11 @@ public class Tag
|
||||
@Override
|
||||
public int compare(Tag o1, Tag o2)
|
||||
{
|
||||
if (o1.Cardinality == o2.Cardinality)
|
||||
if (o1.cardinality_ == o2.cardinality_)
|
||||
return 0;
|
||||
if (o1.Cardinality == '1')
|
||||
if (o1.cardinality_ == '1')
|
||||
return 1;
|
||||
else if (o2.Cardinality == '1')
|
||||
else if (o2.cardinality_ == '1')
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ import java.util.Comparator;
|
||||
*/
|
||||
public class TagKey
|
||||
{
|
||||
private String Name;
|
||||
private String name_;
|
||||
/**
|
||||
* Cardinality can be:
|
||||
* 1 = required
|
||||
@ -23,30 +23,30 @@ public class TagKey
|
||||
* * = repeated
|
||||
* - = forbidden
|
||||
*/
|
||||
private char Cardinality;
|
||||
private String ValueType;
|
||||
private String Value;
|
||||
private boolean IsEnum;
|
||||
private boolean IsTranslatable;
|
||||
private char cardinality_;
|
||||
private String valueType_;
|
||||
private String value_;
|
||||
private boolean isEnum_;
|
||||
private boolean isTranslatable_;
|
||||
|
||||
public TagKey(String name, char cardinality, String valueType, boolean trans) {
|
||||
Name = name;
|
||||
Cardinality = cardinality;
|
||||
Value = "";
|
||||
name_ = name;
|
||||
cardinality_ = cardinality;
|
||||
value_ = "";
|
||||
|
||||
if (valueType == null || valueType.isEmpty())
|
||||
{
|
||||
ValueType = "";
|
||||
IsEnum = false;
|
||||
IsTranslatable = false;
|
||||
valueType_ = "";
|
||||
isEnum_ = false;
|
||||
isTranslatable_ = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
IsEnum = valueType.substring(1, valueType.indexOf(" ")).equals("enum");
|
||||
isEnum_ = valueType.substring(1, valueType.indexOf(" ")).equals("enum");
|
||||
|
||||
// remove the " "
|
||||
ValueType = valueType.substring(valueType.indexOf(" ") + 1, valueType.length() - 1);
|
||||
IsTranslatable = trans;
|
||||
valueType_ = valueType.substring(valueType.indexOf(" ") + 1, valueType.length() - 1);
|
||||
isTranslatable_ = trans;
|
||||
}
|
||||
}
|
||||
|
||||
@ -54,7 +54,7 @@ public class TagKey
|
||||
String defaultValue, boolean trans)
|
||||
{
|
||||
this(name, cardinality, valueType, trans);
|
||||
Value = defaultValue;
|
||||
value_ = defaultValue;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -65,11 +65,11 @@ public class TagKey
|
||||
@Override
|
||||
public int compare(TagKey o1, TagKey o2)
|
||||
{
|
||||
if (o1.Cardinality == o2.Cardinality)
|
||||
if (o1.cardinality_ == o2.cardinality_)
|
||||
return 0;
|
||||
if (o1.Cardinality == '1')
|
||||
if (o1.cardinality_ == '1')
|
||||
return -1;
|
||||
else if (o2.Cardinality == '1')
|
||||
else if (o2.cardinality_ == '1')
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
@ -77,40 +77,40 @@ public class TagKey
|
||||
|
||||
public char getCardinality()
|
||||
{
|
||||
return Cardinality;
|
||||
return cardinality_;
|
||||
}
|
||||
public void setCardinality(char cardinality)
|
||||
{
|
||||
Cardinality = cardinality;
|
||||
cardinality_ = cardinality;
|
||||
}
|
||||
|
||||
public String getValue()
|
||||
{
|
||||
return Value;
|
||||
return value_;
|
||||
}
|
||||
|
||||
public void setDefaultValue(String defaultValue)
|
||||
{
|
||||
Value = defaultValue;
|
||||
value_ = defaultValue;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return Name;
|
||||
return name_;
|
||||
}
|
||||
|
||||
public String getValueType()
|
||||
{
|
||||
return ValueType;
|
||||
return valueType_;
|
||||
}
|
||||
|
||||
public boolean getIsTranslatable()
|
||||
{
|
||||
return IsTranslatable;
|
||||
return isTranslatable_;
|
||||
}
|
||||
|
||||
public boolean getIsEnum()
|
||||
{
|
||||
return IsEnum;
|
||||
return isEnum_;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user