Added: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/main/java/org/apache/clerezza/triaxrs/util/uri/UriPathNormalizer.java URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/main/java/org/apache/clerezza/triaxrs/util/uri/UriPathNormalizer.java?rev=1031067&view=auto ============================================================================== --- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/main/java/org/apache/clerezza/triaxrs/util/uri/UriPathNormalizer.java (added) +++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/main/java/org/apache/clerezza/triaxrs/util/uri/UriPathNormalizer.java Thu Nov 4 16:34:52 2010 @@ -0,0 +1,160 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + *******************************************************************************/ +package org.apache.clerezza.triaxrs.util.uri; + +// taken from Wasp +/** + * Implementation of URI normalization algorithm. + */ +public final class UriPathNormalizer { + + private UriPathNormalizer() { + // no instances + } + + /** + * Returns normalized <code>path</code> (or simply the <code>path</code> if + * it is already in normalized form). Normalized path does not contain any + * empty or "." segments or ".." segments preceded by other segment than + * "..". + * + * @param path path to normalize + * @return normalize path + */ + public static String normalize(String path) { + if ((path != null) && (path.indexOf(".") == -1) && (path.indexOf("//") == -1)) { //$NON-NLS-1$ //$NON-NLS-2$ + return path; + } + + boolean wasNormalized = true; + + // 1. count number of nonempty segments in path + // Note that this step is not really necessary because we could simply + // estimate the number of segments as path.length() and do the empty + // segment check in step two ;-). + int numSegments = 0; + int lastChar = path.length() - 1; + for (int src = lastChar; src >= 0;) { + int slash = path.lastIndexOf('/', src); + if (slash != -1) { + // empty segment? (two adjacent slashes?) + if (slash == src) { + if (src != lastChar) { // ignore the first slash occurence + // (when numSegments == 0) + wasNormalized = false; + } + } else { + numSegments++; + } + } else { + numSegments++; + } + src = slash - 1; + } + + // 2. split path to segments skipping empty segments + int[] segments = new int[numSegments]; + char[] chars = new char[path.length()]; + path.getChars(0, chars.length, chars, 0); + numSegments = 0; + for (int src = 0; src < chars.length;) { + // skip empty segments + while (src < chars.length && chars[src] == '/') { + src++; + } + + if (src < chars.length) { + // note the segment start + segments[numSegments++] = src; + + // seek to the end of the segment + while (src < chars.length && chars[src] != '/') { + src++; + } + } + } + // assert (numSegments == segments.length); + + // 3. scan segments and remove all "." segments and "foo",".." segment + // pairs + final int DELETED = -1; + for (int segment = 0; segment < numSegments; segment++) { + int src = segments[segment]; + if (chars[src++] == '.') { + if (src == chars.length || // "." + chars[src] == '/') { // "./" + // delete the "." segment + segments[segment] = DELETED; + wasNormalized = false; + } else { // ".something" + if (chars[src++] == '.' && (src == chars.length || // ".." + chars[src] == '/')) { // "../" + // we have the ".." segment + // scan backwards for segment to delete together with + // ".." + for (int toDelete = segment - 1; toDelete >= 0; toDelete--) { + if (segments[toDelete] != DELETED) { + if (chars[segments[toDelete]] != '.') { + // delete the two segments + segments[toDelete] = DELETED; + segments[segment] = DELETED; + wasNormalized = false; + // } else { + // // Oops! We've found ".." segment - there + // is nothing more to delete! + } + break; + } + } + } + } + } + } + + // 4. join the result, if necessary + if (wasNormalized) { // already normalized? nothing to do... + return path; + } else { + // join the resulting normalized path, retain the leading and ending + // slash + int dst = (chars[0] == '/') ? 1 : 0; + + for (int segment = 0; segment < numSegments; segment++) { + int segmentStart = segments[segment]; + if (segmentStart != DELETED) { + // if we remembered segment legths in step 2, we could use + // System.arraycopy method now but we had to allocate one + // more array + + for (int src = segmentStart; src < chars.length; src++) { + char ch = chars[src]; + chars[dst++] = ch; + if (ch == '/') { + break; + } + } + + } + } + + return new String(chars, 0, dst); + } + } +}
Added: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/main/resources/org/apache/clerezza/triaxrs/util/resource.properties URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/main/resources/org/apache/clerezza/triaxrs/util/resource.properties?rev=1031067&view=auto ============================================================================== --- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/main/resources/org/apache/clerezza/triaxrs/util/resource.properties (added) +++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/main/resources/org/apache/clerezza/triaxrs/util/resource.properties Thu Nov 4 16:34:52 2010 @@ -0,0 +1,233 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Class and Method Validation +classNotAProvider={0} is not a provider. Ignoring. +classNotAResourceNorProvider={0} is neither a resource nor a provider. Ignoring. +classNotADynamicResourceNorResourceNorProvider={0} is not a dynamic resource, resource, or provider. Ignoring. +classAlreadyAdded=The class {0} was already added. Ignored. +classNotValid=The class {0} may only have one of the following declarations: {1} {2} {3} +classIsUnknownProvider=Annotated @Provider class does not implement a recognized Provider interface: {0} +isNotAClassWithMsgFormat={0} is not a class or the class has unresolved dependencies. Ignoring. +resourceClassNotValid=The resource class {0} is not a valid resource. Ignoring. Ensure that it has a javax.ws.rs.Path annotation and is unique. +rootResourceInstanceIsAnInvalidResource=Root resource {0} instance is an invalid resource. Ensure that it has a javax.ws.rs.Path annotation and is unique. +classInstantiationExceptionWithMsgFormat=Failed to instantiate class {0}. +classIllegalAccessWithMsgFormat=Illegal access to {0}. +loadingClassToApplication=Class {0} was added to application. +loadingApplication=Loading application from {0} + +exceptionOccurredDuringClassProcessing=An exception occurred during processing of class {0} Ignoring class. +listExceptionDuringClassProcessing=The following exception occurred during processing of class: +exceptionOccurredDuringSingletonProcessing=An exception occurred during processing of singleton {0} Ignoring singleton. +listExceptionDuringSingletonProcessing=The following exception occurred during processing of class: +exceptionOccurredDuringInstanceProcessing=An exception occurred during processing of instance {0} Ignoring. +listExceptionDuringInstanceProcessing=The following exception occurred during processing of instance: + +methodNotAnnotatedCorrectly=The method {0} in class {1} is not annotated with an http method designator nor the Path annotation. This method will be ignored. +subresourceLocatorIllegalEntityParameter=Sub-Resource locator {0} contains an illegal entity parameter. The locator will be ignored. +subresourceLocatorAnnotatedConsumesProduces=Sub-Resource locator {0} is annotated with Consumes/Produces. These annotations are ignored for sub-resource locators + +# Loading config +configNotFound=Could not find {0} Ignoring. +exceptionClosingFile=Exception when closing file +propertyNotDefined={0} property was not defined. +alternateShortcutMapLoadFailure=Failed to load alternateShortcutMap +alternateShortcutMapCloseFailure=Exception when closing file: + +# Provider Information +uploadDirDoesNotExist=Upload directory {0} does not exist or is not a directory, uploading entity to default temporary directory +cannotUseFileAsResponse=Can not write file {0} to response, file is not readable or is a directory + +jaxbObjectFactoryInstantiate=Failed to instantiate object factory for {0} + +# internals +mediaTypeSetAlreadyContains=The set already contains {0} Skipping... +invalidServletContextAccessor={0} must be javax.servlet.http.HttpServletRequest or javax.servlet.http.HttpServletResponse. + +# writing +noWriterOrDataSourceProvider=Could not find a writer or DataSourceProvider for {0} type and {1} mediaType. +noWriterFound=Could not find a writer for {0} type and {1} mediaType. + +# Spring +springClassReplaceNewerObjectFactory=The {0} was replaced by a newer object factory. +springBeanClassNotDynamicResource=The bean {0} of class {1} is not a DynamicResource. +springBeanNotResourceNorProvider=The bean {0} of class {1} is neither resource nor provider +springExceptionOccurredDuringFieldInject=Exception occured during the fields injection for bean: + +# Injection +injectionFailureSingleton=Failed to inject fields of singleton {0} + +# Asset Provider +assetLocatorMethodMoreThanOneEntityParam=Asset locator method {0} has more than one entity parameter. Only a single entity parameter is allowed. +assetMethodInvokeError=Error invoking asset method {0} +assetMustHavePublicConstructor=Failed to instantiate asset {0} Assets must have a default public contructor. +assetCannotInstantiate=Cannot instantiate asset {0} + +# Atom Provider +atomRequestEntityNotAtomEntry=Request entity is not an atom entry (it was unmarshalled as {0} +atomRequestEntityNotAtomFeed=Request entity is not an atom feed (it was unmarshalled as {0} + +# JSON Provider +jsonErrorSAXParserFeature=Error while setting SAX parser feature for JSON provider +jsonFailConvertXMLToJSON=Failed to convert XML to JSON +jsonFailConvertJAXBToJSON=Failed to convert JAXB object {0} to JSONObject +jsonFailWriteJSONObject=Failed to write JSONObject +jsonFailReadJSONObject=Failed to read JSONObject +jsonFailWriteJSONArray=Failed to write JSONArray +jsonFailReadJSONArray=Failed to read JSONArray + +# JAXB Provider +jaxbObjectFactoryNotFound=ObjectFactory for {0} was not found +jaxbElementFailToBuild=Failed to build JAXBElement for {0} +jaxbObjectFactoryNotAnnotatedXMLRegistry=Found ObjectFactory for {0} is not annotated with XmlRegistry.class +jaxbFailToUnmarshal=Failed to unmarshal {0} +jaxbFailToMarshal=Failed to marshal {0} +jaxbCreateDefaultJAXBElement=Creating default JAXBElement for {0} + +# Failure Messages +mediaTypeWrongFormat={0} is an invalid MediaType format. Verify that the format is like "type/subtype". +methodDoesNotHandleType=Method does not handle {0} +unhandledExceptionToContainer=Unhandled exception +exceptionOccurredDuringInvocation={0} occurred during the handlers chain invocation + +# Contexts +uriBadBaseURI=Bad base URI: {0} + +# Error Flow +exceptionOccurredDuringExceptionMapper=Exception occurred while executing toResponse of the ExceptionMapper + +# WebDAV +webDAVNoEditOrSelfLink=The resource {0} has set no edit or self link +webDAVFailSetupPropertyHelper=Failed to setup property helper +webDAVFailCreateMarshaller=Failed to create WebDAV marshaller +webDAVFailCreateUnmarshaller=Failed to create WebDAV unmarshaller +webDAVUnableToParseElement=Unable to parse the WebDAV {0} element +webDAVIncompatibleTypeInRequest=Incompatible type in the WebDAV {0} element: received {1} but the requested is {2} +webDAVUnableToMarshalElement=Unable to marshal the WebDAV {0} element + +noMethodInClassSupportsHTTPMethod=Could not find any method in class {0} that supports {1} +noMethodInClassConsumesHTTPMethod=Could not find any method in class {0} that consumes {1} +noMethodInClassProducesHTTPMethod=Could not find any method in class {0} capable of producing {1} + +# Client Handler +clientIssueRequest=Issuing client {0} method request to URI at {1} with {2} entity class and {3} headers +clientAcceptHeaderHandlerSetAccept=Accept header automatically set to: {0} +clientResponseIsErrorCode=Client response is an error code: {0} +clientConfigurationUnmodifiable=Client configuration is unmodifiable because it is in-use by a client. Please construct a new client configuration. +entityTypeMustBeParameterized=EntityType must be parameterized. +clientNoWriterForTypeAndMediaType=No javax.ws.rs.ext.MessageBodyWriter found for type {0} and media type {1}. Verify that all entity providers are correctly registered. +clientCannotConvertEntity=Entity of type {0} cannot be cast as type {1} +clientNoReaderForTypeAndMediaType=No javax.ws.rs.ext.MessageBodyReader found for type {0} and media type {1}. Verify that all entity providers are correctly registered. + +# Server Handlers +checkLocationHeaderHandlerIllegalArg=Mandatory "Location" header was not set for status code {0} +populateResponseMediaTypeHandlerFromCompatibleMessageBodyWriters=Content-Type not specified via Response object or via @javax.ws.rs.Produces annotation so automatically setting via generic-type compatible javax.ws.rs.ext.MessageBodyWriter providers +populateResponseMediaTypeHandlerNoAcceptableResponse=No acceptable concrete Content-Types, so sending a 406 Not Acceptable response to the client. + +# Servlet/Filter Messages +restServletJAXRSApplicationInitParam=Using application class {0} named in init-param {1} +restServletWinkApplicationInitParam=Using application classes {0} named in init-param {1} +restServletUseDeploymentConfigurationParam=Using deployment configuration class {0} named in init-param {1} +restServletUsePropertiesFileAtLocation=Using properties file at {0} named in init-param {1} +restServletRequestProcessorCouldNotBeCreated=Request processor could not be created. +adminServletRequestProcessorInitBeforeAdmin=Request processor should be initialized prior calling to admin servlet. +adminServletFailCreateJAXBForAdminServlet=Failed to create JAXBContext for AdminServlet +adminServletFailMarshalObject=Failed to marshal object {0} + +# Server +cannotGetOutputStreamSinceWriterRequested=Cannot get OutputStream since Writer already requested. +writerCannotGetWriterSinceOutputStreamRequested=Cannot get Writer since OutputStream already requested. +rootResourceCollectionListIsNull=CollectionList is null. + +parameterHttpsIsEmptyOrNotInitialized=Parameter httpsURI is empty or not initialized +parameterHttpIsEmptyOrNotInitialized=Parameter httpsURI is empty or not initialized +uriInfoInvalidURI=A URI with an invalid syntax was given. +methodCallOutsideScopeOfRequestContext=Method call made outside the scope of a request context. + +# others +methodCannotHandleType=Method cannot handle {0} +missingVariable=Missing variable {0} +valueAtIndexIsNull=Value argument at index {0} is null +variableIsEmpty=Value for variable {0} is empty +resourceNotAnnotated=Resource is not annotated with {0} annotation +methodNotAnnotated=Method is not annotated with {0} annotation +methodWithClassNotAnnotatedCorrectly=Method {0} in class {1} is not annotated correctly. +moreThanOneMethodAnnotated=More than one method with {0} annotation exists +noMethodAnnotated=No method with {0} annotation exists +invalidPort=Port is not valid +isInvalid={0} is invalid +segmentAtIndexIsNull=Segment at index {0} is null +variableIsNull=Value for variable {0} is null +variableNotSuppliedAValue=variable {0} was not supplied a value +patternNotCompiled=Pattern not compiled +syntaxErrorInvalidTemplateForm=Syntax error: {0} contains invalid template form +valueFromMethodMustBeType=Value returned from method {0} must be of type {1} +returnedTypeWas=Returned object was type {0} +notASupportedResourceMethodParam=Type {0} is not a supported resource method parameter +cannotConvertValueFromTo=Cannot convert value {0} to {1} +cannotCreateFactoryForClass=Cannot create factory for class {0} +cannotCreateDefaultFactoryForDR=Cannot create default factory for DynamicResource: {0} +cannotCreateDefaultFactoryFor=Cannot create default factory for class: {0} +cookieCannotContainAddlVers=Cookie cannot contain additional $Version: {0} +cookieMustStartWithVersion=Cookie must start with $Version: {0} +cookieDoesNotContainNAMEVALUE=Cookie does not contain NAME+VALUE: {0} +failedToParseCookie=Failed to parse Cookie: {0} +invalidCookie=Invalid Cookie: {0} +jaxrsCacheControlTypeSupport=JAX-RS CacheControl type is designed to support only cache-response-directives +headerIsNull={0} header is null +cookieIsNull=Cookie is null +cookieNameNotValid=Invalid Cookie - Cookie Name {0} is not valid +cookieNameValueNotValid=Invalid Cookie - Cookie Name value {0} is not valid +entityTagNotQuoted=Entity Tag {0} is not quoted properly +cannotMixInlineAndOutOfLine=Cannot mix inline and out-of-line categories attributes +failedToCreateJAXBContextFor=Failed to create JAXBContext for {0} +contentMayHaveInlineOrOutContent=Content element may have either inline or out-of-line content +typeAttribMustHaveValidMimeType=Type attribute of content element must be a valid mime type when content is out-of-line +noValidConstructorFoundFor=No valid constructor found for {0} +unsupportedOperator=Unsupported operator {0} +methodHasMultipleEntityParams=Resource method {0} has more than one entity parameter +multipleHTTPAnnotationsOnMethod=Multiple http method annotations on method {0} in class {1} +errorSettingUpAtom=Error setting up Atom JAXB utils: {0} +errorOccurredProcessingRequest=An error has occurred while processing a request +conflictingParameterAnnotations=Conflicting parameter annotations for {0} +couldNotFindWriter=Could not find a writer for {0} and {1} Try to find JAF DataSourceProvider +cannotCastTo=Cannot cast {0} to {1} +mediaTypeHeaderNull=MediaType header is null +multiPartStreamAlreadyClosed=Stream already closed: The PartInputStream is not accessible after moving to the next part. +lastMatchWasUnsuccessful=Last match was unsuccessful +variableContainsMoreThanOneValueForJoinOperator=Variable '{0}' contains more than one value for join operator +matchedSuffixMustEndWith=The matched suffix must end with '{0}' +matchedSuffixMustStartWith=The matched suffix must start with '{0}' +listOperatorMustHaveOnlyOneVariable=The list operator MUST only have one variable +suffixOperatorMustOnlyHaveOneVariable=The suffix operator MUST only have one variable +prefixOperatorMustHaveOnlyOneVariable=The prefix operator MUST only have one variablemultiPartStreamAlreadyClosed=Stream already closed: The PartInputStream is not accessible after moving to the next part. +lastMatchWasUnsuccessful=Last match was unsuccessful +variableContainsMoreThanOneValueForJoinOperator=Variable '{0}' contains more than one value for join operator +matchedSuffixMustEndWith=The matched suffix must end with '{0}' +matchedSuffixMustStartWith=The matched suffix must start with '{0}' +listOperatorMustHaveOnlyOneVariable=The list operator MUST only have one variable +suffixOperatorMustOnlyHaveOneVariable=The suffix operator MUST only have one variable +prefixOperatorMustHaveOnlyOneVariable=The prefix operator MUST only have one variable +missingClientAuthenticationCredentialForUser=Missing client authentication credential for user: {0} +serviceFailedToAuthenticateUser=Service failed to authenticate user: {0} [email protected] was found on a superclass or interface on class {0}. Annotate @javax.ws.rs.ext.Provider on the provider class directly to ensure portability between environments. [email protected] was found on a superclass or interface on class {0}. Annotate @javax.ws.rs.Path on the root resource class directly to ensure portability between environments. [email protected] found on interface or abstract class {0} and is being ignored. Annotate @javax.ws.rs.ext.Provider on the provider implementation or base class directly and return that in your javax.ws.rs.core.Application subclass. +entityRefsNotSupported=Entity references are not supported in XML documents due to possible security vulnerabilities. +saxParseException=The system cannot parse the XML content into a {0} instance. Verify that the XML content is valid. +saxParserConfigurationException=The system cannot configure the SAX parser with the given configuration parameter. +badXMLReaderInitialStart=The XMLStreamReader instance has already been partially processed. Copied: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/blackbox/SourceProviderTest.java (from r1030880, incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/blackbox/TestSourceProvider.java) URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/blackbox/SourceProviderTest.java?p2=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/blackbox/SourceProviderTest.java&p1=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/blackbox/TestSourceProvider.java&r1=1030880&r2=1031067&rev=1031067&view=diff ============================================================================== --- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/blackbox/TestSourceProvider.java (original) +++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/blackbox/SourceProviderTest.java Thu Nov 4 16:34:52 2010 @@ -46,6 +46,7 @@ import org.apache.clerezza.triaxrs.mock. import org.apache.clerezza.triaxrs.mock.RequestURIImpl; import org.apache.clerezza.triaxrs.mock.ResponseImpl; import org.apache.clerezza.triaxrs.testutils.HandlerCreator; +import org.junit.Ignore; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.wymiwyg.wrhapi.HeaderName; @@ -59,8 +60,7 @@ import org.wymiwyg.wrhapi.util.MessageBo * @author ali * */ - -public class TestSourceProvider { +public class SourceProviderTest { private JaxRsHandler handler = HandlerCreator.getHandler(MyResource.class); private RequestURIImpl uri = new RequestURIImpl(); private TransformerFactory transformerFac = TransformerFactory.newInstance(); Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/util/MediaTypeComparatorTest.java URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/util/MediaTypeComparatorTest.java?rev=1031067&r1=1031066&r2=1031067&view=diff ============================================================================== --- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/util/MediaTypeComparatorTest.java (original) +++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/util/MediaTypeComparatorTest.java Thu Nov 4 16:34:52 2010 @@ -32,12 +32,11 @@ import javax.ws.rs.core.Variant.VariantL import javax.ws.rs.ext.RuntimeDelegate; import junit.framework.Assert; +import org.apache.clerezza.triaxrs.headerDelegate.MediaTypeHeaderDelegate; import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.apache.clerezza.triaxrs.headerDelegate.MediaTypeProvider; -import org.apache.clerezza.triaxrs.util.MediaTypeComparator; public class MediaTypeComparatorTest { @@ -105,7 +104,7 @@ public class MediaTypeComparatorTest { if (!clazz.equals(MediaType.class)) { throw new UnsupportedOperationException("not supported in test"); } - return (HeaderDelegate<T>) new MediaTypeProvider(); + return (HeaderDelegate<T>) new MediaTypeHeaderDelegate(); } @Override Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/util/TestQueryParserUtil.java URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/util/TestQueryParserUtil.java?rev=1031067&r1=1031066&r2=1031067&view=diff ============================================================================== --- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/util/TestQueryParserUtil.java (original) +++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/org.apache.clerezza.triaxrs/src/test/java/org/apache/clerezza/triaxrs/util/TestQueryParserUtil.java Thu Nov 4 16:34:52 2010 @@ -56,7 +56,7 @@ public class TestQueryParserUtil { MultivaluedMap<String,String> matrix = QueryStringParser.getMatrix(query, encode); assertNotNull(matrix); - assertEquals("{scale=[32000], long=[20], lat=[50]}", matrix.toString()); + assertEquals("[lat=50,long=20,scale=32000]", matrix.toString()); } @Test
