diff --git a/xwiki-platform-core/pom.xml b/xwiki-platform-core/pom.xml index 7f83fd3dad97e54fd3453f08707f0a195b4f4f25..3bd0fe907f675c366ffa8828eb4110574faec00e 100644 --- a/xwiki-platform-core/pom.xml +++ b/xwiki-platform-core/pom.xml @@ -472,6 +472,7 @@ <module>xwiki-platform-release</module> <module>xwiki-platform-rendering</module> <module>xwiki-platform-repository</module> + <module>xwiki-platform-resource</module> <module>xwiki-platform-rest</module> <module>xwiki-platform-sandbox</module> <module>xwiki-platform-scheduler</module> @@ -491,7 +492,7 @@ <module>xwiki-platform-watchlist</module> <module>xwiki-platform-web</module> <module>xwiki-platform-webdav</module> - <module>xwiki-platform-wikistream</module> + <module>xwiki-platform-wiki</module> <module>xwiki-platform-wiki-manager</module> <module>xwiki-platform-workspace</module> <module>xwiki-platform-wysiwyg</module> diff --git a/xwiki-platform-core/xwiki-platform-resource/src/main/java/org/xwiki/resource/EntityResource.java b/xwiki-platform-core/xwiki-platform-resource/src/main/java/org/xwiki/resource/EntityResource.java index bfbe7232f3470b0f226c2ec20aa2f256e1182d0d..e41ae16fd4ac38b60ac854974cf7e981307117d0 100644 --- a/xwiki-platform-core/xwiki-platform-resource/src/main/java/org/xwiki/resource/EntityResource.java +++ b/xwiki-platform-core/xwiki-platform-resource/src/main/java/org/xwiki/resource/EntityResource.java @@ -33,6 +33,8 @@ @Unstable public class EntityResource extends AbstractResource { + private static final String REVISION_PARAMETER_NAME = "rev"; + // Note: We're not using a typed object since the action name can be anything and corresponds to an Action // component role hint. private String action; @@ -41,8 +43,6 @@ public class EntityResource extends AbstractResource private Locale locale; - private static final String REVISION_PARAMETER_NAME = "rev"; - public EntityResource(EntityReference entityReference) { super(ResourceType.ENTITY); diff --git a/xwiki-platform-core/xwiki-platform-resource/src/main/java/org/xwiki/resource/Resource.java b/xwiki-platform-core/xwiki-platform-resource/src/main/java/org/xwiki/resource/Resource.java index 27016cf58a6c0bd7620036946e64724fee64f879..00245005d06f7a4e690c279dfb7a739f20275cc8 100644 --- a/xwiki-platform-core/xwiki-platform-resource/src/main/java/org/xwiki/resource/Resource.java +++ b/xwiki-platform-core/xwiki-platform-resource/src/main/java/org/xwiki/resource/Resource.java @@ -39,6 +39,7 @@ public interface Resource ResourceType getType(); /** + * @param name the name of the parameter to add * @param value the value of the parameter to add. If null then no value is added. */ void addParameter(String name, String value); diff --git a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/ExtendedURLEntityResourceFactory.java b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/ExtendedURLEntityResourceFactory.java index 1cc973dfc0f3e1e005afe6705e74873f4e2f0dc7..11b84d62e0c44cbc1116cd5c0395fdfb93d5cc3b 100644 --- a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/ExtendedURLEntityResourceFactory.java +++ b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/ExtendedURLEntityResourceFactory.java @@ -50,7 +50,7 @@ * </ul> * * @version $Id$ - * @since 5.2M1 + * @since 5.3M1 */ @Component @Named("standard") @@ -73,7 +73,7 @@ public class ExtendedURLEntityResourceFactory implements ResourceFactory<Extende * Used to get the configured entity path prefix from the URL to allow for short URLs. */ @Inject - private StandardURLConfiguration configuration; + private StandardResourceConfiguration configuration; @Override public EntityResource createResource(ExtendedURL url, Map<String, Object> parameters) diff --git a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/StandardResourceConfiguration.java b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/StandardResourceConfiguration.java index b0b9315a47924e2da66f4cf8e4be3b9cf5bb819f..48c3f81a69f259aaa4903208fd4199f4b53a1eca 100644 --- a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/StandardResourceConfiguration.java +++ b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/StandardResourceConfiguration.java @@ -45,7 +45,7 @@ public interface StandardResourceConfiguration String getWikiPathPrefix(); /** - * @return the path prefix used for signifiying that a URL is pointing at a Model Entity (Document, Space, Object, + * @return the path prefix used for signifying that a URL is pointing at a Model Entity (Document, Space, Object, * etc): {@code http://server/xwiki/<prefix>/...}. * For example: {@code http://server/xwiki/bin/...}. */ diff --git a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/StandardResourceFactory.java b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/StandardResourceFactory.java index 7a6419bffae2eb7b3da5579c775574ee097c7997..f1c9534da352da586ba0f07bdb17c3d060b29a04 100644 --- a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/StandardResourceFactory.java +++ b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/main/java/org/xwiki/url/internal/standard/StandardResourceFactory.java @@ -20,11 +20,11 @@ package org.xwiki.url.internal.standard; import org.xwiki.component.annotation.Component; -import org.xwiki.url.URLCreationException; -import org.xwiki.url.UnsupportedURLException; -import org.xwiki.url.XWikiEntityURL; -import org.xwiki.url.XWikiURL; -import org.xwiki.url.XWikiURLFactory; +import org.xwiki.resource.EntityResource; +import org.xwiki.resource.Resource; +import org.xwiki.resource.ResourceCreationException; +import org.xwiki.resource.ResourceFactory; +import org.xwiki.resource.UnsupportedResourceException; import org.xwiki.url.internal.ExtendedURL; import java.net.URL; diff --git a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/DefaultStandardResourceConfigurationTest.java b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/DefaultStandardResourceConfigurationTest.java index ecfd286b72197d34c9d1be88add3d98538f12018..f6596abdce6330f98d19890e684860c06269eccb 100644 --- a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/DefaultStandardResourceConfigurationTest.java +++ b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/DefaultStandardResourceConfigurationTest.java @@ -27,16 +27,16 @@ import static org.mockito.Mockito.*; /** - * Unit tests for {@link DefaultStandardURLConfiguration}. + * Unit tests for {@link DefaultStandardResourceConfiguration}. * * @version $Id$ - * @since 5.2M1 + * @since 5.3M1 */ public class DefaultStandardResourceConfigurationTest { @Rule - public MockitoComponentMockingRule<DefaultStandardURLConfiguration> mocker = - new MockitoComponentMockingRule(DefaultStandardURLConfiguration.class); + public MockitoComponentMockingRule<DefaultStandardResourceConfiguration> mocker = + new MockitoComponentMockingRule(DefaultStandardResourceConfiguration.class); @Test public void isPathBasedMultiWiki() throws Exception diff --git a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/ExtendedURLEntityResourceFactoryTest.java b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/ExtendedURLEntityResourceFactoryTest.java index 1bd44c2a7de943e7fc93e5724bc2e7d0e6e268dc..cbae86765efd0620ee9a1e18e38378294aa36d2d 100644 --- a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/ExtendedURLEntityResourceFactoryTest.java +++ b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/ExtendedURLEntityResourceFactoryTest.java @@ -63,7 +63,7 @@ public void setUp() throws Exception when(wikiReferenceExtractor.extract(any(ExtendedURL.class))).thenReturn( new ImmutablePair<WikiReference, Boolean>(this.wikiReference, false)); - StandardURLConfiguration configuration = this.mocker.getInstance(StandardURLConfiguration.class); + StandardResourceConfiguration configuration = this.mocker.getInstance(StandardResourceConfiguration.class); when(configuration.getEntityPathPrefix()).thenReturn("entity"); } @@ -152,22 +152,22 @@ public void createResourceWhenURLHasParameters() throws Exception } @Test - public void createURLWhenUsingBinEvenThoughPathConfiguredAsEntity() throws Exception + public void createResourceWhenUsingBinEvenThoughPathConfiguredAsEntity() throws Exception { EntityReference fullReference = buildEntityReference("wiki", "space", "page"); - testCreateURL("http://localhost/bin/space/page", "view", fullReference, fullReference, + testCreateResource("http://localhost/bin/space/page", "view", fullReference, fullReference, EntityType.DOCUMENT); } @Test - public void createURLWhenInPathBasedSubWiki() throws Exception + public void createResourceWhenInPathBasedSubWiki() throws Exception { WikiReferenceExtractor wikiReferenceExtractor = this.mocker.getInstance(WikiReferenceExtractor.class); when(wikiReferenceExtractor.extract(any(ExtendedURL.class))).thenReturn( new ImmutablePair<WikiReference, Boolean>(new WikiReference("somewiki"), true)); EntityReference reference = buildEntityReference("somewiki", "space", "page"); - testCreateURL("http://localhost/wiki/somewiki/view/space/page", "view", + testCreateResource("http://localhost/wiki/somewiki/view/space/page", "view", reference, reference, EntityType.DOCUMENT); } diff --git a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/StandardXWikiURLFactoryTest.java b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/StandardXWikiURLFactoryTest.java index 65403f26863673a5a1b02ae365f310b9f912a0b3..d443a7affc2b8737ae615044a8ef82a5b1cc5ba0 100644 --- a/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/StandardXWikiURLFactoryTest.java +++ b/xwiki-platform-core/xwiki-platform-url/xwiki-platform-url-standard/src/test/java/org/xwiki/url/internal/standard/StandardXWikiURLFactoryTest.java @@ -63,18 +63,4 @@ public void createResourceWhenBinPathSegment() throws Exception this.mocker.getInstance(TYPE_ENTITY_EXTENDED_URL, "standard"); verify(factory).createResource(any(ExtendedURL.class), anyMap()); } - - @Test - public void createResourceWhenUnknownPathSegment() throws Exception - { - URL url = new URL("http://localhost:8080/xwiki/rest/whatever"); - Map<String, Object> parameters = Collections.singletonMap("ignorePrefix", (Object) "xwiki"); - - try { - this.mocker.getComponentUnderTest().createResource(url, parameters); - fail("Should have thrown an exception here"); - } catch (UnsupportedResourceException expected) { - assertEquals("URL type [rest] are not yet supported!", expected.getMessage()); - } - } } diff --git a/xwiki-platform-core/xwiki-platform-wiki/pom.xml b/xwiki-platform-core/xwiki-platform-wiki/pom.xml index 425310a437605e617b628ae5c38e67dfac503511..8b715e0518297c442bd621625ed18260ec2de082 100644 --- a/xwiki-platform-core/xwiki-platform-wiki/pom.xml +++ b/xwiki-platform-core/xwiki-platform-wiki/pom.xml @@ -27,7 +27,7 @@ <parent> <groupId>org.xwiki.platform</groupId> <artifactId>xwiki-platform-core</artifactId> - <version>5.1-SNAPSHOT</version> + <version>5.3-SNAPSHOT</version> </parent> <artifactId>xwiki-platform-wiki</artifactId> <name>XWiki Platform - Wiki - Parent POM</name> diff --git a/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/pom.xml b/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/pom.xml index 1faf527a0e4996e2144130d980db0df19995d4e7..1f13f25a40b371347d6d937f2ade79ba0ea80dbf 100644 --- a/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/pom.xml +++ b/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/pom.xml @@ -27,7 +27,7 @@ <parent> <groupId>org.xwiki.platform</groupId> <artifactId>xwiki-platform-wiki</artifactId> - <version>5.1-SNAPSHOT</version> + <version>5.3-SNAPSHOT</version> </parent> <artifactId>xwiki-platform-wiki-descriptor</artifactId> <name>XWiki Platform - Wiki - Wiki Descriptors - Parent POM</name> diff --git a/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/xwiki-platform-wiki-descriptor-api/pom.xml b/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/xwiki-platform-wiki-descriptor-api/pom.xml index 430cec887170c6599e6fab0ea987292c0a186bbd..710564998971b7fdee0df5f332c50c405b32da33 100644 --- a/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/xwiki-platform-wiki-descriptor-api/pom.xml +++ b/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/xwiki-platform-wiki-descriptor-api/pom.xml @@ -27,7 +27,7 @@ <parent> <groupId>org.xwiki.platform</groupId> <artifactId>xwiki-platform-wiki-descriptor</artifactId> - <version>5.1-SNAPSHOT</version> + <version>5.3-SNAPSHOT</version> </parent> <artifactId>xwiki-platform-wiki-descriptor-api</artifactId> <name>XWiki Platform - Wiki - Wiki Descriptors - API</name> diff --git a/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/xwiki-platform-wiki-descriptor-default/pom.xml b/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/xwiki-platform-wiki-descriptor-default/pom.xml index df9ebe93393c1b40913d2f3393af7f3240c1b6cd..0b7c093178888ba058b29f98a52b900f3337a8fb 100644 --- a/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/xwiki-platform-wiki-descriptor-default/pom.xml +++ b/xwiki-platform-core/xwiki-platform-wiki/xwiki-platform-wiki-descriptor/xwiki-platform-wiki-descriptor-default/pom.xml @@ -27,7 +27,7 @@ <parent> <groupId>org.xwiki.platform</groupId> <artifactId>xwiki-platform-wiki-descriptor</artifactId> - <version>5.1-SNAPSHOT</version> + <version>5.3-SNAPSHOT</version> </parent> <artifactId>xwiki-platform-wiki-descriptor-default</artifactId> <name>XWiki Platform - Wiki - Wiki Descriptors - Default Implementation</name>