Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: apache/jena
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: aa22e0357a9f5943994841e4bb124568fae1fbd9
Choose a base ref
..
head repository: apache/jena
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: adb051b7d2834d6c050b47cd29a39e1eb1c09e33
Choose a head ref
Showing with 1,579 additions and 2,142 deletions.
  1. +2 −3 jena-cmds/src/main/java/org/apache/jena/cmd/ArgModule.java
  2. +1 −2 jena-cmds/src/main/java/org/apache/jena/cmd/ArgModuleGeneral.java
  3. +1 −0 jena-cmds/src/main/java/org/apache/jena/cmd/CmdArgModule.java
  4. +83 −17 jena-cmds/src/main/java/org/apache/jena/cmd/CmdLineArgs.java
  5. +2 −3 jena-cmds/src/main/java/org/apache/jena/cmd/CommandLineBase.java
  6. +99 −72 jena-cmds/src/test/java/org/apache/jena/cmds/TestCmdLine.java
  7. +28 −109 jena-core/src/main/java/org/apache/jena/datatypes/xsd/XSDDatatype.java
  8. +0 −31 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/SchemaDVFactory.java
  9. +4 −24 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/XSSimpleType.java
  10. +0 −38 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/BaseDVFactory.java
  11. +18 −81 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/BaseSchemaDVFactory.java
  12. +0 −57 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/EntityDV.java
  13. +0 −36 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/FullDVFactory.java
  14. +0 −56 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/IDDV.java
  15. +0 −55 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/IDREFDV.java
  16. +0 −146 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/ListDV.java
  17. +0 −116 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/QNameDV.java
  18. +0 −47 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/UnionDV.java
  19. +70 −662 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/XSSimpleTypeDecl.java
  20. +0 −20 jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/XSSimpleTypeDelegate.java
  21. +0 −22 jena-core/src/main/java/org/apache/jena/ext/xerces/xs/XSSimpleTypeDefinition.java
  22. +6 −3 jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_FusekiCore.java
  23. +2 −2 ...va → jena-fuseki-core/src/test/java/org/apache/jena/fuseki/server/TestDatasetDescriptionMap.java}
  24. +7 −2 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/FusekiServer.java
  25. +71 −0 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/ArgCustomisers.java
  26. +68 −15 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/DSGSetup.java
  27. +361 −256 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java
  28. +98 −0 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/ServerArgs.java
  29. +0 −84 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/ServerConfig.java
  30. +19 −17 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiAutoModules.java
  31. +3 −1 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiModule.java
  32. +41 −2 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiModules.java
  33. +120 −0 ...i2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiServerArgsCustomiser.java
  34. +2 −6 jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/InitFuseki.java
  35. +1 −0 jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TS_FusekiMain.java
  36. +45 −18 ...useki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdArguments.java
  37. +281 −0 .../jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdCustomArguments.java
  38. +14 −22 jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/sys/TestFusekiModules.java
  39. +1 −1 jena-fuseki2/jena-fuseki-ui/package.json
  40. +131 −115 jena-fuseki2/jena-fuseki-ui/yarn.lock
  41. +0 −1 jena-fuseki2/jena-fuseki-webapp/src/test/java/org/apache/jena/fuseki/TS_FusekiWebapp.java
5 changes: 2 additions & 3 deletions jena-cmds/src/main/java/org/apache/jena/cmd/ArgModule.java
Original file line number Diff line number Diff line change
@@ -18,9 +18,8 @@

package org.apache.jena.cmd;

public interface ArgModule
{
/** A group of related arguments */
public interface ArgModule {
// Argument processing phase
public void processArgs(CmdArgModule cmdLine);
}

Original file line number Diff line number Diff line change
@@ -18,8 +18,7 @@

package org.apache.jena.cmd;

public interface ArgModuleGeneral extends ArgModule
{
public interface ArgModuleGeneral extends ArgModule {
// Registration phase for usage messages
public abstract void registerWith(CmdGeneral cmdLine);
}
Original file line number Diff line number Diff line change
@@ -20,6 +20,7 @@

import java.util.ArrayList;
import java.util.List;

public abstract class CmdArgModule extends CmdMain
{
List<ArgModuleGeneral> modules = new ArrayList<>();
100 changes: 83 additions & 17 deletions jena-cmds/src/main/java/org/apache/jena/cmd/CmdLineArgs.java
Original file line number Diff line number Diff line change
@@ -32,12 +32,18 @@ public CmdLineArgs(String[] args) {
}

private boolean processedArgs = false;
protected Map<String, ArgDecl> argMap = new HashMap<>(); // Map from string name to ArgDecl
protected Map<String, Arg> args = new HashMap<>(); // Name to Arg
protected List<String> positionals = new ArrayList<>(); // Positional arguments as strings.

public void process() throws IllegalArgumentException
{
// Setup:
// Map of declarations of accepted arguments.
protected Map<String, ArgDecl> argMap = new HashMap<>();

// After command line processing:
// Map of arguments seen, with values.
protected Map<String, Arg> args = new HashMap<>();
// Positional arguments as strings.
protected List<String> positionals = new ArrayList<>();

public void process() throws IllegalArgumentException {
processedArgs = true;
apply(new ArgProcessor());
}
@@ -47,9 +53,8 @@ public void process() throws IllegalArgumentException
/** Add an argument to those to be accepted on the command line.
* @param argName Name
* @param hasValue True if the command takes a (string) value
* @return The CommandLine processor object
* @return The command line processor object
*/

public CmdLineArgs add(String argName, boolean hasValue) {
return add(new ArgDecl(hasValue, argName));
}
@@ -58,28 +63,90 @@ public CmdLineArgs add(String argName, boolean hasValue) {
* Argument order reflects ArgDecl.
* @param hasValue True if the command takes a (string) value
* @param argName Name
* @return The CommandLine processor object
* @return The command line processor object
*/

public CmdLineArgs add(boolean hasValue, String argName) {
return add(new ArgDecl(hasValue, argName));
}

/** Add an argument object
* @param arg Argument to add
* @return The CommandLine processor object
* @param argDecl Argument to add
* @return The command line processor object
*/

public CmdLineArgs add(ArgDecl arg) {
for (Iterator<String> iter = arg.names(); iter.hasNext();) {
String name = iter.next();
public CmdLineArgs add(ArgDecl argDecl) {
for ( String name : argDecl.getNames() ) {
if ( argMap.containsKey(name) )
Log.warn(this, "Argument '" + name + "' already added");
argMap.put(name, arg);
argMap.put(name, argDecl);
}
return this;
}

/**
* Remove an argument and any values set for this argument.
* @param argDecl Argument to remove
* @return The command line processor object
*/
public CmdLineArgs removeArg(ArgDecl argDecl) {
for ( String name : argDecl.getNames() ) {
removeArg(name);
}
return this;
}

/**
* Remove an argument and any values set for this argument.
* This only removed the use of the specific name.
* See {@link #removeArgAll(String)} for removing this name
* and all its synonyms.
*
* @param argName Argument to remove
* @return The command line processor object
*/
public CmdLineArgs removeArg(String argName) {
argMap.remove(argName);
args.remove(argName);
return this;
}

/**
* Remove an argument and all its synonyms, together with any
* values already set for these arguments. {@link #removeArg(String)}
* for removing just this particular name.
*
* @param argName Argument to remove
* @return The command line processor object
*/
public CmdLineArgs removeArgAll(String argName) {
ArgDecl argDecl = findArgDecl(argName);
if ( argDecl != null )
removeArg(argDecl);
return this;
}

private ArgDecl findArgDecl(String argName) {
return argMap.get(argName);
}

/**
* Remove argument declarations and argument values.
*/
public CmdLineArgs clear() {
argMap.clear();
args.clear();
return this;
}

/**
* Forget any argument values; retain the argument declarations.
* Call {@link #process()} to re-process the command line.
*/
public CmdLineArgs reset() {
processedArgs = false;
args.clear();
return this;
}

/**
* Add a positional parameter
* @param value
@@ -122,7 +189,6 @@ private CmdLineArgs addArgWorker(Arg arg, String value) {
arg.setValue(value);
arg.addValue(value);
}

return this;
}

Original file line number Diff line number Diff line change
@@ -26,18 +26,17 @@
/**
* Incoming String[] to a list of argument/values + items.
*/

public class CommandLineBase {
private List<String> argList = new ArrayList<>();
boolean splitTerms = true;

public CommandLineBase(String[] args) {
public CommandLineBase(String... args) {
setArgs(args);
}

public CommandLineBase() {}

public void setArgs(String[] argv) {
public void setArgs(String... argv) {
argList = processArgv(argv);
}

171 changes: 99 additions & 72 deletions jena-cmds/src/test/java/org/apache/jena/cmds/TestCmdLine.java
Original file line number Diff line number Diff line change
@@ -17,87 +17,114 @@
*/

package org.apache.jena.cmds;
import java.util.Iterator ;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import java.util.Iterator;

import org.junit.Test;

import org.apache.jena.cmd.Arg;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
import org.apache.jena.cmd.CmdLineArgs;
import org.junit.Test ;
import static org.junit.Assert.* ;

public class TestCmdLine
{
@Test public void test_Simple1()
{
String args[] = new String[]{""} ;
CmdLineArgs cl = new CmdLineArgs(args) ;
cl.process() ;

public class TestCmdLine {
@Test
public void test_Simple1() {
String args[] = {""};
CmdLineArgs cl = new CmdLineArgs(args);
cl.process();
}
@Test public void test_Flag1()
{
String args[] = new String[]{ ""} ;
CmdLineArgs cl = new CmdLineArgs(args) ;
ArgDecl argA = new ArgDecl(false, "-a") ;
cl.add(argA) ;
cl.process() ;
assertTrue("-a argument found" , ! cl.contains(argA) ) ;

@Test
public void test_Flag1() {
String args[] = {""};
CmdLineArgs cl = new CmdLineArgs(args);
ArgDecl argA = new ArgDecl(false, "-a");
cl.add(argA);
cl.process();
assertTrue("-a argument found", !cl.contains(argA));
}
@Test public void test_Flag2()
{
String args[] = new String[]{ "-a"} ;
CmdLineArgs cl = new CmdLineArgs(args) ;
ArgDecl argA = new ArgDecl(false, "-a") ;
cl.add(argA) ;
cl.process() ;
assertTrue("No -a argument found" , cl.contains(argA) ) ;

@Test
public void test_Flag2() {
String args[] = {"-a"};
CmdLineArgs cl = new CmdLineArgs(args);
ArgDecl argA = new ArgDecl(false, "-a");
cl.add(argA);
cl.process();
assertTrue("No -a argument found", cl.contains(argA));
}

@Test public void test_Flag3()
{
String args[] = new String[]{ "-a", "filename"} ;
CmdLineArgs cl = new CmdLineArgs(args) ;
ArgDecl argA = new ArgDecl(false, "-a") ;
cl.add(argA) ;
cl.process() ;
assertTrue("No -a argument found" , cl.contains(argA) ) ;
@Test
public void test_Flag3() {
String args[] = {"-a", "filename"};
CmdLineArgs cl = new CmdLineArgs(args);
ArgDecl argA = new ArgDecl(false, "-a");
cl.add(argA);
cl.process();
assertTrue("No -a argument found", cl.contains(argA));
}
@Test public void test_Arg1()
{
String args[] = new String[]{ ""} ;
CmdLineArgs cl = new CmdLineArgs(args) ;
ArgDecl argA = new ArgDecl(true, "-arg") ;
cl.add(argA) ;
cl.process() ;
assertTrue("-arg argument found" , ! cl.contains(argA) ) ;

@Test
public void test_Arg1() {
String args[] = {""};
CmdLineArgs cl = new CmdLineArgs(args);
ArgDecl argA = new ArgDecl(true, "-arg");
cl.add(argA);
cl.process();
assertTrue("-arg argument found", !cl.contains(argA));
}
@Test public void test_Arg2()
{
String args[] = new String[]{ "-arg=ARG", "filename"} ;
CmdLineArgs cl = new CmdLineArgs(args) ;
ArgDecl argA = new ArgDecl(true, "arg") ;
cl.add(argA) ;
cl.process() ;
assertTrue("No -arg= argument found" , cl.contains(argA) ) ;
assertEquals("", cl.getValue(argA) , "ARG") ;
assertEquals("", cl.getArg("arg").getValue() , "ARG") ;

@Test
public void test_Arg2() {
String args[] = {"-arg=ARG", "filename"};
CmdLineArgs cl = new CmdLineArgs(args);
ArgDecl argA = new ArgDecl(true, "arg");
cl.add(argA);
cl.process();
assertTrue("No -arg= argument found", cl.contains(argA));
assertEquals("", cl.getValue(argA), "ARG");
assertEquals("", cl.getArg("arg").getValue(), "ARG");
}

@Test public void test_nArg1()
{
String args[] = new String[]{ "-arg=V1", "--arg=V2", "-v"} ;
CmdLineArgs cl = new CmdLineArgs(args) ;
ArgDecl argA = new ArgDecl(true, "-arg") ;
cl.add(argA) ;
ArgDecl argV = new ArgDecl(false, "-v") ;
cl.add(argV) ;
cl.process() ;
assertTrue("No -arg= argument found" , cl.contains(argA) ) ;

Iterator<String> iter = cl.getValues("arg").iterator() ;
assertEquals("Argument 1", iter.next() , "V1") ;
assertEquals("Argument 2", iter.next() , "V2") ;

@Test
public void test_nArg1() {
String args[] = {"-arg=V1", "--arg=V2", "-v"};
CmdLineArgs cl = new CmdLineArgs(args);
ArgDecl argA = new ArgDecl(true, "-arg");
cl.add(argA);
ArgDecl argV = new ArgDecl(false, "-v");
cl.add(argV);
cl.process();
assertTrue("No -arg= argument found", cl.contains(argA));

Iterator<String> iter = cl.getValues("arg").iterator();
assertEquals("Argument 1", iter.next(), "V1");
assertEquals("Argument 2", iter.next(), "V2");
}

public void test_addSetting() {
String args[] = {};
CmdLineArgs cl = new CmdLineArgs(args);
cl.process();
cl.addArg("extra", "value");
Arg a = cl.getArg("extra");
assertNotNull(a);
}


@Test(expected = CmdException.class)
public void test_removeArg1() {
String args[] = {"--arg=V1", "-v"};
CmdLineArgs cl = new CmdLineArgs(args);
ArgDecl argA = new ArgDecl(true, "argument", "arg");
cl.add(argA);
cl.removeArg(argA);
// Exception.
cl.process();
}
}
Loading