Skip to content

Commit 7d7eeda

Browse files
committed
[refactor] Java9: If can be replaced by switch - readability
1 parent 5cd0c6e commit 7d7eeda

File tree

29 files changed

+719
-698
lines changed

29 files changed

+719
-698
lines changed

exist-core/src/main/java/org/exist/collections/CollectionConfiguration.java

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -133,44 +133,48 @@ protected void read(final DBBroker broker, final Document doc, final boolean che
133133
for (int i = 0; i < childNodes.getLength(); i++) {
134134
Node node = childNodes.item(i);
135135
if (NAMESPACE.equals(node.getNamespaceURI())) {
136-
if (TRIGGERS_ELEMENT.equals(node.getLocalName())) {
137-
final NodeList triggers = node.getChildNodes();
138-
for (int j = 0; j < triggers.getLength(); j++) {
139-
node = triggers.item(j);
140-
if (node.getNodeType() == Node.ELEMENT_NODE && node.getLocalName().equals(TRIGGER_ELEMENT)) {
141-
configureTrigger(broker.getBrokerPool().getClassLoader(), (Element) node, srcCollectionURI, checkOnly);
136+
switch (node.getLocalName()) {
137+
case TRIGGERS_ELEMENT -> {
138+
final NodeList triggers = node.getChildNodes();
139+
for (int j = 0; j < triggers.getLength(); j++) {
140+
node = triggers.item(j);
141+
if (node.getNodeType() == Node.ELEMENT_NODE && node.getLocalName().equals(TRIGGER_ELEMENT)) {
142+
configureTrigger(broker.getBrokerPool().getClassLoader(), (Element) node, srcCollectionURI, checkOnly);
143+
}
142144
}
143145
}
144-
} else if (INDEX_ELEMENT.equals(node.getLocalName())) {
145-
final Element elem = (Element) node;
146-
try {
147-
if (indexSpec == null) {
148-
indexSpec = new IndexSpec(broker, elem);
149-
} else {
150-
indexSpec.read(broker, elem);
146+
case INDEX_ELEMENT -> {
147+
final Element elem = (Element) node;
148+
try {
149+
if (indexSpec == null) {
150+
indexSpec = new IndexSpec(broker, elem);
151+
} else {
152+
indexSpec.read(broker, elem);
153+
}
154+
} catch (final DatabaseConfigurationException e) {
155+
if (checkOnly) {
156+
throw new CollectionConfigurationException(e.getMessage(), e);
157+
} else {
158+
LOG.warn(e.getMessage(), e);
159+
}
151160
}
152-
} catch (final DatabaseConfigurationException e) {
153-
if (checkOnly) {
154-
throw new CollectionConfigurationException(e.getMessage(), e);
161+
162+
}
163+
case VALIDATION_ELEMENT -> {
164+
final Element elem = (Element) node;
165+
final String mode = elem.getAttribute(VALIDATION_MODE_ATTR);
166+
if (mode == null) {
167+
LOG.debug("Unable to determine validation mode in {}", srcCollectionURI);
168+
validationMode = XMLReaderObjectFactory.VALIDATION_SETTING.UNKNOWN;
155169
} else {
156-
LOG.warn(e.getMessage(), e);
170+
LOG.debug("{} : Validation mode={}", srcCollectionURI, mode);
171+
validationMode = XMLReaderObjectFactory.VALIDATION_SETTING.fromOption(mode);
157172
}
158-
}
159173

160-
} else if (VALIDATION_ELEMENT.equals(node.getLocalName())) {
161-
final Element elem = (Element) node;
162-
final String mode = elem.getAttribute(VALIDATION_MODE_ATTR);
163-
if (mode == null) {
164-
LOG.debug("Unable to determine validation mode in {}", srcCollectionURI);
165-
validationMode = XMLReaderObjectFactory.VALIDATION_SETTING.UNKNOWN;
166-
} else {
167-
LOG.debug("{} : Validation mode={}", srcCollectionURI, mode);
168-
validationMode = XMLReaderObjectFactory.VALIDATION_SETTING.fromOption(mode);
169174
}
170-
171-
} else {
172-
throwOrLog("Ignored node '" + node.getLocalName() +
175+
case null, default -> throwOrLog("Ignored node '" + node.getLocalName() +
173176
"' in configuration document", checkOnly);
177+
174178
//TODO : throw an exception like above ? -pb
175179
}
176180

exist-core/src/main/java/org/exist/collections/triggers/DeferrableFilteringTrigger.java

Lines changed: 26 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -241,42 +241,32 @@ public void comment(final char[] ch, final int start, final int length) throws S
241241
protected void applyDeferredEvents() throws SAXException {
242242
SAXEvent event = null;
243243
while((event = deferred.poll()) != null) {
244-
if(event instanceof SetDocumentLocator setDocumentLocator) {
245-
setDocumentLocator_deferred(setDocumentLocator.locator);
246-
} else if(event instanceof StartDocument) {
247-
startDocument_deferred();
248-
} else if(event instanceof EndDocument) {
249-
endDocument_deferred();
250-
} else if(event instanceof StartPrefixMapping startPrefixMapping) {
251-
startPrefixMapping_deferred(startPrefixMapping.prefix, startPrefixMapping.uri);
252-
} else if(event instanceof EndPrefixMapping endPrefixMapping) {
253-
endPrefixMapping_deferred(endPrefixMapping.prefix);
254-
} else if(event instanceof StartElement startElement) {
255-
startElement_deferred(startElement.namespaceURI, startElement.localName, startElement.qname, startElement.attributes);
256-
} else if(event instanceof EndElement endElement) {
257-
endElement_deferred(endElement.namespaceURI, endElement.localName, endElement.qname);
258-
} else if(event instanceof Characters characters) {
259-
characters_deferred(characters.ch, 0, characters.ch.length);
260-
} else if(event instanceof IgnorableWhitespace ignorableWhitespace) {
261-
ignorableWhitespace_deferred(ignorableWhitespace.ch, 0, ignorableWhitespace.ch.length);
262-
} else if(event instanceof ProcessingInstruction processingInstruction) {
263-
processingInstruction_deferred(processingInstruction.target, processingInstruction.data);
264-
} else if(event instanceof SkippedEntity skippedEntity) {
265-
skippedEntity_deferred(skippedEntity.name);
266-
} else if(event instanceof StartDTD startDTD) {
267-
startDTD_deferred(startDTD.name, startDTD.publicId, startDTD.systemId);
268-
} else if(event instanceof EndDTD) {
269-
endDTD_deferred();
270-
} else if(event instanceof StartEntity startEntity) {
271-
startEntity_deferred(startEntity.name);
272-
} else if(event instanceof EndEntity endEntity) {
273-
endEntity_deferred(endEntity.name);
274-
} else if(event instanceof StartCDATA) {
275-
startCDATA_deferred();
276-
} else if(event instanceof EndCDATA) {
277-
endCDATA_deferred();
278-
} else if(event instanceof Comment comment) {
279-
comment_deferred(comment.ch, 0, comment.ch.length);
244+
switch (event) {
245+
case SetDocumentLocator setDocumentLocator -> setDocumentLocator_deferred(setDocumentLocator.locator);
246+
case StartDocument startDocument -> startDocument_deferred();
247+
case EndDocument endDocument -> endDocument_deferred();
248+
case StartPrefixMapping startPrefixMapping ->
249+
startPrefixMapping_deferred(startPrefixMapping.prefix, startPrefixMapping.uri);
250+
case EndPrefixMapping endPrefixMapping -> endPrefixMapping_deferred(endPrefixMapping.prefix);
251+
case StartElement startElement ->
252+
startElement_deferred(startElement.namespaceURI, startElement.localName, startElement.qname, startElement.attributes);
253+
case EndElement endElement ->
254+
endElement_deferred(endElement.namespaceURI, endElement.localName, endElement.qname);
255+
case Characters characters -> characters_deferred(characters.ch, 0, characters.ch.length);
256+
case IgnorableWhitespace ignorableWhitespace ->
257+
ignorableWhitespace_deferred(ignorableWhitespace.ch, 0, ignorableWhitespace.ch.length);
258+
case ProcessingInstruction processingInstruction ->
259+
processingInstruction_deferred(processingInstruction.target, processingInstruction.data);
260+
case SkippedEntity skippedEntity -> skippedEntity_deferred(skippedEntity.name);
261+
case StartDTD startDTD -> startDTD_deferred(startDTD.name, startDTD.publicId, startDTD.systemId);
262+
case EndDTD endDTD -> endDTD_deferred();
263+
case StartEntity startEntity -> startEntity_deferred(startEntity.name);
264+
case EndEntity endEntity -> endEntity_deferred(endEntity.name);
265+
case StartCDATA startCDATA -> startCDATA_deferred();
266+
case EndCDATA endCDATA -> endCDATA_deferred();
267+
case Comment comment -> comment_deferred(comment.ch, 0, comment.ch.length);
268+
default -> {
269+
}
280270
}
281271
}
282272
}

exist-core/src/main/java/org/exist/collections/triggers/XQueryTrigger.java

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -144,31 +144,31 @@ public void configure(final DBBroker broker, final Txn transaction, final Collec
144144
final Object paramValue = entry.getValue().get(0);
145145

146146
//get the binding prefix (if any)
147-
if ("bindingPrefix".equals(paramName)) {
148-
final String bindingPrefix = (String) paramValue;
149-
if (bindingPrefix != null && !bindingPrefix.trim().isEmpty()) {
150-
this.bindingPrefix = bindingPrefix.trim() + ":";
151-
}
152-
}
153-
154-
//get the URL of the query (if any)
155-
else if ("url".equals(paramName)) {
156-
this.urlQuery = (String) paramValue;
157-
}
158-
159-
//get the query (if any)
160-
else if ("query".equals(paramName)) {
161-
this.strQuery = (String) paramValue;
162-
}
163-
164-
//make any other parameters available as external variables for the query
165-
else {
166-
//TODO could be enhanced to setup a sequence etc
167-
if (userDefinedVariables == null) {
168-
this.userDefinedVariables = new Properties();
169-
}
170-
this.userDefinedVariables.put(paramName, paramValue);
171-
}
147+
switch (paramName) {
148+
case "bindingPrefix" -> {
149+
final String bindingPrefix = (String) paramValue;
150+
if (bindingPrefix != null && !bindingPrefix.trim().isEmpty()) {
151+
this.bindingPrefix = bindingPrefix.trim() + ":";
152+
}
153+
}
154+
155+
//get the URL of the query (if any)
156+
case "url" -> this.urlQuery = (String) paramValue;
157+
158+
159+
//get the query (if any)
160+
case "query" -> this.strQuery = (String) paramValue;
161+
162+
163+
//make any other parameters available as external variables for the query
164+
case null, default -> {
165+
//TODO could be enhanced to setup a sequence etc
166+
if (userDefinedVariables == null) {
167+
this.userDefinedVariables = new Properties();
168+
}
169+
this.userDefinedVariables.put(paramName, paramValue);
170+
}
171+
}
172172
}
173173

174174
//set a default binding prefix if none was specified

exist-core/src/main/java/org/exist/http/urlrewrite/RewriteConfig.java

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -221,24 +221,23 @@ private void parse(final Document doc) throws ServletException {
221221

222222
private URLRewrite parseAction(final ServletConfig config, final String pattern, final Element action) throws ServletException {
223223
final URLRewrite rewrite;
224-
if ("forward".equals(action.getLocalName())) {
225-
rewrite = new PathForward(config, action, pattern);
226-
} else if ("redirect".equals(action.getLocalName())) {
227-
rewrite = new Redirect(action, pattern);
228-
} else if ("root".equals(action.getLocalName())) {
229-
final ControllerForward cf = new ControllerForward(action, pattern);
224+
switch (action.getLocalName()) {
225+
case "forward" -> rewrite = new PathForward(config, action, pattern);
226+
case "redirect" -> rewrite = new Redirect(action, pattern);
227+
case "root" -> {
228+
final ControllerForward cf = new ControllerForward(action, pattern);
230229

231-
/*
232-
* If there is a server-name attribute on the root tag, then add that
233-
* as an attribute on the ControllerForward object.
234-
*/
235-
final String serverName = action.getAttribute(SERVER_NAME_ATTRIBUTE);
236-
if (serverName != null && serverName.length() > 0) {
237-
cf.setServerName(serverName);
230+
/*
231+
* If there is a server-name attribute on the root tag, then add that
232+
* as an attribute on the ControllerForward object.
233+
*/
234+
final String serverName = action.getAttribute(SERVER_NAME_ATTRIBUTE);
235+
if (serverName != null && serverName.length() > 0) {
236+
cf.setServerName(serverName);
237+
}
238+
rewrite = cf;
238239
}
239-
rewrite = cf;
240-
} else {
241-
rewrite = null;
240+
case null, default -> rewrite = null;
242241
}
243242
return rewrite;
244243
}

exist-core/src/main/java/org/exist/http/urlrewrite/XQueryURLRewrite.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -275,17 +275,19 @@ protected void service(final HttpServletRequest request, final HttpServletRespon
275275
final String nodeNs = node.getNamespaceURI();
276276
if (node.getNodeType() == Node.ELEMENT_NODE && Namespaces.EXIST_NS.equals(nodeNs)) {
277277
final Element action = (Element) node;
278-
if ("view".equals(action.getLocalName())) {
279-
parseViews(modifiedRequest, action, modelView);
280-
} else if ("error-handler".equals(action.getLocalName())) {
281-
parseErrorHandlers(modifiedRequest, action, modelView);
282-
} else if ("cache-control".equals(action.getLocalName())) {
283-
final String option = action.getAttribute("cache");
284-
modelView.setUseCache("yes".equals(option));
285-
} else {
286-
final URLRewrite urw = parseAction(modifiedRequest, action);
287-
if (urw != null) {
288-
modelView.setModel(urw);
278+
switch (action.getLocalName()) {
279+
case "view" -> parseViews(modifiedRequest, action, modelView);
280+
case "error-handler" ->
281+
parseErrorHandlers(modifiedRequest, action, modelView);
282+
case "cache-control" -> {
283+
final String option = action.getAttribute("cache");
284+
modelView.setUseCache("yes".equals(option));
285+
}
286+
case null, default -> {
287+
final URLRewrite urw = parseAction(modifiedRequest, action);
288+
if (urw != null) {
289+
modelView.setModel(urw);
290+
}
289291
}
290292
}
291293
}

exist-core/src/main/java/org/exist/management/client/JMXtoXML.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -394,24 +394,17 @@ private void queryMBeans(final MemTreeBuilder builder, final ObjectName query)
394394
}
395395

396396
private void serializeObject(final MemTreeBuilder builder, final Object object) throws SAXException {
397-
if (object == null) {
398-
return;
397+
switch (object) {
398+
case null -> {
399+
return;
400+
}
401+
case TabularData tabularData -> serialize(builder, tabularData);
402+
case CompositeData[] compositeData -> serialize(builder, compositeData);
403+
case CompositeData compositeData -> serialize(builder, compositeData);
404+
case Object[] objects -> serialize(builder, objects);
405+
default -> builder.characters(object.toString());
399406
}
400407

401-
if (object instanceof TabularData) {
402-
serialize(builder, (TabularData) object);
403-
404-
} else if (object instanceof CompositeData[]) {
405-
serialize(builder, (CompositeData[]) object);
406-
} else if (object instanceof CompositeData) {
407-
serialize(builder, (CompositeData) object);
408-
409-
} else if (object instanceof Object[]) {
410-
serialize(builder, (Object[]) object);
411-
412-
} else {
413-
builder.characters(object.toString());
414-
}
415408
}
416409

417410
private void serialize(final MemTreeBuilder builder, final Object[] data) throws SAXException {

exist-core/src/main/java/org/exist/repo/ExistPkgExtension.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,14 @@ protected void parseDescriptor(XMLStreamReader parser, Package pkg)
9191
private void handleElement(XMLStreamReader parser, Package pkg, ExistPkgInfo info)
9292
throws PackageException, XMLStreamException {
9393
final String local = parser.getLocalName();
94-
if ("jar".equals(local)) {
95-
final String jar = myXSHelper.getElementValue(parser);
96-
info.addJar(jar);
97-
} else if ("java".equals(local)) {
98-
handleJava(parser, info);
99-
} else if ("xquery".equals(local)) {
100-
handleXQuery(parser, pkg, info);
101-
} else {
102-
throw new PackageException("Unknown eXist component type: " + local);
94+
switch (local) {
95+
case "jar" -> {
96+
final String jar = myXSHelper.getElementValue(parser);
97+
info.addJar(jar);
98+
}
99+
case "java" -> handleJava(parser, info);
100+
case "xquery" -> handleXQuery(parser, pkg, info);
101+
case null, default -> throw new PackageException("Unknown eXist component type: " + local);
103102
}
104103
}
105104

0 commit comments

Comments
 (0)