Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions examples/org/spdx/examples/SimpleSpdxDocument.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@
import org.spdx.library.InvalidSPDXAnalysisException;
import org.spdx.library.ModelCopyManager;
import org.spdx.library.SpdxConstants;
import org.spdx.library.model.Relationship;
import org.spdx.library.model.SpdxDocument;
import org.spdx.library.model.SpdxModelFactory;
import org.spdx.library.model.SpdxPackage;
import org.spdx.library.model.enumerations.RelationshipType;
import org.spdx.library.model.license.AnyLicenseInfo;
import org.spdx.library.model.license.LicenseInfoFactory;
import org.spdx.storage.IModelStore.IdType;
Expand Down
12 changes: 6 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>org.spdx</groupId>
<artifactId>tools-java</artifactId>
<version>1.0.5-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<name>tools-java</name>
Expand Down Expand Up @@ -102,17 +102,17 @@
<dependency>
<groupId>org.spdx</groupId>
<artifactId>java-spdx-library</artifactId>
<version>1.0.10</version>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.spdx</groupId>
<artifactId>spdx-rdf-store</artifactId>
<version>1.0.4</version>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.spdx</groupId>
<artifactId>spdx-jackson-store</artifactId>
<version>1.0.4</version>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.ws.xmlschema</groupId>
Expand All @@ -122,12 +122,12 @@
<dependency>
<groupId>org.spdx</groupId>
<artifactId>spdx-spreadsheet-store</artifactId>
<version>1.0.3</version>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.spdx</groupId>
<artifactId>spdx-tagvalue-store</artifactId>
<version>1.0.4</version>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.github.java-json-tools</groupId>
Expand Down
681 changes: 350 additions & 331 deletions resources/spdx-schema.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/main/java/org/spdx/tools/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
*/
public class Main {

private static final String CURRENT_TOOL_VERSION = "1.0.3";
private static final String CURRENT_TOOL_VERSION = "1.0.5";

/**
* @param args args[0] is the name of the tools with the remaining args being the tool parameters
Expand Down
8 changes: 7 additions & 1 deletion src/main/java/org/spdx/tools/Verify.java
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,13 @@ public static List<String> verify(String filePath, SerFileType fileType) throws
retval.add("Unable to validate JSON file against schema due to processing exception");
}
}
List<String> verify = doc.verify();
List<String> verify;
try {
verify = doc.verify(doc.getSpecVersion());
} catch (InvalidSPDXAnalysisException e) {
retval.add("Error processing verify for the specific version");
verify = doc.verify();
}

if (!verify.isEmpty()) {
for (String verifyMsg:verify) {
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/org/spdx/tools/schema/OwlToJsonSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,11 @@ private ObjectNode derivePropertySchema(OntProperty property, PropertyRestrictio
propertySchema.put(JSON_RESTRICTION_TYPE, JSON_TYPE_STRING);
ArrayNode enums = jsonMapper.createArrayNode();
for (String val:restrictions.getEnumValues()) {
enums.add(val);
if (property.getLocalName().equals("algorithm") || property.getLocalName().equals("referenceCategory")) {
enums.add(val.replaceAll("_", "-"));
} else {
enums.add(val);
}
}
propertySchema.set("enum", enums);
} else if (restrictions.getTypeUri().equals("http://www.w3.org/2000/01/rdf-schema#Literal")) {
Expand Down
63 changes: 49 additions & 14 deletions src/test/java/org/spdx/tools/CompareSpdxDocsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,14 @@
package org.spdx.tools;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Objects;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.spdx.library.InvalidSPDXAnalysisException;
import org.spdx.spreadsheetstore.SpreadsheetException;
import org.spdx.tools.compare.DocumentSheet;
import org.spdx.tools.compare.MultiDocumentSpreadsheet;
Expand All @@ -41,13 +43,22 @@
public class CompareSpdxDocsTest extends TestCase {

static final String TEST_DIR = "testResources";
static final String TEST_JSON_FILE_PATH = TEST_DIR + File.separator + "SPDXJSONExample-v2.2.spdx.json";
static final String TEST_RDF_FILE_PATH = TEST_DIR + File.separator + "SPDXRdfExample-v2.2.spdx.rdf";
static final String TEST_SPREADSHEET_XLS_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.2.xls";
static final String TEST_SPREADSHEET_XLSX_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.2.xlsx";
static final String TEST_TAG_FILE_PATH = TEST_DIR + File.separator + "SPDXTagExample-v2.2.spdx";
static final String TEST_XML_FILE_PATH = TEST_DIR + File.separator + "SPDXXMLExample-v2.2.spdx.xml";
static final String TEST_YAML_FILE_PATH = TEST_DIR + File.separator + "SPDXYAMLExample-2.2.spdx.yaml";
static final String TEST_JSON_FILE_PATH_22 = TEST_DIR + File.separator + "SPDXJSONExample-v2.2.spdx.json";
static final String TEST_RDF_FILE_PATH_22 = TEST_DIR + File.separator + "SPDXRdfExample-v2.2.spdx.rdf";
static final String TEST_SPREADSHEET_XLS_FILE_PATH_22 = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.2.xls";
static final String TEST_SPREADSHEET_XLSX_FILE_PATH_22 = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.2.xlsx";
static final String TEST_TAG_FILE_PATH_22 = TEST_DIR + File.separator + "SPDXTagExample-v2.2.spdx";
static final String TEST_XML_FILE_PATH_22 = TEST_DIR + File.separator + "SPDXXMLExample-v2.2.spdx.xml";
static final String TEST_YAML_FILE_PATH_22 = TEST_DIR + File.separator + "SPDXYAMLExample-2.2.spdx.yaml";

static final String TEST_JSON_FILE_PATH_23 = TEST_DIR + File.separator + "SPDXJSONExample-v2.3.spdx.json";
static final String TEST_RDF_FILE_PATH_23 = TEST_DIR + File.separator + "SPDXRdfExample-v2.3.spdx.rdf";
static final String TEST_SPREADSHEET_XLS_FILE_PATH_23 = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.3.xls";
static final String TEST_SPREADSHEET_XLSX_FILE_PATH_23 = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.3.xlsx";
static final String TEST_TAG_FILE_PATH_23 = TEST_DIR + File.separator + "SPDXTagExample-v2.3.spdx";
static final String TEST_XML_FILE_PATH_23 = TEST_DIR + File.separator + "SPDXXMLExample-v2.3.spdx.xml";
static final String TEST_YAML_FILE_PATH_23 = TEST_DIR + File.separator + "SPDXYAMLExample-2.3.spdx.yaml";

static final String TEST_DIFF_FILE_COMMNENT_FILE_PATH = TEST_DIR + File.separator + "DifferentFileComment.spdx.yaml";


Expand All @@ -69,13 +80,36 @@ protected void tearDown() throws Exception {
SpdxConverterTest.deleteDirAndFiles(tempDirPath);
}

public void testCompareDocuments() throws OnlineToolException, SpreadsheetException {
public void testCompareDocumentsv23() throws OnlineToolException, InvalidSPDXAnalysisException, IOException, InvalidFileNameException {
String outputFilePath = tempDirPath + File.separator + "comp.xlsx";
String[] params = new String[] {outputFilePath,
TEST_JSON_FILE_PATH_23,
TEST_RDF_FILE_PATH_23,
TEST_SPREADSHEET_XLS_FILE_PATH_23,
TEST_SPREADSHEET_XLSX_FILE_PATH_23,
TEST_TAG_FILE_PATH_23,
TEST_XML_FILE_PATH_23,
TEST_YAML_FILE_PATH_23
};
CompareSpdxDocs.onlineFunction(params);
MultiDocumentSpreadsheet result = new MultiDocumentSpreadsheet(new File(outputFilePath), false, true);
DocumentSheet docSheet = result.getDocumentSheet();
Row resultRow = docSheet.getSheet().getRow(docSheet.getFirstDataRow());
Cell cell = resultRow.getCell(1);
int nextCol = 2;
while (Objects.nonNull(cell) && !cell.getStringCellValue().isEmpty()) {
assertTrue("Equals".equals(cell.getStringCellValue()) || "N/A".equals(cell.getStringCellValue()));
cell = resultRow.getCell(nextCol++);
}
}

public void testCompareDocumentsv22() throws OnlineToolException, SpreadsheetException {
String outputFilePath = tempDirPath + File.separator + "comp.xlsx";
String[] params = new String[] {outputFilePath, TEST_JSON_FILE_PATH,
TEST_RDF_FILE_PATH,
TEST_SPREADSHEET_XLS_FILE_PATH, TEST_SPREADSHEET_XLSX_FILE_PATH, TEST_TAG_FILE_PATH,
TEST_XML_FILE_PATH,
TEST_YAML_FILE_PATH
String[] params = new String[] {outputFilePath, TEST_JSON_FILE_PATH_22,
TEST_RDF_FILE_PATH_22, TEST_SPREADSHEET_XLS_FILE_PATH_22,
TEST_SPREADSHEET_XLSX_FILE_PATH_22, TEST_TAG_FILE_PATH_22,
TEST_XML_FILE_PATH_22,
TEST_YAML_FILE_PATH_22
};
CompareSpdxDocs.onlineFunction(params);
MultiDocumentSpreadsheet result = new MultiDocumentSpreadsheet(new File(outputFilePath), false, true);
Expand All @@ -89,10 +123,11 @@ public void testCompareDocuments() throws OnlineToolException, SpreadsheetExcept
}
}


public void testDifferentDocuments() throws OnlineToolException, SpreadsheetException {
String outputFilePath = tempDirPath + File.separator + "comp.xlsx";
String[] params = new String[] {outputFilePath,
TEST_YAML_FILE_PATH, TEST_DIFF_FILE_COMMNENT_FILE_PATH
TEST_YAML_FILE_PATH_22, TEST_DIFF_FILE_COMMNENT_FILE_PATH
};
CompareSpdxDocs.onlineFunction(params);
MultiDocumentSpreadsheet result = new MultiDocumentSpreadsheet(new File(outputFilePath), false, true);
Expand Down
14 changes: 7 additions & 7 deletions src/test/java/org/spdx/tools/SpdxConverterTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@
public class SpdxConverterTest extends TestCase {

static final String TEST_DIR = "testResources";
static final String TEST_JSON_FILE_PATH = TEST_DIR + File.separator + "SPDXJSONExample-v2.2.spdx.json";
static final String TEST_RDF_FILE_PATH = TEST_DIR + File.separator + "SPDXRdfExample-v2.2.spdx.rdf";
static final String TEST_SPREADSHEET_XLS_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.2.xls";
static final String TEST_SPREADSHEET_XLSX_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.2.xlsx";
static final String TEST_TAG_FILE_PATH = TEST_DIR + File.separator + "SPDXTagExample-v2.2.spdx";
static final String TEST_XML_FILE_PATH = TEST_DIR + File.separator + "SPDXXMLExample-v2.2.spdx.xml";
static final String TEST_YAML_FILE_PATH = TEST_DIR + File.separator + "SPDXYAMLExample-2.2.spdx.yaml";
static final String TEST_JSON_FILE_PATH = TEST_DIR + File.separator + "SPDXJSONExample-v2.3.spdx.json";
static final String TEST_RDF_FILE_PATH = TEST_DIR + File.separator + "SPDXRdfExample-v2.3.spdx.rdf";
static final String TEST_SPREADSHEET_XLS_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.3.xls";
static final String TEST_SPREADSHEET_XLSX_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.3.xlsx";
static final String TEST_TAG_FILE_PATH = TEST_DIR + File.separator + "SPDXTagExample-v2.3.spdx";
static final String TEST_XML_FILE_PATH = TEST_DIR + File.separator + "SPDXXMLExample-v2.3.spdx.xml";
static final String TEST_YAML_FILE_PATH = TEST_DIR + File.separator + "SPDXYAMLExample-2.3.spdx.yaml";

Path tempDirPath;
/* (non-Javadoc)
Expand Down
22 changes: 14 additions & 8 deletions src/test/java/org/spdx/tools/VerifyTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@
public class VerifyTest extends TestCase {

static final String TEST_DIR = "testResources";
static final String TEST_JSON_FILE_PATH = TEST_DIR + File.separator + "SPDXJSONExample-v2.2.spdx.json";
static final String TEST_RDF_FILE_PATH = TEST_DIR + File.separator + "SPDXRdfExample-v2.2.spdx.rdf";
static final String TEST_SPREADSHEET_XLS_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.2.xls";
static final String TEST_SPREADSHEET_XLSX_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.2.xlsx";
static final String TEST_TAG_FILE_PATH = TEST_DIR + File.separator + "SPDXTagExample-v2.2.spdx";
static final String TEST_XML_FILE_PATH = TEST_DIR + File.separator + "SPDXXMLExample-v2.2.spdx.xml";
static final String TEST_YAML_FILE_PATH = TEST_DIR + File.separator + "SPDXYAMLExample-2.2.spdx.yaml";
static final String TEST_JSON_FILE_PATH = TEST_DIR + File.separator + "SPDXJSONExample-v2.3.spdx.json";
static final String TEST_V23_FIELDS_IN_V22_FILE = TEST_DIR + File.separator + "SPDXWrongVersion.spdx.json";
static final String TEST_RDF_FILE_PATH = TEST_DIR + File.separator + "SPDXRdfExample-v2.3.spdx.rdf";
static final String TEST_SPREADSHEET_XLS_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.3.xls";
static final String TEST_SPREADSHEET_XLSX_FILE_PATH = TEST_DIR + File.separator + "SPDXSpreadsheetExample-v2.3.xlsx";
static final String TEST_TAG_FILE_PATH = TEST_DIR + File.separator + "SPDXTagExample-v2.3.spdx";
static final String TEST_XML_FILE_PATH = TEST_DIR + File.separator + "SPDXXMLExample-v2.3.spdx.xml";
static final String TEST_YAML_FILE_PATH = TEST_DIR + File.separator + "SPDXYAMLExample-2.3.spdx.yaml";
static final String TEST_WARNING_FILE_PATH = TEST_DIR + File.separator + "SPDXTagExample-v2.2-warning.spdx";
static final String BAD_JSON_FILE_PATH = TEST_DIR + File.separator + "BadJSON.spdx.json";

Expand All @@ -28,6 +29,11 @@ protected void tearDown() throws Exception {
super.tearDown();
}

public void testUpsupportedVersionFields() throws SpdxVerificationException {
List<String> result = Verify.verify(TEST_V23_FIELDS_IN_V22_FILE, SerFileType.JSON);
assertTrue(result.size() > 0);
}

public void testVerifyTagFile() throws SpdxVerificationException {
List<String> result = Verify.verifyTagFile(TEST_TAG_FILE_PATH);
assertEquals(0, result.size());
Expand Down Expand Up @@ -59,6 +65,6 @@ public void testVerifyWarning() throws SpdxVerificationException {

public void testVerifyBadJSON() throws SpdxVerificationException {
List<String> result = Verify.verify(BAD_JSON_FILE_PATH, SerFileType.JSON);
assertTrue(result.size() == 4);
assertTrue(result.size() == 5);
}
}
Loading