當前位置: 首頁>>代碼示例>>Java>>正文


Java UriBuilder.path方法代碼示例

本文整理匯總了Java中javax.ws.rs.core.UriBuilder.path方法的典型用法代碼示例。如果您正苦於以下問題:Java UriBuilder.path方法的具體用法?Java UriBuilder.path怎麽用?Java UriBuilder.path使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.ws.rs.core.UriBuilder的用法示例。


在下文中一共展示了UriBuilder.path方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: save

import javax.ws.rs.core.UriBuilder; //導入方法依賴的package包/類
@Consumes(MediaType.APPLICATION_JSON)
@Path("/{projectName}/statuses/{commit}")
   @POST
   public Response save(@PathParam("projectName") String projectName, @PathParam("commit") String commit, 
   		Map<String, String> commitStatus, @Context UriInfo uriInfo) {

	Project project = getProject(projectName);
   	if (!SecurityUtils.canWrite(project))
   		throw new UnauthorizedException();
   	
   	String state = commitStatus.get("state").toUpperCase();
   	if (state.equals("PENDING"))
   		state = "RUNNING";
   	Verification verification = new Verification(Verification.Status.valueOf(state), 
   			new Date(), commitStatus.get("description"), commitStatus.get("target_url"));
   	String context = commitStatus.get("context");
   	if (context == null)
   		context = "default";
   	verificationManager.saveVerification(project, commit, context, verification);
   	UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder();
   	uriBuilder.path(context);
   	commitStatus.put("id", "1");
   	
   	return Response.created(uriBuilder.build()).entity(commitStatus).type(RestConstants.JSON_UTF8).build();
   }
 
開發者ID:jmfgdev,項目名稱:gitplex-mit,代碼行數:26,代碼來源:CommitStatusResource.java

示例2: findURI

import javax.ws.rs.core.UriBuilder; //導入方法依賴的package包/類
private static URI findURI(MethodFinder method, Object... params) {
	Method m = method.method();
	
	UriInfo uriInfo = ResteasyProviderFactory.getContextData(UriInfo.class);
	
	UriBuilder builder = uriInfo.getBaseUriBuilder().path(m.getDeclaringClass());
	if(m.isAnnotationPresent(Path.class))
		builder.path(m);
	return builder.build(params);
}
 
開發者ID:FroMage,項目名稱:redpipe,代碼行數:11,代碼來源:Router.java

示例3: exec

import javax.ws.rs.core.UriBuilder; //導入方法依賴的package包/類
@Override
public Object exec(List arguments) throws TemplateModelException {
	if(arguments == null || arguments.size() < 1)
		throw new TemplateModelException("Syntax: route('Class.method', arg1, arg2…)");
	Object arg0 = arguments.get(0);
	if(arg0 instanceof SimpleScalar != true)
		throw new TemplateModelException("Syntax: route('Class.method', arg1, arg2…)");
	String arg1 = ((SimpleScalar)arg0).getAsString();
	int dot = arg1.indexOf('.');
	if(dot == -1)
		throw new TemplateModelException("Syntax: route('Class.method', arg1, arg2…)");
	String klass = arg1.substring(0, dot);
	String method = arg1.substring(dot+1);
	
	for (Class resource : AppGlobals.get().getDeployment().getActualResourceClasses()) {
		dot = resource.getName().lastIndexOf('.');
		String shortName = dot == -1 ? resource.getName() : resource.getName().substring(dot+1);
		if(shortName.equals(klass)) {
			for (Method m : resource.getMethods()) {
				// FIXME: overloading?
				if(m.getName().equals(method)
						&& Modifier.isPublic(m.getModifiers())) {
					UriInfo uriInfo = ResteasyProviderFactory.getContextData(UriInfo.class);
					UriBuilder builder = uriInfo.getBaseUriBuilder().path(resource);
					if(m.isAnnotationPresent(Path.class))
						builder.path(m);
					Object[] params = arguments.subList(1, arguments.size()).toArray();
					return builder.build(params).toString();
				}
			}
			throw new TemplateModelException("Could not find method named "+method+" in resource class "+resource.getName());
		}
	}
	throw new TemplateModelException("Could not find resource class named "+klass);
}
 
開發者ID:FroMage,項目名稱:redpipe,代碼行數:36,代碼來源:RouterFunction.java

示例4: getMethodUriBuilder

import javax.ws.rs.core.UriBuilder; //導入方法依賴的package包/類
@Override
public UriBuilder getMethodUriBuilder(Class<?> resource, String method)
{
	try
	{
		UriBuilder builder = UriBuilder.fromUri(institutionService.getInstitutionUrl().toURI());
		builder.path("api");
		return builder.path(resource).path(resource, method);
	}
	catch( URISyntaxException e )
	{
		throw new RuntimeException(e);
	}
}
 
開發者ID:equella,項目名稱:Equella,代碼行數:15,代碼來源:UrlLinkServiceImpl.java

示例5: getPageUrl

import javax.ws.rs.core.UriBuilder; //導入方法依賴的package包/類
/**
 * Get the URL defined by the specified {@link PageUrl} annotation.
 * <p>
 * <b>NOTES</b>: <ul>
 *     <li>If the {@code pageUrl} argument is {@code null} or the {@code value} element of the specified
 *         {@link PageUrl} annotation is unspecified, this method returns {@code null}.
 *     <li>If {@code scheme} of the specified {@code pageUrl} argument is unspecified or set to {@code http/https},
 *         the specified {@code targetUri} is overlaid by the elements of the {@link PageUrl} annotation to
 *         produce the fully-qualified <b>HTTP</b> target page URL.</li>
 *     <li>For <b>HTTP</b> URLs that require query parameters, these parameters must be included in the
 *         {@code value} element of the specified {@link PageUrl} annotation. The {@code params} element of the
 *         annotation is only used for pattern-based landing page verification.</li>
 *     <li>If {@code scheme} of the specified {@code pageUrl} is set to {@code file}, the value of the
 *         {@code targetUri} argument is ignored. The only element of the {@link PageUrl} annotation that
 *         is used to produce the fully-qualified <b>FILE</b> target page URL is {@code value}. The value of the
 *         {@code value} element specifies the relative path of a file within your project's resources, which is
 *         resolved via {@link ClassLoader#getResource}.</li>
 * </ul>
 * 
 * @param pageUrl page URL annotation
 * @param targetUri target URI
 * @return defined page URL as a string (may be 'null')
 */
public static String getPageUrl(PageUrl pageUrl, URI targetUri) {
    if (pageUrl == null || PLACEHOLDER.equals(pageUrl.value())) {
        return null;
    }
    
    String result = null;
    String scheme = pageUrl.scheme();
    String path = pageUrl.value();
    
    if ("file".equals(scheme)) {
        result = Thread.currentThread().getContextClassLoader().getResource(path).toString();
    } else {
        String userInfo = pageUrl.userInfo();
        String host = pageUrl.host();
        String port = pageUrl.port();
        
        UriBuilder builder = UriBuilder.fromUri(targetUri);
        
        if (!PLACEHOLDER.equals(scheme)) {
            builder.scheme(scheme.isEmpty() ? null : scheme);
        }
        
        if (!path.isEmpty()) {
            builder.path(path);
        }
        
        if (!PLACEHOLDER.equals(userInfo)) {
            builder.userInfo(userInfo.isEmpty() ? null : userInfo);
        }
        
        if (!PLACEHOLDER.equals(host)) {
            builder.host(host.isEmpty() ? null : host);
        }
        
        if (!PLACEHOLDER.equals(port)) {
            builder.port(port.isEmpty() ? -1 : Integer.parseInt(port));
        }
        
        result = builder.build().toString();
    }
    
    return result;
}
 
開發者ID:Nordstrom,項目名稱:Selenium-Foundation,代碼行數:67,代碼來源:ComponentContainer.java


注:本文中的javax.ws.rs.core.UriBuilder.path方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。