Skip to content

Commit

Permalink
Merge pull request #6 from nam-ng/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
an-phung authored Apr 18, 2023
2 parents 07c06cb + 15f42f3 commit 13b827a
Show file tree
Hide file tree
Showing 22 changed files with 1,053 additions and 78 deletions.
1 change: 1 addition & 0 deletions swtbot_test/src/common/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ public class Constants {
// XML path
public static final String PLATFORM_XML_FILE = "xml/platformdata.xml";
public static final String RTOS_PG_XML_FILE = "xml/rtospg.xml";
public static final String TC_XML_FILE = "xml/testcase.xml";
}
32 changes: 32 additions & 0 deletions swtbot_test/src/model/Action.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package model;

import org.w3c.dom.Element;

import common.LogUtil;

public class Action {
private String id;
private int order;

public Action(Element element) {
setAttributes(element);
}

private void setAttributes(Element element) {
id = element.getAttribute("id");
try {
order = Integer.parseInt(element.getAttribute("order"));
} catch (Exception e) {
LogUtil.logException(e);
order = 0;
}
}

public String getActionId() {
return id;
}

public int getActionOrder() {
return order;
}
}
16 changes: 16 additions & 0 deletions swtbot_test/src/model/Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@
public class Application {
private String appId;
private int appOrder;
private boolean skipApp = false;
private Collection<Language> languages = new ArrayList<>();
private Collection<ProjectConfiguration> configuration = new ArrayList<>();
private Collection<Target> targets = new ArrayList<>();
private Collection<RXCLinkerFile> linkerFiles = new ArrayList<>();

public Application(Element element) {
parseAttribute(element);
Expand All @@ -30,6 +32,8 @@ public Application(Element element) {
addTarget(new Target(childElement));
} else if ("language".equalsIgnoreCase(name)) {
addLanguage(new Language(childElement));
} else if ("rxclinkerfile".equalsIgnoreCase(name)) {
addLinkerFile(new RXCLinkerFile(childElement));
}
}
}
Expand All @@ -43,8 +47,13 @@ public int getApplicationOrder() {
return appOrder;
}

public boolean isSkipApp() {
return skipApp;
}

private void parseAttribute(Element element) {
appId = element.getAttribute("id");
skipApp = Boolean.parseBoolean(element.getAttribute("skipapp"));
try {
appOrder = Integer.parseInt(element.getAttribute("order"));
} catch (Exception e) {
Expand Down Expand Up @@ -77,4 +86,11 @@ private void addLanguage(Language item) {
languages.add(item);
}

private void addLinkerFile(RXCLinkerFile file) {
linkerFiles.add(file);
}

public Collection<RXCLinkerFile> getLinkerFiles() {
return linkerFiles;
}
}
108 changes: 108 additions & 0 deletions swtbot_test/src/model/GroupSetting.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
package model;

import java.util.ArrayList;
import java.util.Collection;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class GroupSetting {
private String id;
private Language language;
private Collection<Toolchain> toolchains = new ArrayList<>();
private String rtosType;
private String rtosVersion;
private Collection<Board> boards = new ArrayList<>();
private Collection<Config> configs = new ArrayList<>();

public GroupSetting(Element element) {
parseAttribute(element);
NodeList children = element.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
Node childNode = children.item(i);
if (childNode.getNodeType() == Node.ELEMENT_NODE) {
Element childElement = (Element) childNode;
String name = childElement.getTagName();
switch (name) {
case "language":
setLanguage(new Language(childElement));
break;
case "toolchain":
addToolchain(new Toolchain(childElement));
break;
case "RTOSType":
setRTOSType(childElement.getTextContent());
break;
case "RTOSVersion":
setRTOSVersion(childElement.getTextContent());
break;
case "board":
addBoard(new Board(childElement));
break;
case "config":
addConfig(new Config(childElement));
break;
default:
break;
}
}
}
}

private void parseAttribute(Element element) {
id = element.getAttribute("id");
}

public String getSettingId() {
return id;
}

private void setLanguage(Language language) {
this.language = language;
}

public Language getLanguage() {
return language;
}

private void addToolchain(Toolchain toolchain) {
toolchains.add(toolchain);
}

public Collection<Toolchain> getToolchains() {
return toolchains;
}

private void setRTOSType(String rtosType) {
this.rtosType = rtosType;
}

public String getRTOSType() {
return rtosType;
}

private void setRTOSVersion(String version) {
rtosVersion = version;
}

public String getRTOSVersion() {
return rtosVersion;
}

private void addBoard(Board board) {
boards.add(board);
}

public Collection<Board> getBoards() {
return boards;
}

private void addConfig(Config config) {
configs.add(config);
}

public Collection<Config> getConfigs() {
return configs;
}
}
71 changes: 71 additions & 0 deletions swtbot_test/src/model/Project.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package model;

import java.util.ArrayList;
import java.util.Collection;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Project {
private String id;
private String projectName;
private Collection<GroupSetting> groupSettings = new ArrayList<>();
private Collection<Application> apps = new ArrayList<>();

public Project(Element element) {
parseAttribute(element);
NodeList children = element.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
Node childNode = children.item(i);
if (childNode.getNodeType() == Node.ELEMENT_NODE) {
Element childElement = (Element) childNode;
String name = childElement.getTagName();
if ("projectname".equalsIgnoreCase(name)) {
setProjectName(childElement.getTextContent());
} else if ("group".equalsIgnoreCase(name)) {
addGroupSetting(new GroupSetting(childElement));
} else if ("application".equalsIgnoreCase(name)) {
addApplication(new Application(childElement));
}
}
}
}

private void parseAttribute(Element element) {
id = element.getAttribute("id");
}

public String getProjectId() {
return id;
}

private void setProjectName(String name) {
projectName = name;
}

public String getProjectName() {
return projectName;
}

private void addGroupSetting(GroupSetting setting) {
groupSettings.add(setting);
}

public GroupSetting getGroupSettingById(String id) {
for (GroupSetting setting : groupSettings) {
if (setting.getSettingId().equalsIgnoreCase(id)) {
return setting;
}
}
return null;
}

private void addApplication(Application app) {
apps.add(app);
}

public Collection<Application> getApps() {
return apps;
}
}
10 changes: 9 additions & 1 deletion swtbot_test/src/model/ProjectModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import parameters.ProjectParameters.BuildType;

public class ProjectModel {
private String language;
private String language = "C"; // default C project
private String familyName;
private String projectName;
private String toolchain;
Expand All @@ -19,6 +19,7 @@ public class ProjectModel {
private int applicationOrder;
private boolean skipApplication = true;
private Map<String, Boolean> buildType = new HashMap<>();
private String rxcLinkerFile;

public ProjectModel() {
// do nothing
Expand Down Expand Up @@ -168,4 +169,11 @@ public void setLanguage(String language) {
this.language = language;
}

public void setRXCLinkerFile(String file) {
rxcLinkerFile = file;
}

public String getRXCLinkerFile() {
return rxcLinkerFile;
}
}
33 changes: 33 additions & 0 deletions swtbot_test/src/model/RXCLinkerFile.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package model;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class RXCLinkerFile extends AbstractNode {
private String path;

public RXCLinkerFile(Element element) {
NodeList children = element.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
Node childNode = children.item(i);
if (childNode.getNodeType() == Node.ELEMENT_NODE) {
Element childElement = (Element) childNode;
String name = childElement.getTagName();
if ("path".equalsIgnoreCase(name)) {
setLinkerPath(childElement.getTextContent());
} else {
parseFilter(name, childElement);
}
}
}
}

private void setLinkerPath(String path) {
this.path = path;
}

public String getLinkerPath() {
return path;
}
}
55 changes: 55 additions & 0 deletions swtbot_test/src/model/TC.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package model;

import java.util.ArrayList;
import java.util.Collection;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class TC {
private String id;
private Collection<Project> projects = new ArrayList<>();
private Collection<Action> actions = new ArrayList<>();

public TC(Element element) {
parseAttribute(element);
NodeList children = element.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
Node childNode = children.item(i);
if (childNode.getNodeType() == Node.ELEMENT_NODE) {
Element childElement = (Element) childNode;
String name = childElement.getTagName();
if ("project".equalsIgnoreCase(name)) {
addProject(new Project(childElement));
} else if ("action".equalsIgnoreCase(name)) {
addAction(new Action(childElement));
}
}
}
}

private void parseAttribute(Element element) {
id = element.getAttribute("id");
}

public String getTCId() {
return id;
}

private void addProject(Project project) {
projects.add(project);
}

public Collection<Project> getProjects() {
return projects;
}

private void addAction(Action action) {
actions.add(action);
}

public Collection<Action> getActions() {
return actions;
}
}
Loading

0 comments on commit 13b827a

Please sign in to comment.