aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/container/component/UserBindingPattern.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container/component/UserBindingPattern.java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/component/UserBindingPattern.java27
1 files changed, 24 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/component/UserBindingPattern.java b/config-model/src/main/java/com/yahoo/vespa/model/container/component/UserBindingPattern.java
index 182eca835c1..0f2480a6812 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/component/UserBindingPattern.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/component/UserBindingPattern.java
@@ -1,6 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.container.component;
+import java.util.Objects;
+import java.util.Optional;
+
/**
* A {@link BindingPattern} which is constructed directly from a user provided 'binding' element from services.xml.
*
@@ -8,12 +11,30 @@ package com.yahoo.vespa.model.container.component;
*/
public class UserBindingPattern extends BindingPattern {
- private UserBindingPattern(String scheme, String host, String port, String path) { super(scheme, host, port, path); }
- private UserBindingPattern(String binding) { super(binding); }
+ private final Optional<String> originalPort;
+
+ private UserBindingPattern(String scheme, String host, String port, String path) {
+ super(scheme, host, port, path);
+ this.originalPort = null;
+ }
+ private UserBindingPattern(String scheme, String host, String port, Optional<String> originalPort, String path) {
+ super(scheme, host, port, path);
+ this.originalPort = originalPort;
+ }
+ private UserBindingPattern(String binding) {
+ super(binding);
+ this.originalPort = null;
+ }
public static UserBindingPattern fromHttpPath(String path) { return new UserBindingPattern("http", "*", null, path); }
public static UserBindingPattern fromPattern(String binding) { return new UserBindingPattern(binding); }
- public UserBindingPattern withPort(int port) { return new UserBindingPattern(scheme(), host(), Integer.toString(port), path()); }
+ public UserBindingPattern withPort(int port) { return new UserBindingPattern(scheme(), host(), Integer.toString(port), port(), path()); }
+
+ protected Optional<String> originalPort() {
+ return Objects.isNull(originalPort)
+ ? port()
+ : originalPort;
+ }
@Override
public String toString() {