/* * Copyright 2011 JBoss Inc * * Licensed 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.jbpm.formbuilder.client; import java.util.Iterator; import java.util.List; import com.google.gwt.core.client.GWT; import com.google.gwt.http.client.URL; public class URLBuilder { public static String getMenuItemsURL(String contextPath) { return getBaseUrl() + contextPath + "/menu/items/"; } public static String getMenuOptionsURL(String contextPath) { return getBaseUrl() + contextPath + "/menu/options/"; } public static String saveFormURL(String contextPath, String packageName) { return new StringBuilder(getBaseUrl()).append(contextPath).append("/form/definitions/package/").append(packageName).toString(); } public static String saveFormItemURL(String contextPath, String packageName, String formItemName) { return new StringBuilder(getBaseUrl()).append(contextPath).append("/form/items/package/"). append(packageName).append("/name/").append(encode(formItemName)).toString(); } public static String deleteFormURL(String contextPath, String packageName, String formName) { return new StringBuilder(getBaseUrl()).append(contextPath).append("/form/definitions/package/"). append(packageName).append("/id/").append(formName).toString(); } public static String deleteFormItemURL(String contextPath, String packageName, String formItemName) { return new StringBuilder(getBaseUrl()).append(contextPath).append("/formItems/package/"). append(packageName).append("/formItemName/").append(encode(formItemName)).toString(); } public static String generateFormURL(String contextPath, String language) { return new StringBuilder(getBaseUrl()).append(contextPath).append("/form/preview/lang/").append(language).toString(); } public static String getIoAssociationsURL(String contextPath, String packageName) { return getBaseUrl() + contextPath + "/io/package/" + packageName + "/"; } public static String getIoAssociationURL(String contextPath, String pkgName, String processName, String taskName) { return new StringBuilder(getBaseUrl()).append(contextPath).append("/io/package/").append(pkgName). append("/process/").append(encode(processName)).append("/task/").append(encode(taskName)).toString(); } public static String getValidationsURL(String contextPath) { return getBaseUrl() + contextPath + "/menu/validations/"; } public static String getFormURL(String contextPath, String packageName, String formName) { return new StringBuilder(getFormsURL(contextPath, packageName)).append("/id/").append(encode(formName)).toString(); } public static String getFormsURL(String contextPath, String packageName) { return new StringBuilder(getBaseUrl()).append(contextPath). append("/form/definitions/package/").append(packageName).toString(); } public static String getRepresentationMappingsURL(String contextPath) { return getBaseUrl() + contextPath + "/menu/mappings"; } public static String loadFormTemplateURL(String contextPath, String language) { return new StringBuilder(getBaseUrl()).append(contextPath). append("/form/template/lang/").append(encode(language)).toString(); } public static String uploadFileURL(String contextPath, String packageName) { return new StringBuilder(getBaseUrl()). append("uploadFile?packageName="). append(packageName).toString(); } public static String uploadActionURL() { return new StringBuilder(getBaseUrl()).append("uploadAction").toString(); } private static String encode(String string) { return URL.encodePathSegment(string); } private static String getBaseUrl() { return GWT.getModuleBaseURL().replace("/" + GWT.getModuleName(), ""); } public static String getCurrentRolesURL(String contextPath) { return new StringBuilder(getBaseUrl()).append(contextPath). append("/user/current/roles").toString(); } public static String getLogoutURL(String contextPath) { return new StringBuilder(getBaseUrl()).append(contextPath). append("/user/current/logout").toString(); } public static String deleteFileURL(String contextPath, String packageName, String url) { return new StringBuilder(getBaseUrl()).append(contextPath).append("/files/package/"). append(encode(packageName)).append(url).toString(); } public static String getFilesURL(String contextPath, String packageName, List<String> types) { StringBuilder params = new StringBuilder(); if (types != null) { for (Iterator<String> iter = types.iterator(); iter.hasNext();) { params.append("type=").append(iter.next()); if (iter.hasNext()) { params.append("&"); } } } return new StringBuilder(getBaseUrl()).append(contextPath). append("/files/package/").append(encode(packageName)).append("?"). append(params.toString()).toString(); } }