Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Don't build resource URIs in ZanataProxyFactory if @path annotation w…
Browse files Browse the repository at this point in the history
…orks
  • Loading branch information
seanf committed Nov 12, 2013
1 parent 880c69a commit a89f319
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 75 deletions.
Expand Up @@ -20,7 +20,6 @@
*/
package org.zanata.client.commands.glossary.delete;

import java.net.URI;

import org.apache.commons.lang.StringUtils;
import org.jboss.resteasy.client.ClientResponse;
Expand All @@ -44,20 +43,16 @@ public class GlossaryDeleteCommand extends
.getLogger(GlossaryDeleteCommand.class);

private final IGlossaryResource glossaryResource;
private final URI uri;

public GlossaryDeleteCommand(GlossaryDeleteOptions opts,
ZanataProxyFactory factory, IGlossaryResource glossaryResource,
URI uri) {
ZanataProxyFactory factory, IGlossaryResource glossaryResource) {
super(opts, factory);
this.glossaryResource = glossaryResource;
this.uri = uri;
}

private GlossaryDeleteCommand(GlossaryDeleteOptions opts,
ZanataProxyFactory factory) {
this(opts, factory, factory.getGlossaryResource(), factory
.getGlossaryResourceURI());
this(opts, factory, factory.getGlossaryResource());
}

public GlossaryDeleteCommand(GlossaryDeleteOptions opts) {
Expand All @@ -82,6 +77,6 @@ public void run() throws Exception {
} else {
throw new RuntimeException("Option 'zanata.lang' is required.");
}
ClientUtility.checkResult(response, uri);
ClientUtility.checkResult(response);
}
}
Expand Up @@ -25,14 +25,10 @@
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URI;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;

import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
import org.jboss.resteasy.client.ClientResponse;
Expand Down Expand Up @@ -63,20 +59,16 @@ public class GlossaryPushCommand extends
private static final Map<String, AbstractGlossaryPushReader> glossaryReaders =
new HashMap<String, AbstractGlossaryPushReader>();
private final IGlossaryResource glossaryResource;
private final URI uri;

public GlossaryPushCommand(GlossaryPushOptions opts,
ZanataProxyFactory factory, IGlossaryResource glossaryResource,
URI uri) {
ZanataProxyFactory factory, IGlossaryResource glossaryResource) {
super(opts, factory);
this.glossaryResource = glossaryResource;
this.uri = uri;
}

private GlossaryPushCommand(GlossaryPushOptions opts,
ZanataProxyFactory factory) {
this(opts, factory, factory.getGlossaryResource(), factory
.getGlossaryResourceURI());
this(opts, factory, factory.getGlossaryResource());
}

public GlossaryPushCommand(GlossaryPushOptions opts) {
Expand Down Expand Up @@ -171,7 +163,7 @@ public void run() throws Exception {
for (Glossary glossary : glossaries) {
log.debug(glossary.toString());
ClientResponse<String> response = glossaryResource.put(glossary);
ClientUtility.checkResult(response, uri);
ClientUtility.checkResult(response);
response.releaseConnection();
totalDone = totalDone + glossary.getGlossaryEntries().size();
log.info("Pushed " + totalDone + " of " + totalEntries + " entries");
Expand Down
Expand Up @@ -24,6 +24,8 @@
import org.zanata.client.config.LocaleMapping;
import org.zanata.common.LocaleId;
import org.zanata.rest.StringSet;
import org.zanata.rest.client.IAsynchronousProcessResource;
import org.zanata.rest.client.ICopyTransResource;
import org.zanata.rest.client.ISourceDocResource;
import org.zanata.rest.client.ITranslatedDocResource;
import org.zanata.rest.client.ZanataProxyFactory;
Expand All @@ -33,8 +35,6 @@
import org.zanata.rest.dto.resource.ResourceMeta;
import org.zanata.rest.dto.resource.TextFlowTarget;
import org.zanata.rest.dto.resource.TranslationsResource;
import org.zanata.rest.service.AsynchronousProcessResource;
import org.zanata.rest.service.CopyTransResource;

public class PushCommandTest {
@Mock
Expand All @@ -44,9 +44,9 @@ public class PushCommandTest {
@Mock
ITranslatedDocResource mockTranslationResources;
@Mock
CopyTransResource mockCopyTransResource;
ICopyTransResource mockCopyTransResource;
@Mock
AsynchronousProcessResource mockAsynchronousProcessResource;
IAsynchronousProcessResource mockAsynchronousProcessResource;

public PushCommandTest() throws Exception {
initMocks(this);
Expand Down
Expand Up @@ -9,6 +9,10 @@
import org.jboss.resteasy.client.core.BaseClientResponse;

public class ClientUtility {
public static void checkResult(ClientResponse<?> response) {
checkResult(response, null);
}

public static void checkResult(ClientResponse<?> response, URI uri) {
if (response.getStatus() >= 399) {
String annotString = "";
Expand Down
Expand Up @@ -7,6 +7,7 @@
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
Expand All @@ -28,9 +29,6 @@
import org.slf4j.LoggerFactory;
import org.zanata.rest.RestConstant;
import org.zanata.rest.dto.VersionInfo;
import org.zanata.rest.service.AsynchronousProcessResource;
import org.zanata.rest.service.CopyTransResource;
import org.zanata.rest.service.StatisticsResource;

public class ZanataProxyFactory implements ITranslationResourcesFactory {
private String clientVersion;
Expand Down Expand Up @@ -139,6 +137,14 @@ private URL getBaseUrl() {
}
}

private URI getBaseUri() {
try {
return getBaseUrl().toURI();
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
}

protected String getUrlPrefix() {
return "rest/";
}
Expand All @@ -161,11 +167,7 @@ public <T> T createProxy(Class<T> clazz, URI baseUri) {
* @see {@link ZanataProxyFactory#createProxy(Class, java.net.URI)}
*/
public <T> T createProxy(Class<T> clazz) {
try {
return createProxy(clazz, new URI(getBaseUrl().toString()));
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
return createProxy(clazz, getBaseUri());
}

private static URI fixBase(URI base) {
Expand All @@ -186,18 +188,7 @@ private static URI fixBase(URI base) {
}

public IGlossaryResource getGlossaryResource() {
return createProxy(IGlossaryResource.class, getGlossaryResourceURI());
}

public URI getGlossaryResourceURI() {
try {
URL url = new URL(getBaseUrl(), "glossary");
return url.toURI();
} catch (MalformedURLException e) {
throw new RuntimeException(e);
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
return createProxy(IGlossaryResource.class);
}

public IAccountResource getAccount(String username) {
Expand Down Expand Up @@ -250,8 +241,8 @@ public URI getProjectIterationURI(String proj, String iter) {
}

// NB IProjectsResource is not currently used in Java
public IProjectsResource getProjects(final URI uri) {
return createProxy(IProjectsResource.class, uri);
public IProjectsResource getProjectsResource() {
return createProxy(IProjectsResource.class);
}

@Override
Expand All @@ -268,33 +259,19 @@ public ISourceDocResource getSourceDocResource(String projectSlug,
}

public IFileResource getFileResource() {
return createProxy(IFileResource.class, getFileURI());
return createProxy(IFileResource.class);
}

private URI getFileURI() {
String spec = "file/";
try {
return new URL(getBaseUrl(), spec).toURI();
} catch (MalformedURLException e) {
throw new RuntimeException(e);
} catch (URISyntaxException e) {
log.error("URI Syntax error. Part of url: {}", spec);
throw new RuntimeException(e);
}
public IStatisticsResource getStatisticsResource() {
return createProxy(IStatisticsResource.class);
}

public StatisticsResource getStatisticsResource() {
// NB: No specific client interface (not needed)
return createProxy(StatisticsResource.class);
public ICopyTransResource getCopyTransResource() {
return createProxy(ICopyTransResource.class);
}

public CopyTransResource getCopyTransResource() {
// NB: No specific client interface (not needed)
return createProxy(CopyTransResource.class);
}

public AsynchronousProcessResource getAsynchronousProcessResource() {
return createProxy(AsynchronousProcessResource.class);
public IAsynchronousProcessResource getAsynchronousProcessResource() {
return createProxy(IAsynchronousProcessResource.class);
}

@Override
Expand Down Expand Up @@ -324,15 +301,7 @@ public void registerPrefixInterceptor(Object interceptor) {
}

protected IVersionResource createIVersionResource() {
URL url;
try {
url = new URL(getBaseUrl(), "version");
return createProxy(IVersionResource.class, url.toURI());
} catch (MalformedURLException e) {
throw new RuntimeException(e);
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
return createProxy(IVersionResource.class, getBaseUri());
}

/**
Expand Down

0 comments on commit a89f319

Please sign in to comment.