View Javadoc
1   /*
2    * #%L
3    * wcm.io
4    * %%
5    * Copyright (C) 2018 wcm.io
6    * %%
7    * Licensed under the Apache License, Version 2.0 (the "License");
8    * you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   *
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   * #L%
19   */
20  package io.wcm.qa.glnm.differences.difference.sut;
21  
22  import java.net.URL;
23  
24  import org.apache.commons.lang3.StringUtils;
25  
26  /**
27   * Uses path and query part of URL as difference.
28   *
29   * @since 1.0.0
30   */
31  public class RelativeUrlWithQueryDifference extends UrlDifference {
32  
33    /**
34     * Uses current URL.
35     *
36     * @since 2.0.0
37     */
38    public RelativeUrlWithQueryDifference() {
39      super();
40    }
41  
42    /**
43     * Uses URL build from parameter string.
44     *
45     * @param url to extract path and query from
46     * @since 2.0.0
47     */
48    public RelativeUrlWithQueryDifference(String url) {
49      super(url);
50    }
51  
52    @Override
53    protected String getRawTag() {
54      URL url = getUrl();
55      String relativePath = url.getPath();
56      if (StringUtils.isNotBlank(url.getRef())) {
57        relativePath += url.getRef();
58      }
59      if (StringUtils.isNotBlank(url.getQuery())) {
60        relativePath += url.getQuery();
61      }
62      return relativePath;
63    }
64  
65  }