11package org .linkeddatafragments .fragments ;
22
3- import javax .servlet .http .HttpServletRequest ;
4-
5- import org .linkeddatafragments .config .ConfigReader ;
6-
73/**
8- * Base class for implementations of {@link LinkedDataFragmentRequest} that
9- * are based on an {@link HttpServletRequest}.
4+ * Base class for implementations of {@link LinkedDataFragmentRequest}.
105 *
116 * @author <a href="http://olafhartig.de">Olaf Hartig</a>
127 */
138public abstract class LinkedDataFragmentRequestBase
149 implements LinkedDataFragmentRequest
1510{
16- public final HttpServletRequest request ;
17- public final ConfigReader config ;
18-
1911 public final String fragmentURL ;
2012 public final String datasetURL ;
2113 public final boolean pageNumberWasRequested ;
2214 public final long pageNumber ;
2315
24- public LinkedDataFragmentRequestBase ( final HttpServletRequest request ,
25- final ConfigReader config )
16+ public LinkedDataFragmentRequestBase ( final String fragmentURL ,
17+ final String datasetURL ,
18+ final boolean pageNumberWasRequested ,
19+ final long pageNumber )
2620 {
27- this .request = request ;
28- this .config = config ;
29-
30- this .fragmentURL = extractFragmentURL ( request , config );
31- this .datasetURL = extractDatasetURL ( request , config );
32-
33- final String givenPageNumber = request .getParameter ( PARAMETERNAME_PAGE );
34- if ( givenPageNumber != null ) {
35- long pageNumber ;
36- try {
37- pageNumber = Long .parseLong ( givenPageNumber );
38- } catch (NumberFormatException ex ) {
39- pageNumber = 1L ;
40- }
41- this .pageNumber = ( pageNumber > 0 ) ? pageNumber : 1L ;
42- this .pageNumberWasRequested = true ;
43- }
44- else {
45- this .pageNumber = 1L ;
46- this .pageNumberWasRequested = false ;
47- }
21+ this .fragmentURL = fragmentURL ;
22+ this .datasetURL = datasetURL ;
23+ this .pageNumberWasRequested = pageNumberWasRequested ;
24+ this .pageNumber = pageNumber ;
4825 }
4926
5027 @ Override
@@ -70,33 +47,4 @@ public long getPageNumber() throws UnsupportedOperationException {
7047 throw new UnsupportedOperationException ();
7148 }
7249
73-
74- // ----- HELPERS ---------
75-
76- public static String extractFragmentURL ( final HttpServletRequest request ,
77- final ConfigReader config ) {
78- final String datasetURL = extractDatasetURL ( request , config );
79- final String query = request .getQueryString ();
80- return query == null ? datasetURL : (datasetURL + "?" + query );
81- }
82-
83- public static String extractDatasetURL ( final HttpServletRequest request ,
84- final ConfigReader config ) {
85- return extractBaseURL ( request , config ) + request .getRequestURI ();
86- }
87-
88- public static String extractBaseURL ( final HttpServletRequest request ,
89- final ConfigReader config ) {
90- if (config .getBaseURL () != null ) {
91- return config .getBaseURL ();
92- } else if ((request .getServerPort () == 80 )
93- || (request .getServerPort () == 443 )) {
94- return request .getScheme () + "://"
95- + request .getServerName ();
96- } else {
97- return request .getScheme () + "://"
98- + request .getServerName () + ":" + request .getServerPort ();
99- }
100- }
101-
10250}
0 commit comments