com.liferay.jenkins.results.parser.BaseGitRepository Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.jenkins.results.parser
Show all versions of com.liferay.jenkins.results.parser
Liferay Jenkins Results Parser
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.jenkins.results.parser;
import java.io.File;
import org.json.JSONArray;
import org.json.JSONObject;
/**
* @author Peter Yoo
*/
public abstract class BaseGitRepository implements GitRepository {
@Override
public JSONObject getJSONObject() {
return _jsonObject;
}
@Override
public String getName() {
return getString("name");
}
@Override
public boolean isSubrepository() {
String name = getName();
if (name.startsWith("com-liferay-")) {
return true;
}
return false;
}
protected BaseGitRepository(JSONObject jsonObject) {
_jsonObject = jsonObject;
validateKeys(_KEYS_REQUIRED);
}
protected BaseGitRepository(String name) {
_jsonObject = new JSONObject();
_setName(name);
validateKeys(_KEYS_REQUIRED);
}
protected File getFile(String key) {
return new File(getString(key));
}
protected JSONArray getJSONArray(String key) {
return _jsonObject.getJSONArray(key);
}
protected String getString(String key) {
return _jsonObject.getString(key);
}
protected boolean has(String key) {
return _jsonObject.has(key);
}
protected String optString(String key) {
return _jsonObject.optString(key);
}
protected String optString(String key, String defaultValue) {
return _jsonObject.optString(key, defaultValue);
}
protected void put(String key, Object value) {
_jsonObject.put(key, value);
}
protected void validateKeys(String[] requiredKeys) {
for (String requiredKey : requiredKeys) {
if (!has(requiredKey)) {
throw new RuntimeException("Missing " + requiredKey);
}
}
}
private void _setName(String name) {
if ((name == null) || name.isEmpty()) {
throw new IllegalArgumentException("Name is null");
}
put("name", name);
}
private static final String[] _KEYS_REQUIRED = {"name"};
private final JSONObject _jsonObject;
}