File tree Expand file tree Collapse file tree 2 files changed +24
-0
lines changed
org.restlet.ext.oauth/src/org/restlet/ext/oauth
org.restlet.test/src/org/restlet/test/ext/oauth Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change 29
29
import java.util.logging.Logger;
30
30
31
31
import org.restlet.data.Form;
32
+ import org.restlet.data.Parameter;
32
33
import org.restlet.data.Reference;
33
34
import org.restlet.ext.oauth.internal.Scopes;
34
35
import org.restlet.representation.Representation;
@@ -118,6 +119,17 @@ public Reference toReference(String uri) {
118
119
reference.setQuery(query);
119
120
return reference;
120
121
}
122
+
123
+ public Reference toReference(Reference ref) {
124
+ Reference reference = new Reference(ref);
125
+
126
+ //Add each parameter to avoid overwriting existing parameters
127
+ for(Parameter param : form){
128
+ reference.addQueryParameter(param);
129
+ }
130
+
131
+ return reference;
132
+ }
121
133
122
134
public Representation toRepresentation() {
123
135
return form.getWebRepresentation();
Original file line number Diff line number Diff line change @@ -64,4 +64,16 @@ public void testToReference() {
64
64
assertEquals("val2", form.getFirstValue("bar"));
65
65
assertEquals("val3", form.getFirstValue("buz"));
66
66
}
67
+
68
+ @Test
69
+ public void testToReferenceFromReference() {
70
+ Reference originalReference = new Reference("http://localhost/test?existing=thing");
71
+
72
+ Reference reference = parameters.toReference(originalReference);
73
+ Form form = reference.getQueryAsForm();
74
+ assertEquals("thing", form.getFirstValue("existing"));
75
+ assertEquals("val1", form.getFirstValue("foo"));
76
+ assertEquals("val2", form.getFirstValue("bar"));
77
+ assertEquals("val3", form.getFirstValue("buz"));
78
+ }
67
79
}
You can’t perform that action at this time.
0 commit comments