diff --git a/Dockerfile b/Dockerfile index f60b0bb23..24d7673c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,8 +30,6 @@ RUN git clone https://github.com/jenkinsci/plugin-compat-tester &&\ COPY plugins-compat-tester/ /pct/src/plugins-compat-tester/ COPY plugins-compat-tester-cli/ /pct/src/plugins-compat-tester-cli/ -COPY plugins-compat-tester-gae/ /pct/src/plugins-compat-tester-gae/ -COPY plugins-compat-tester-gae-client/ /pct/src/plugins-compat-tester-gae-client/ COPY plugins-compat-tester-model/ /pct/src/plugins-compat-tester-model/ COPY *.xml /pct/src/ COPY LICENSE.txt /pct/src/LICENSE.txt diff --git a/plugins-compat-tester-cli/src/main/java/org/jenkins/tools/test/CliOptions.java b/plugins-compat-tester-cli/src/main/java/org/jenkins/tools/test/CliOptions.java index 69d645b83..10e44b573 100644 --- a/plugins-compat-tester-cli/src/main/java/org/jenkins/tools/test/CliOptions.java +++ b/plugins-compat-tester-cli/src/main/java/org/jenkins/tools/test/CliOptions.java @@ -119,11 +119,6 @@ public class CliOptions { "These options will be used a la -D") private String mavenPropertiesFile; - @Parameter(names="-gaeSecurityToken", description = "Allows to pass GAE Security token needed to write data") - private String gaeSecurityToken; - @Parameter(names="-gaeBaseUrl", description = "Allows to pass GAE plugin compat tester base url") - private String gaeBaseUrl; - @Parameter(names="-hookPrefixes", description = "Prefixes of the extra hooks' classes") private String hookPrefixes; @@ -198,14 +193,6 @@ public String getCacheThresholdStatus() { return cacheThresholdStatus; } - public String getGaeSecurityToken() { - return gaeSecurityToken; - } - - public String getGaeBaseUrl() { - return gaeBaseUrl; - } - public String getHookPrefixes() { return hookPrefixes; } diff --git a/plugins-compat-tester-cli/src/main/java/org/jenkins/tools/test/PluginCompatTesterCli.java b/plugins-compat-tester-cli/src/main/java/org/jenkins/tools/test/PluginCompatTesterCli.java index e7ad8ce9f..3152c0b92 100644 --- a/plugins-compat-tester-cli/src/main/java/org/jenkins/tools/test/PluginCompatTesterCli.java +++ b/plugins-compat-tester-cli/src/main/java/org/jenkins/tools/test/PluginCompatTesterCli.java @@ -114,12 +114,6 @@ public static void main(String[] args) throws IOException, PlexusContainerExcept if(options.getCacheThresholdStatus() != null){ config.setCacheThresholStatus(TestStatus.valueOf(options.getCacheThresholdStatus())); } - if(options.getGaeBaseUrl() != null){ - config.setGaeBaseUrl(options.getGaeBaseUrl()); - } - if(options.getGaeSecurityToken() != null){ - config.setGaeSecurityToken(options.getGaeSecurityToken()); - } if(options.getHookPrefixes() != null && !options.getHookPrefixes().isEmpty()){ config.setHookPrefixes(Arrays.asList(options.getHookPrefixes().split(","))); } diff --git a/plugins-compat-tester-gae-client/pom.xml b/plugins-compat-tester-gae-client/pom.xml deleted file mode 100644 index aae5f0262..000000000 --- a/plugins-compat-tester-gae-client/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ - - 4.0.0 - - - org.jenkins-ci.tests - plugins-compat-tester-aggregator - 0.2.1-SNAPSHOT - - - plugins-compat-tester-gae-client - 0.2.1-SNAPSHOT - jar - Plugins compatibility tester for Google App Engine client side API - Jenkins Plugin Compatibility Tester (PCT) against latest released version - GAE app client - - - - - org.jenkins-ci.tests - plugins-compat-tester-model - 0.2.1-SNAPSHOT - - - org.apache.httpcomponents - httpclient - 4.5.3 - - - com.google.guava - guava - - - - junit - junit - test - - - org.powermock - powermock-module-junit4 - test - - - org.powermock - powermock-api-mockito - test - - - \ No newline at end of file diff --git a/plugins-compat-tester-gae-client/src/main/java/org/jenkins/tools/test/DataImporter.java b/plugins-compat-tester-gae-client/src/main/java/org/jenkins/tools/test/DataImporter.java deleted file mode 100644 index ebac5d444..000000000 --- a/plugins-compat-tester-gae-client/src/main/java/org/jenkins/tools/test/DataImporter.java +++ /dev/null @@ -1,126 +0,0 @@ -package org.jenkins.tools.test; - -import org.apache.http.HttpResponse; -import org.apache.http.NameValuePair; -import org.apache.http.client.HttpClient; -import org.apache.http.client.entity.UrlEncodedFormEntity; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.message.BasicNameValuePair; -import org.apache.http.protocol.HTTP; -import org.jenkins.tools.test.model.PluginCompatReport; -import org.jenkins.tools.test.model.PluginCompatResult; -import org.jenkins.tools.test.model.PluginInfos; -import org.jenkins.tools.test.model.utils.IOUtils; - -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * @author fcamblor - */ -public class DataImporter { - public static void main(String[] args) throws IOException { - File reportFile = new File(args[0]); - Long startingOffset = args.length>3?Long.valueOf(args[3]):Long.valueOf(0); - String startingBuildLog = args.length>4?args[4]:null; - new DataImporter(args[1], args[2], startingBuildLog).importExistingReport(reportFile, startingOffset); - } - - private static final Pattern ID_EXTRACTOR = Pattern.compile("id=(.+)"); - - private String baseGAEUrl; - private String securityToken; - private String startingBuildLog; - public DataImporter(String baseGAEUrl, String securityToken, String startingBuildLog){ - this.baseGAEUrl = baseGAEUrl; - this.securityToken = securityToken; - this.startingBuildLog = startingBuildLog; - } - public DataImporter(String baseGAEUrl, String securityToken){ - this(baseGAEUrl, securityToken, null); - } - - public String importPluginCompatResult(PluginCompatResult pluginCompatResult, PluginInfos pluginInfos, File logsBaseDir) throws IOException { - HttpClient httpClient = new DefaultHttpClient(); - String url = baseGAEUrl+"/writePctResult"; - - HttpPost method = new HttpPost(url); - List nvps = new ArrayList<>(); - nvps.add(new BasicNameValuePair("token", securityToken)); - nvps.add(new BasicNameValuePair("pluginName", pluginInfos.pluginName)); - nvps.add(new BasicNameValuePair("pluginVersion", pluginInfos.pluginVersion)); - nvps.add(new BasicNameValuePair("pluginUrl", pluginInfos.pluginUrl)); - nvps.add(new BasicNameValuePair("mavenGAV", pluginCompatResult.coreCoordinates.toGAV())); - nvps.add(new BasicNameValuePair("status", pluginCompatResult.status.name())); - if(pluginCompatResult.compatTestExecutedOn != null){ - nvps.add(new BasicNameValuePair("timestamp", String.valueOf(pluginCompatResult.compatTestExecutedOn.getTime()))); - } - if(pluginCompatResult.errorMessage != null){ - nvps.add(new BasicNameValuePair("errMsg", pluginCompatResult.errorMessage)); - } - if(pluginCompatResult.warningMessages != null){ - for(String warnMsg : pluginCompatResult.warningMessages){ - nvps.add(new BasicNameValuePair("warnMsgs", warnMsg)); - } - } - if(pluginCompatResult.getBuildLogPath() != null && !"".equals(pluginCompatResult.getBuildLogPath())){ - String logContent = new String(Files.readAllBytes(Paths.get(logsBaseDir.getAbsolutePath() + File.separator + pluginCompatResult.getBuildLogPath())), StandardCharsets.UTF_8); - logContent = logContent.trim(); - // Only uploading non empty files - if(!"".equals(logContent)){ - nvps.add(new BasicNameValuePair("buildLogPath", pluginCompatResult.getBuildLogPath())); - String compressedLogContent = IOUtils.gzipString(logContent); - nvps.add(new BasicNameValuePair("logContent", compressedLogContent)); - } - } - - method.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); - - HttpResponse res = httpClient.execute(method); - String responseBody = IOUtils.streamToString(res.getEntity().getContent()); - if(res.getStatusLine().getStatusCode() != 200){ - throw new IllegalStateException("Error while importing data : "+responseBody+" ("+res.getStatusLine().getStatusCode()+")"); - } - - Matcher responseMatcher = ID_EXTRACTOR.matcher(responseBody); - String key = null; - if(responseMatcher.matches()){ - key = responseMatcher.group(1); - } - return key; - } - - public void importExistingReport(File reportFile, Long startingOffset) throws IOException { - PluginCompatReport report = PluginCompatReport.fromXml(reportFile); - - int plannedRequestsCount = 0; - for (Map.Entry> test : report.getPluginCompatTests().entrySet()){ - plannedRequestsCount += test.getValue().size(); - } - - long i = 0; - boolean startingBuildLogConstraintVerified = startingBuildLog==null; - for (Map.Entry> test : report.getPluginCompatTests().entrySet()){ - for (PluginCompatResult pluginCompatResult : test.getValue()) { - if (i >= startingOffset) { - if(startingBuildLog != null && startingBuildLog.equals(pluginCompatResult.getBuildLogPath())){ - startingBuildLogConstraintVerified = true; - } - if(startingBuildLogConstraintVerified){ - importPluginCompatResult(pluginCompatResult, test.getKey(), reportFile.getParentFile()); - System.out.println(String.format("Executed request %d / %d", i, plannedRequestsCount)); - } - } - i++; - } - } - } -} diff --git a/plugins-compat-tester-gae/pom.xml b/plugins-compat-tester-gae/pom.xml deleted file mode 100644 index 87a035e54..000000000 --- a/plugins-compat-tester-gae/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - 4.0.0 - - - org.jenkins-ci.tests - plugins-compat-tester-aggregator - 0.2.1-SNAPSHOT - - - plugins-compat-tester-gae - 0.2.1-SNAPSHOT - war - Plugins compatibility tester for Google App Engine - Jenkins Plugin Compatibility Tester (PCT) against latest released version - GAE app - - - - - com.google.appengine - appengine-api-1.0-sdk - 1.9.73 - - - javax.servlet - javax.servlet-api - - - - org.jenkins-ci.tests - plugins-compat-tester-model - 0.2.1-SNAPSHOT - - - - junit - junit - test - - - org.powermock - powermock-module-junit4 - test - - - org.powermock - powermock-api-mockito - test - - - \ No newline at end of file diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/DAOUtils.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/DAOUtils.java deleted file mode 100644 index 1fa9c041c..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/DAOUtils.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.jenkins.tools.test.dao; - -import com.google.appengine.api.datastore.*; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author fcamblor - */ -public class DAOUtils { - public static List translateToKeyList(List entities){ - List keys = new ArrayList<>(entities.size()); - for(Entity e : entities){ - keys.add(e.getKey()); - } - return keys; - } - - public static long purgeEntities(String kind){ - DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService(); - - long deletedLines = 0; - List entityKeys = translateToKeyList(datastoreService.prepare(new Query(kind)).asList(FetchOptions.Builder.withLimit(10000))); - datastoreService.delete(entityKeys); - deletedLines += entityKeys.size(); - - return deletedLines; - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/LogsDAO.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/LogsDAO.java deleted file mode 100644 index cedd36598..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/LogsDAO.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.jenkins.tools.test.dao; - -import com.google.appengine.api.datastore.*; - -import java.util.logging.Logger; - -/** - * @author fcamblor - */ -public enum LogsDAO { - INSTANCE; - - private static final Logger log = Logger.getLogger(LogsDAO.class.getName()); - - public Key persistBuildLog(String buildLogPath, String logContent, Key pluginCompatResult){ - Entity logToPersist = Mappings.toEntity(buildLogPath, logContent, pluginCompatResult); - - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - Key resultKey = datastore.put(logToPersist); - - log.info("Log stored with key : "+resultKey); - - return resultKey; - } - - public String getLogContent(String buildPath){ - return getLogContentBasedOnCriteria(Mappings.LogProperties.buildLogPath.name(), buildPath); - } - - public String getLogContent(Key key){ - return getLogContentBasedOnCriteria(Mappings.LogProperties.resultKey.name(), key); - } - - private String getLogContentBasedOnCriteria(String property, Object value){ - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - Query searchLogQuery = new Query(Mappings.LogProperties.KIND) - .addFilter(property, Query.FilterOperator.EQUAL, value); - Entity log = datastore.prepare(searchLogQuery).asSingleEntity(); - return Mappings.logContentFromEntity(log); - } - - public long purgeResults() { - DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService(); - - long deletedLines = 0; - - deletedLines += DAOUtils.purgeEntities(Mappings.LogProperties.KIND); - - return deletedLines; - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/Mappings.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/Mappings.java deleted file mode 100644 index 4350bb83d..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/Mappings.java +++ /dev/null @@ -1,178 +0,0 @@ -package org.jenkins.tools.test.dao; - -import com.google.appengine.api.datastore.Entity; -import com.google.appengine.api.datastore.Key; -import com.google.appengine.api.datastore.Text; -import org.jenkins.tools.test.model.*; -import org.jenkins.tools.test.model.utils.IOUtils; - -import java.io.IOException; -import java.io.UncheckedIOException; -import java.util.*; - -/** - * @author fcamblor - */ -public class Mappings { - public enum PluginCompatResultProperties { - compatTestExecutedOn, status, errorMessage, warningMessages, buildLogPath, - coreCoordsKey, pluginInfosKey, computedCoreAndPlugin; - public static final String KIND = "pluginCompatResult"; - } - public enum PluginInfosProperties { - pluginName, pluginVersion, pluginUrl; - public static final String KIND = "pluginInfos"; - } - public enum MavenCoordinatesProperties { - gav, groupId, artifactId, version - } - public static final String CORE_MAVEN_COORDS_KIND = "coreCoordinates"; - public enum LogProperties { - resultKey, buildLogPath, logContent; - public static final String KIND = "logs"; - } - - public static Entity toEntity(PluginCompatResult result, MavenCoordinates coreCoordinates, Key coreCoordinatesEntityKey, - PluginInfos pluginInfos, Key pluginInfosEntityKey){ - Entity resultEntity = new Entity(PluginCompatResultProperties.KIND); - resultEntity.setProperty(PluginCompatResultProperties.coreCoordsKey.name(), coreCoordinatesEntityKey); - resultEntity.setProperty(PluginCompatResultProperties.pluginInfosKey.name(), pluginInfosEntityKey); - resultEntity.setProperty(PluginCompatResultProperties.computedCoreAndPlugin.name(), computeCoreAndPlugin(coreCoordinates, pluginInfos)); - resultEntity.setProperty(PluginCompatResultProperties.status.name(), result.status.toString()); - resultEntity.setProperty(PluginCompatResultProperties.compatTestExecutedOn.name(), result.compatTestExecutedOn); - if(result.errorMessage == null){ - resultEntity.setProperty(PluginCompatResultProperties.errorMessage.name(), null); - }else{ - resultEntity.setProperty(PluginCompatResultProperties.errorMessage.name(), new Text(result.errorMessage)); - } - if(result.getBuildLogPath() == null){ - resultEntity.setProperty(PluginCompatResultProperties.buildLogPath.name(), null); - }else{ - resultEntity.setProperty(PluginCompatResultProperties.buildLogPath.name(), result.getBuildLogPath()); - } - - // Transforming warning messages into text - List textWarnMsg = null; - if(result.warningMessages != null){ - textWarnMsg = new ArrayList<>(); - for(String warnMsg : result.warningMessages){ - if(warnMsg == null){ - textWarnMsg.add(null); - }else{ - textWarnMsg.add(new Text(warnMsg)); - } - } - } - resultEntity.setProperty(PluginCompatResultProperties.warningMessages.name(), textWarnMsg); - return resultEntity; - } - - public static PluginCompatResult pluginCompatResultFromEntity(Entity entity, Map cores) { - - MavenCoordinates coreCoords = cores.get(entity.getProperty(PluginCompatResultProperties.coreCoordsKey.name())); - TestStatus status = TestStatus.valueOf((String)entity.getProperty(PluginCompatResultProperties.status.name())); - Date compatTestExecutedOn = (Date)entity.getProperty(PluginCompatResultProperties.compatTestExecutedOn.name()); - String buildLogPathStr = (String)entity.getProperty(PluginCompatResultProperties.buildLogPath.name()); - Text errMsg = (Text)entity.getProperty(PluginCompatResultProperties.errorMessage.name()); - String errMsgStr = null; - if(errMsg != null){ - errMsgStr = errMsg.getValue(); - } - List warnMsgs = (List)entity.getProperty(PluginCompatResultProperties.warningMessages.name()); - // Transforming warning messages from text - List strWarnMsg = null; - if(warnMsgs != null){ - strWarnMsg = new ArrayList<>(); - for(Text warnMsg : warnMsgs){ - if(warnMsg == null){ - strWarnMsg.add(null); - }else{ - strWarnMsg.add(warnMsg.getValue()); - } - } - } - - return new PluginCompatResult(coreCoords, status, errMsgStr, strWarnMsg, buildLogPathStr, compatTestExecutedOn); - } - - public static String computeCoreAndPlugin(MavenCoordinates coreCoords, PluginInfos pluginInfos){ - return pluginInfos.pluginName+"_"+coreCoords.toGAV(); - } - - public static Entity toEntity(PluginInfos pluginInfos){ - Entity pluginInfoEntity = new Entity(PluginInfosProperties.KIND); - pluginInfoEntity.setProperty(PluginInfosProperties.pluginName.name(), pluginInfos.pluginName); - pluginInfoEntity.setProperty(PluginInfosProperties.pluginVersion.name(), pluginInfos.pluginVersion); - pluginInfoEntity.setProperty(PluginInfosProperties.pluginUrl.name(), pluginInfos.pluginUrl); - return pluginInfoEntity; - } - - public static PluginInfos pluginInfosFromEntity(Entity entity){ - return new PluginInfos( - (String)entity.getProperty(PluginInfosProperties.pluginName.name()), - (String)entity.getProperty(PluginInfosProperties.pluginVersion.name()), - (String)entity.getProperty(PluginInfosProperties.pluginUrl.name())); - } - - public static Map pluginInfosFromEntity(List entities){ - Map pluginInfos = new HashMap<>(entities.size()); - for(Entity e : entities){ - pluginInfos.put(e.getKey(), pluginInfosFromEntity(e)); - } - return pluginInfos; - } - - public static Entity toEntity(MavenCoordinates coords, String kind){ - Entity coordsEntity = new Entity(kind); - coordsEntity.setProperty(MavenCoordinatesProperties.gav.name(), coords.toGAV()); - coordsEntity.setProperty(MavenCoordinatesProperties.groupId.name(), coords.groupId); - coordsEntity.setProperty(MavenCoordinatesProperties.artifactId.name(), coords.artifactId); - coordsEntity.setProperty(MavenCoordinatesProperties.version.name(), coords.version); - return coordsEntity; - } - - public static MavenCoordinates mavenCoordsFromEntity(Entity entity){ - return MavenCoordinates.fromGAV((String) entity.getProperty(MavenCoordinatesProperties.gav.name())); - } - - public static Map mavenCoordsFromEntity(List entities){ - Map coords = new HashMap<>(entities.size()); - for(Entity e : entities){ - coords.put(e.getKey(), mavenCoordsFromEntity(e)); - } - return coords; - } - - public static PluginCompatReport pluginCompatReportFromResultsEntities(List results, Map cores, Map pluginInfos) { - PluginCompatReport report = new PluginCompatReport(); - for(Entity e : results){ - PluginCompatResult result = pluginCompatResultFromEntity(e, cores); - PluginInfos pi = pluginInfos.get(e.getProperty(PluginCompatResultProperties.pluginInfosKey.name())); - - report.add(pi, result); - } - - return report; - } - - public static Entity toEntity(String buildLogPath, String logContent, Key pluginCompatResultKey) { - Entity logEntity = new Entity(LogProperties.KIND); - logEntity.setProperty(LogProperties.buildLogPath.name(), buildLogPath); - logEntity.setProperty(LogProperties.logContent.name(), new Text(logContent)); - logEntity.setProperty(LogProperties.resultKey.name(), pluginCompatResultKey); - return logEntity; - } - - public static String logContentFromEntity(Entity log) { - String compressedLogContent = ((Text)log.getProperty(LogProperties.logContent.name())).getValue(); - String logContent = null; - try { - logContent = IOUtils.gunzipString(compressedLogContent); - } catch (IOException e) { - throw new UncheckedIOException(e); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } - return logContent; - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/PluginCompatResultDAO.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/PluginCompatResultDAO.java deleted file mode 100644 index 6d542017c..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/PluginCompatResultDAO.java +++ /dev/null @@ -1,268 +0,0 @@ -package org.jenkins.tools.test.dao; - -import com.google.appengine.api.datastore.*; -import org.jenkins.tools.test.model.*; - -import java.util.*; -import java.util.logging.Logger; - -/** - * @author fcamblor - */ -public enum PluginCompatResultDAO { - INSTANCE; - - public interface CoreMatcher { - - Query enhanceSearchCoreQuery(Query query); - Query enhanceSearchResultQuery(Query query, Map coords); - - enum All implements CoreMatcher { - INSTANCE; - - @Override - public Query enhanceSearchCoreQuery(Query query) { - return query; - } - - @Override - public Query enhanceSearchResultQuery(Query query, Map coords) { - return query; - } - } - - class Parameterized implements CoreMatcher { - private List cores; - public Parameterized(List cores){ - this.cores = cores; - } - - @Override - public Query enhanceSearchCoreQuery(Query query){ - if(this.cores.size() == 0){ - return query; - } - - List gavs = new ArrayList<>(cores.size()); - for(MavenCoordinates coord : cores){ - gavs.add(coord.toGAV()); - } - return query.addFilter(Mappings.MavenCoordinatesProperties.gav.name(), Query.FilterOperator.IN, gavs); - } - - @Override - public Query enhanceSearchResultQuery(Query query, Map coords){ - if(coords.size() == 0){ - return query; - } else { - return query.addFilter(Mappings.PluginCompatResultProperties.coreCoordsKey.name(), - Query.FilterOperator.IN, new ArrayList<>(coords.keySet())); - } - } - } - } - public interface PluginMatcher { - - Query enhanceSearchPluginQuery(Query query); - Query enhanceSearchResultQuery(Query query, Map pluginInfos); - - enum All implements PluginMatcher { - INSTANCE; - - @Override - public Query enhanceSearchPluginQuery(Query query) { - return query; - } - - @Override - public Query enhanceSearchResultQuery(Query query, Map pluginInfos) { - return query; - } - } - - class Parameterized implements PluginMatcher { - private List pluginNames; - - public Parameterized(List pluginNames) { - this.pluginNames = pluginNames; - } - - @Override - public Query enhanceSearchPluginQuery(Query query) { - if (this.pluginNames.size() == 0) { - return query; - } - - return query.addFilter(Mappings.PluginInfosProperties.pluginName.name(), Query.FilterOperator.IN, pluginNames); - } - - @Override - public Query enhanceSearchResultQuery(Query query, Map pluginInfos) { - if (pluginInfos.size() == 0) { - return query; - } else { - return query.addFilter(Mappings.PluginCompatResultProperties.pluginInfosKey.name(), - Query.FilterOperator.IN, new ArrayList<>(pluginInfos.keySet())); - } - } - } - } - - private static final Logger log = Logger.getLogger(PluginCompatResultDAO.class.getName()); - - public Key persist(PluginInfos pluginInfos, PluginCompatResult result){ - - Key coreCoordinatesEntityKey = createCoreCoordsIfNotExist(result.coreCoordinates); - Key pluginInfosEntityKey = createPluginInfosIfNotExist(pluginInfos); - - Entity resultToPersist = Mappings.toEntity(result, result.coreCoordinates, coreCoordinatesEntityKey, pluginInfos, pluginInfosEntityKey); - - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - Key resultKey = datastore.put(resultToPersist); - - log.info("Plugin compat result stored with key : "+resultKey); - - return resultKey; - } - - private List executePaginatedQueries(DatastoreService service, Query query, int limit){ - PreparedQuery pq = service.prepare(query); - QueryResultList qrl = pq.asQueryResultList(FetchOptions.Builder.withLimit(limit)); - List results = new ArrayList<>(qrl); - - log.finer("Retrieved "+qrl.size()+" results from query "+query.toString()); - int pageNumber = 1; - while(qrl.size() == limit){ - log.finer("Retrieving page "+pageNumber+" for query "+query.toString()); - Cursor cursor = qrl.getCursor(); - qrl = pq.asQueryResultList(FetchOptions.Builder.withLimit(limit).startCursor(cursor)); - results.addAll(qrl); - log.finer("Retrieved "+qrl.size()+" results from query "+query.toString()); - - pageNumber++; - } - - return results; - } - - public PluginCompatReport search(PluginMatcher pluginMatcher, CoreMatcher coreMatcher){ - - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - - Query searchCoresQuery = new Query(Mappings.CORE_MAVEN_COORDS_KIND); - searchCoresQuery = coreMatcher.enhanceSearchCoreQuery(searchCoresQuery); - List coreEntities = executePaginatedQueries(datastore, searchCoresQuery, 1000); - Map cores = Mappings.mavenCoordsFromEntity(coreEntities); - - Query searchPluginsQuery = new Query(Mappings.PluginInfosProperties.KIND); - searchPluginsQuery = pluginMatcher.enhanceSearchPluginQuery(searchPluginsQuery); - List pluginInfoEntities = executePaginatedQueries(datastore, searchPluginsQuery, 1000); - Map pluginInfos = Mappings.pluginInfosFromEntity(pluginInfoEntities); - - Query searchResultsQuery = new Query(Mappings.PluginCompatResultProperties.KIND); - if ((pluginMatcher == PluginMatcher.All.INSTANCE || coreMatcher == CoreMatcher.All.INSTANCE)) { - - coreMatcher.enhanceSearchResultQuery(searchResultsQuery, cores); - pluginMatcher.enhanceSearchResultQuery(searchResultsQuery, pluginInfos); - - } else { - // Yeah that's not really well object oriented... - searchResultsQuery.addFilter(Mappings.PluginCompatResultProperties.computedCoreAndPlugin.name(), - Query.FilterOperator.IN, cartesianProductOfCoreAndPlugins(cores, pluginInfos)); - } - List results = executePaginatedQueries(datastore, searchResultsQuery, 1000); - - return Mappings.pluginCompatReportFromResultsEntities(results, cores, pluginInfos); - } - - public SortedSet findAllCores(){ - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - - Query searchCoresQuery = new Query(Mappings.CORE_MAVEN_COORDS_KIND); - List coreEntities = executePaginatedQueries(datastore, searchCoresQuery, 1000); - Map cores = Mappings.mavenCoordsFromEntity(coreEntities); - - return new TreeSet<>(cores.values()); - } - - public SortedSet findAllPluginInfoNames(){ - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - - Query searchPluginInfosQuery = new Query(Mappings.PluginInfosProperties.KIND); - List pluginInfosEntities = executePaginatedQueries(datastore, searchPluginInfosQuery, 1000); - Map pluginInfos = Mappings.pluginInfosFromEntity(pluginInfosEntities); - - SortedSet names = new TreeSet<>(String::compareToIgnoreCase); - for(PluginInfos pi : pluginInfos.values()){ - names.add(pi.pluginName); - } - - return names; - } - - public long purgeResults(){ - DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService(); - - long deletedLines = 0; - - deletedLines += DAOUtils.purgeEntities(Mappings.CORE_MAVEN_COORDS_KIND); - deletedLines += DAOUtils.purgeEntities(Mappings.PluginInfosProperties.KIND); - deletedLines += DAOUtils.purgeEntities(Mappings.PluginCompatResultProperties.KIND); - - return deletedLines; - } - - private List cartesianProductOfCoreAndPlugins(Map cores, Map pluginInfos) { - List computedCoreAndPlugins = new ArrayList<>(cores.values().size() * pluginInfos.values().size()); - for(MavenCoordinates coords : cores.values()){ - for(PluginInfos pi : pluginInfos.values()){ - computedCoreAndPlugins.add(Mappings.computeCoreAndPlugin(coords, pi)); - } - } - return computedCoreAndPlugins; - } - - private Key createPluginInfosIfNotExist(PluginInfos pluginInfos) { - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - List pluginInfosEntities = datastore.prepare( - new Query(Mappings.PluginInfosProperties.KIND) - .addFilter(Mappings.PluginInfosProperties.pluginName.name(), Query.FilterOperator.EQUAL, pluginInfos.pluginName) - .addFilter(Mappings.PluginInfosProperties.pluginVersion.name(), Query.FilterOperator.EQUAL, pluginInfos.pluginVersion) - .addFilter(Mappings.PluginInfosProperties.pluginUrl.name(), Query.FilterOperator.EQUAL, pluginInfos.pluginUrl) - ).asList(FetchOptions.Builder.withDefaults()); - - Key result = null; - if(pluginInfosEntities.size() == 0){ - // Coordinate doesn't exist : let's create it ! - Entity pluginInfoEntity = Mappings.toEntity(pluginInfos); - result = datastore.put(pluginInfoEntity); - } else { - result = pluginInfosEntities.get(0).getKey(); - } - - return result; - } - - private Key createCoreCoordsIfNotExist(MavenCoordinates coreCoords){ - return searchAndEventuallyCreateCoords(Mappings.CORE_MAVEN_COORDS_KIND, coreCoords); - } - - private Key searchAndEventuallyCreateCoords(String kind, MavenCoordinates coords){ - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - List coordsEntities = datastore.prepare( - new Query(kind) - .addFilter(Mappings.MavenCoordinatesProperties.gav.name(), Query.FilterOperator.EQUAL, coords.toGAV()) - ).asList(FetchOptions.Builder.withDefaults()); - - Key result = null; - if(coordsEntities.size() == 0){ - // Coordinate doesn't exist : let's create it ! - Entity coordsEntity = Mappings.toEntity(coords, kind); - result = datastore.put(coordsEntity); - } else { - result = coordsEntities.get(0).getKey(); - } - - return result; - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/SecurityTokenDAO.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/SecurityTokenDAO.java deleted file mode 100644 index 41f20b612..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/dao/SecurityTokenDAO.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.jenkins.tools.test.dao; - -import com.google.appengine.api.datastore.*; - -import java.util.logging.Logger; - -/** - * @author fcamblor - */ -public enum SecurityTokenDAO { - INSTANCE; - - private static final Logger log = Logger.getLogger(PluginCompatResultDAO.class.getName()); - - private enum SecurityProperties { - value, activated; - public static final String KIND = "securityToken"; - } - - public void initializeUniqueToken(){ - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - // Ensuring there isn't any token yet in DB... - int tokenCount = datastore.prepare( - new Query(SecurityProperties.KIND) - ).asList(FetchOptions.Builder.withDefaults()).size(); - if(tokenCount != 0){ - throw new IllegalStateException(String.format( - "Attempting to create a new token whereas %d tokens are present in datastore !", tokenCount)); - } - - Entity token = new Entity(SecurityProperties.KIND); - token.setProperty(SecurityProperties.value.name(), "xxxxx"); - // Created token is deactivated by default : - // you will have to manually edit your generated token value / activated flag - // in order to be able to use it ! - token.setProperty(SecurityProperties.activated.name(), false); - - Key tokenKey = datastore.put(token); - log.info(String.format("Created token with key [%s] !", tokenKey.getId())); - } - - public boolean isTokenValid(String token){ - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - int tokenCount = datastore.prepare( - new Query(SecurityProperties.KIND) - .addFilter(SecurityProperties.value.name(), Query.FilterOperator.EQUAL, token) - .addFilter(SecurityProperties.activated.name(), Query.FilterOperator.EQUAL, true) - ).asList(FetchOptions.Builder.withDefaults()).size(); - - return tokenCount != 0; - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/DataProviderServlet.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/DataProviderServlet.java deleted file mode 100644 index 458a81a26..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/DataProviderServlet.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.jenkins.tools.test.servlets; - -import org.jenkins.tools.test.dao.PluginCompatResultDAO; -import org.jenkins.tools.test.model.MavenCoordinates; -import org.jenkins.tools.test.servlets.util.JsonUtil; - -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.Writer; -import java.util.SortedSet; - -/** - * @author fcamblor - */ -public class DataProviderServlet extends HttpServlet { - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - String type = request.getParameter("type"); - - response.setContentType("application/json"); - Writer out = response.getWriter(); - if("cores".equals(type)){ - SortedSet cores = PluginCompatResultDAO.INSTANCE.findAllCores(); - out.write("{\"cores\":"); - JsonUtil.toJson(out, cores); - out.write("}"); - } else if("pluginInfos".equals(type)){ - SortedSet pluginInfoNames = PluginCompatResultDAO.INSTANCE.findAllPluginInfoNames(); - out.write("{"); - JsonUtil.displayMessages(out, "pluginInfos", pluginInfoNames); - out.write("}"); - } - - out.flush(); - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/HelloWorldServlet.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/HelloWorldServlet.java deleted file mode 100644 index f02051176..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/HelloWorldServlet.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.jenkins.tools.test.servlets; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * @author fcamblor - */ -public class HelloWorldServlet extends javax.servlet.http.HttpServlet { - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - this.getServletContext().getRequestDispatcher("/WEB-INF/jsps/hello.jsp").forward(req, resp); - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/InitTokenServlet.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/InitTokenServlet.java deleted file mode 100644 index f83382cdb..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/InitTokenServlet.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.jenkins.tools.test.servlets; - -import org.jenkins.tools.test.dao.SecurityTokenDAO; - -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * @author fcamblor - * Servlet allowing to create a fake token in database to initiate - * entity - */ -public class InitTokenServlet extends HttpServlet { - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { - SecurityTokenDAO.INSTANCE.initializeUniqueToken(); - resp.getWriter().println("Token generated successfully !"); - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/PurgeResultsServlet.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/PurgeResultsServlet.java deleted file mode 100644 index e75a7fc79..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/PurgeResultsServlet.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.jenkins.tools.test.servlets; - -import org.jenkins.tools.test.dao.LogsDAO; -import org.jenkins.tools.test.dao.PluginCompatResultDAO; - -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * @author fcamblor - */ -public class PurgeResultsServlet extends HttpServlet { - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - // Current servlet is secured ! - SecuritySupport.ensureTokenIsValid(request); - - long deletedLines = PluginCompatResultDAO.INSTANCE.purgeResults(); - deletedLines += LogsDAO.INSTANCE.purgeResults(); - - response.getWriter().println(String.format("%d lines deleted !", deletedLines)); - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/RetrieveBuildLogServlet.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/RetrieveBuildLogServlet.java deleted file mode 100644 index b06831584..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/RetrieveBuildLogServlet.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.jenkins.tools.test.servlets; - -import org.jenkins.tools.test.dao.LogsDAO; - -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * @author fcamblor - */ -public class RetrieveBuildLogServlet extends HttpServlet { - @Override - protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException { - String buildLogPath = request.getParameter("buildLogPath"); - - String logContent = LogsDAO.INSTANCE.getLogContent(buildLogPath); - - response.getWriter().append(logContent); - response.getWriter().flush(); - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/RetrieveResultsServlet.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/RetrieveResultsServlet.java deleted file mode 100644 index 5061b5e85..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/RetrieveResultsServlet.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.jenkins.tools.test.servlets; - -import org.jenkins.tools.test.dao.PluginCompatResultDAO; -import org.jenkins.tools.test.model.MavenCoordinates; -import org.jenkins.tools.test.model.PluginCompatReport; -import org.jenkins.tools.test.servlets.util.JsonUtil; - -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.Writer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/** - * @author fcamblor - */ -public class RetrieveResultsServlet extends HttpServlet { - - private static class PluginMatcherFactory { - public static PluginCompatResultDAO.PluginMatcher create(HttpServletRequest req){ - boolean everyPlugins = Boolean.parseBoolean(req.getParameter("everyPlugins")); - - PluginCompatResultDAO.PluginMatcher pluginMatcher = null; - if(everyPlugins){ - pluginMatcher = PluginCompatResultDAO.PluginMatcher.All.INSTANCE; - } else { - // Fixing JQuery parameters encoding (it suffixes arrayed parameter with []) - String[] paramValues = req.getParameterValues("plugins")!=null?req.getParameterValues("plugins") - :req.getParameterValues("plugins[]")!=null?req.getParameterValues("plugins[]"):new String[0]; - List plugins = Arrays.asList(paramValues); - pluginMatcher = new PluginCompatResultDAO.PluginMatcher.Parameterized(plugins); - } - return pluginMatcher; - } - } - - private static class CoreMatcherFactory { - public static PluginCompatResultDAO.CoreMatcher create(HttpServletRequest req){ - boolean everyCores = Boolean.parseBoolean(req.getParameter("everyCores")); - - PluginCompatResultDAO.CoreMatcher coreMatcher = null; - if(everyCores){ - coreMatcher = PluginCompatResultDAO.CoreMatcher.All.INSTANCE; - } else { - // Fixing JQuery parameters encoding (it suffixes arrayed parameter with []) - String[] paramValues = req.getParameterValues("cores")!=null?req.getParameterValues("cores") - :req.getParameterValues("cores[]")!=null?req.getParameterValues("cores[]"):new String[0]; - List coreGAV = Arrays.asList(paramValues); - // Converting GAVs into MavenCoordinates - List coreCoords = new ArrayList<>(coreGAV.size()); - for(String gav : coreGAV){ - coreCoords.add(MavenCoordinates.fromGAV(gav)); - } - coreMatcher = new PluginCompatResultDAO.CoreMatcher.Parameterized(coreCoords); - } - return coreMatcher; - } - } - - @Override - protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException { - - PluginCompatReport report = PluginCompatResultDAO.INSTANCE.search( - PluginMatcherFactory.create(request), CoreMatcherFactory.create(request)); - - response.setContentType("application/json"); - Writer out = response.getWriter(); - JsonUtil.toJson(out, report); - out.flush(); - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/SecuritySupport.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/SecuritySupport.java deleted file mode 100644 index 4ada6c5f0..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/SecuritySupport.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.jenkins.tools.test.servlets; - -import org.jenkins.tools.test.dao.SecurityTokenDAO; - -import javax.servlet.http.HttpServletRequest; - -/** - * @author fcamblor - */ -public class SecuritySupport { - - public static void ensureTokenIsValid(HttpServletRequest req){ - String token = req.getParameter("token"); - if(token == null){ - throw new IllegalArgumentException("Field [token] is required for current request !"); - } - - if(!SecurityTokenDAO.INSTANCE.isTokenValid(token)){ - throw new IllegalStateException("Your token is invalid : we cannot go further from there !"); - } - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/WritePCTResultServlet.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/WritePCTResultServlet.java deleted file mode 100644 index 24b76398b..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/WritePCTResultServlet.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.jenkins.tools.test.servlets; - -import com.google.appengine.api.datastore.Key; -import org.jenkins.tools.test.dao.LogsDAO; -import org.jenkins.tools.test.dao.PluginCompatResultDAO; -import org.jenkins.tools.test.model.MavenCoordinates; -import org.jenkins.tools.test.model.PluginCompatResult; -import org.jenkins.tools.test.model.PluginInfos; -import org.jenkins.tools.test.model.TestStatus; - -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Arrays; -import java.util.Date; -import java.util.List; - -/** - * @author fcamblor - */ -public class WritePCTResultServlet extends HttpServlet { - - @Override - protected void service(HttpServletRequest req, HttpServletResponse resp) throws IOException { - // Current servlet is secured ! - SecuritySupport.ensureTokenIsValid(req); - - // Parsing request... - String pluginName = req.getParameter("pluginName"); - String pluginVersion = req.getParameter("pluginVersion"); - String pluginUrl = req.getParameter("pluginUrl"); - TestStatus status = TestStatus.valueOf(req.getParameter("status")); - String errorMessages = req.getParameter("errMsg"); - List warningMessages = null; - if(req.getParameterValues("warnMsgs") != null){ - warningMessages = Arrays.asList(req.getParameterValues("warnMsgs")); - } - String dateTimestampStr = req.getParameter("timestamp"); - Date date = null; - if(dateTimestampStr == null){ - date = new Date(); // If date is not set, use NOW - } else { - date = new Date(Long.parseLong(dateTimestampStr)); - } - String buildLogPath = req.getParameter("buildLogPath"); - - PluginInfos pluginInfos = new PluginInfos(pluginName, pluginVersion, pluginUrl); - MavenCoordinates mavenCoords = MavenCoordinates.fromGAV(req.getParameter("mavenGAV")); - PluginCompatResult result = new PluginCompatResult(mavenCoords, status, errorMessages, warningMessages, buildLogPath, date); - - // Now, persisting result data into datastore ! - Key resultKey = PluginCompatResultDAO.INSTANCE.persist(pluginInfos, result); - - String logContent = req.getParameter("logContent"); - if(logContent != null && buildLogPath != null){ - LogsDAO.INSTANCE.persistBuildLog(buildLogPath, logContent, resultKey); - } - - resp.getWriter().print(String.format("id=%d", resultKey.getId())); - } -} diff --git a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/util/JsonUtil.java b/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/util/JsonUtil.java deleted file mode 100644 index 401672491..000000000 --- a/plugins-compat-tester-gae/src/main/java/org/jenkins/tools/test/servlets/util/JsonUtil.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.jenkins.tools.test.servlets.util; - -import org.jenkins.tools.test.model.MavenCoordinates; -import org.jenkins.tools.test.model.PluginCompatReport; -import org.jenkins.tools.test.model.PluginCompatResult; -import org.jenkins.tools.test.model.PluginInfos; - -import java.io.IOException; -import java.io.Writer; -import java.util.*; - -/** - * @author fcamblor - */ -public class JsonUtil { - - public static void toJson(Writer w, PluginCompatReport report) throws IOException { - w.write("{\"coreCoordinates\":"); - toJson(w, report.getTestedCoreCoordinates()); - w.write(",\"plugins\":"); - toJson(w, report.getPluginCompatTests().keySet()); - w.write(",\"results\":"); - toJson(w, report.getPluginCompatTests()); - w.write("}"); - } - - public static void toJson(Writer w, Map> pluginCompatTests) throws IOException { - w.write("["); - for(Iterator piIter = pluginCompatTests.keySet().iterator(); piIter.hasNext();){ - PluginInfos pi = piIter.next(); - w.write(String.format("{\"plugin\":\"%s:%s\",\"results\":", pi.pluginName, pi.pluginVersion)); - toJson(w, pluginCompatTests.get(pi)); - w.write("}"); - if(piIter.hasNext()){ - w.write(","); - } - } - w.write("]"); - } - - public static void toJson(Writer w, List pluginCompatResults) throws IOException { - // Ensuring results are sorted - Collections.sort(pluginCompatResults); - - w.write("["); - for(Iterator resIter = pluginCompatResults.iterator(); resIter.hasNext();){ - PluginCompatResult res = resIter.next(); - w.write("{\"core\":\""); - w.write(res.coreCoordinates.toGAV()); - w.write("\",\"status\":\""); - w.write(res.status.name()); - w.write("\",\"date\":\""); - w.write(String.valueOf(res.compatTestExecutedOn.getTime())); - w.write("\",\"buildLogPath\":\""); - w.write(res.getBuildLogPath() == null ? "" : res.getBuildLogPath()); - w.write("\""); - if(res.errorMessage != null && !"".equals(res.errorMessage)){ - w.write(","); - displayMessage(w, "err", res.errorMessage); - } - - if(res.warningMessages != null && !res.warningMessages.isEmpty()){ - w.write(","); - displayMessages(w, "warn", res.warningMessages); - } - w.write("}"); - - if(resIter.hasNext()){ - w.write(","); - } - } - w.write("]"); - } - - public static void displayMessages(Writer w, String label, Collection messages) throws IOException { - if(messages==null){ - return; - } - - w.write(String.format("\"%s\":[", label)); - for(Iterator msgIter = messages.iterator(); msgIter.hasNext();){ - String msg = msgIter.next(); - displayMessage(w, null, msg); - if(msgIter.hasNext()){ - w.write(","); - } - } - w.write("]"); - } - - public static void displayMessage(Writer w, String label, String message) throws IOException { - if(message == null){ - return; - } - - message = message.replaceAll("\"", "\\\\\"").replaceAll("\r", "\\\\r") - .replaceAll("\n", "\\\\n").replaceAll("\t", "\\\\t"); - w.write(label==null?"":"\""+label+"\":"); - w.write("\""); - w.write(message); - w.write("\""); - } - - public static void toJson(Writer w, Set pluginInfos) throws IOException { - w.write("["); - for(Iterator piIter = pluginInfos.iterator(); piIter.hasNext();){ - PluginInfos pi = piIter.next(); - w.write(String.format("{\"name\":\"%s\",\"version\":\"%s\",\"url\":\"%s\"}", pi.pluginName, pi.pluginVersion, pi.pluginUrl)); - if(piIter.hasNext()){ - w.write(","); - } - } - w.write("]"); - } - - public static void toJson(Writer w, SortedSet testedCoreCoordinates) throws IOException { - w.write("["); - for(Iterator coordIter = testedCoreCoordinates.iterator(); coordIter.hasNext();){ - MavenCoordinates coord = coordIter.next(); - w.write(String.format("{\"g\":\"%s\",\"a\":\"%s\",\"v\":\"%s\"}", coord.groupId, coord.artifactId, coord.version)); - if(coordIter.hasNext()){ - w.write(","); - } - } - w.write("]"); - } -} diff --git a/plugins-compat-tester-gae/src/main/webapp/WEB-INF/appengine-web.xml b/plugins-compat-tester-gae/src/main/webapp/WEB-INF/appengine-web.xml deleted file mode 100644 index b7aabd96e..000000000 --- a/plugins-compat-tester-gae/src/main/webapp/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - jenkins-pct - 2 - diff --git a/plugins-compat-tester-gae/src/main/webapp/WEB-INF/datastore-indexes.xml b/plugins-compat-tester-gae/src/main/webapp/WEB-INF/datastore-indexes.xml deleted file mode 100644 index 5690e1dd1..000000000 --- a/plugins-compat-tester-gae/src/main/webapp/WEB-INF/datastore-indexes.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/plugins-compat-tester-gae/src/main/webapp/WEB-INF/jsps/hello.jsp b/plugins-compat-tester-gae/src/main/webapp/WEB-INF/jsps/hello.jsp deleted file mode 100644 index c8cbe13af..000000000 --- a/plugins-compat-tester-gae/src/main/webapp/WEB-INF/jsps/hello.jsp +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - Hello world ! - - \ No newline at end of file diff --git a/plugins-compat-tester-gae/src/main/webapp/WEB-INF/web.xml b/plugins-compat-tester-gae/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index fce02dcf7..000000000 --- a/plugins-compat-tester-gae/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - HelloWorldServlet - org.jenkins.tools.test.servlets.HelloWorldServlet - - - initToken - org.jenkins.tools.test.servlets.InitTokenServlet - - - writePctResult - org.jenkins.tools.test.servlets.WritePCTResultServlet - - - RetrieveResultsServlet - org.jenkins.tools.test.servlets.RetrieveResultsServlet - - - PurgeResultsServlet - org.jenkins.tools.test.servlets.PurgeResultsServlet - - - DataProviderServlet - org.jenkins.tools.test.servlets.DataProviderServlet - - - RetrieveBuildLogServlet - org.jenkins.tools.test.servlets.RetrieveBuildLogServlet - - - - HelloWorldServlet - /hello - - - initToken - /initToken - - - writePctResult - /writePctResult - - - RetrieveResultsServlet - /getResults - - - RetrieveBuildLogServlet - /getLog - - - PurgeResultsServlet - /purgeResults - - - DataProviderServlet - /getData - - diff --git a/plugins-compat-tester-gae/src/main/webapp/css/chosen/chosen-0.9.5.css b/plugins-compat-tester-gae/src/main/webapp/css/chosen/chosen-0.9.5.css deleted file mode 100644 index 8b724ed1f..000000000 --- a/plugins-compat-tester-gae/src/main/webapp/css/chosen/chosen-0.9.5.css +++ /dev/null @@ -1,368 +0,0 @@ -/* @group Base */ -.chzn-container { - font-size: 13px; - position: relative; - display: inline-block; - zoom: 1; - *display: inline; -} -.chzn-container .chzn-drop { - background: #fff; - border: 1px solid #aaa; - border-top: 0; - position: absolute; - top: 29px; - left: 0; - -webkit-box-shadow: 0 4px 5px rgba(0,0,0,.15); - -moz-box-shadow : 0 4px 5px rgba(0,0,0,.15); - -o-box-shadow : 0 4px 5px rgba(0,0,0,.15); - box-shadow : 0 4px 5px rgba(0,0,0,.15); - z-index: 999; -} -/* @end */ - -/* @group Single Chosen */ -.chzn-container-single .chzn-single { - background-color: #fff; - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white)); - background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%); - background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%); - background-image: -o-linear-gradient(top, #eeeeee 0%,#ffffff 50%); - background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 50%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 ); - background-image: linear-gradient(top, #eeeeee 0%,#ffffff 50%); - -webkit-border-radius: 4px; - -moz-border-radius : 4px; - border-radius : 4px; - -moz-background-clip : padding; - -webkit-background-clip: padding-box; - background-clip : padding-box; - border: 1px solid #aaa; - display: block; - overflow: hidden; - white-space: nowrap; - position: relative; - height: 26px; - line-height: 26px; - padding: 0 0 0 8px; - color: #444; - text-decoration: none; -} -.chzn-container-single .chzn-single span { - margin-right: 26px; - display: block; - overflow: hidden; - white-space: nowrap; - -o-text-overflow: ellipsis; - -ms-text-overflow: ellipsis; - text-overflow: ellipsis; -} -.chzn-container-single .chzn-single abbr { - display: block; - position: absolute; - right: 26px; - top: 8px; - width: 12px; - height: 13px; - font-size: 1px; - background: url(chosen-sprite.png) right top no-repeat; -} -.chzn-container-single .chzn-single abbr:hover { - background-position: right -11px; -} -.chzn-container-single .chzn-single div { - -webkit-border-radius: 0 4px 4px 0; - -moz-border-radius : 0 4px 4px 0; - border-radius : 0 4px 4px 0; - -moz-background-clip : padding; - -webkit-background-clip: padding-box; - background-clip : padding-box; - background: #ccc; - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee)); - background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%); - background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%); - background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%); - background-image: -ms-linear-gradient(top, #cccccc 0%,#eeeeee 60%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#eeeeee',GradientType=0 ); - background-image: linear-gradient(top, #cccccc 0%,#eeeeee 60%); - border-left: 1px solid #aaa; - position: absolute; - right: 0; - top: 0; - display: block; - height: 100%; - width: 18px; -} -.chzn-container-single .chzn-single div b { - background: url('chosen-sprite.png') no-repeat 0 1px; - display: block; - width: 100%; - height: 100%; -} -.chzn-container-single .chzn-search { - padding: 3px 4px; - position: relative; - margin: 0; - white-space: nowrap; -} -.chzn-container-single .chzn-search input { - background: #fff url('chosen-sprite.png') no-repeat 100% -22px; - background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); - background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); - background: url('chosen-sprite.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); - background: url('chosen-sprite.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); - background: url('chosen-sprite.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); - background: url('chosen-sprite.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); - background: url('chosen-sprite.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%,#eeeeee 99%); - margin: 1px 0; - padding: 4px 20px 4px 5px; - outline: 0; - border: 1px solid #aaa; - font-family: sans-serif; - font-size: 1em; -} -.chzn-container-single .chzn-drop { - -webkit-border-radius: 0 0 4px 4px; - -moz-border-radius : 0 0 4px 4px; - border-radius : 0 0 4px 4px; - -moz-background-clip : padding; - -webkit-background-clip: padding-box; - background-clip : padding-box; -} -/* @end */ - -.chzn-container-single-nosearch .chzn-search input { - position: absolute; - left: -9000px; -} - -/* @group Multi Chosen */ -.chzn-container-multi .chzn-choices { - background-color: #fff; - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); - background-image: -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); - background-image: -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); - background-image: -o-linear-gradient(bottom, white 85%, #eeeeee 99%); - background-image: -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); - background-image: linear-gradient(top, #ffffff 85%,#eeeeee 99%); - border: 1px solid #aaa; - margin: 0; - padding: 0; - cursor: text; - overflow: hidden; - height: auto !important; - height: 1%; - position: relative; -} -.chzn-container-multi .chzn-choices li { - float: left; - list-style: none; -} -.chzn-container-multi .chzn-choices .search-field { - white-space: nowrap; - margin: 0; - padding: 0; -} -.chzn-container-multi .chzn-choices .search-field input { - color: #666; - background: transparent !important; - border: 0 !important; - padding: 5px; - margin: 1px 0; - outline: 0; - -webkit-box-shadow: none; - -moz-box-shadow : none; - -o-box-shadow : none; - box-shadow : none; -} -.chzn-container-multi .chzn-choices .search-field .default { - color: #999; -} -.chzn-container-multi .chzn-choices .search-choice { - -webkit-border-radius: 3px; - -moz-border-radius : 3px; - border-radius : 3px; - -moz-background-clip : padding; - -webkit-background-clip: padding-box; - background-clip : padding-box; - background-color: #e4e4e4; - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #e4e4e4), color-stop(0.7, #eeeeee)); - background-image: -webkit-linear-gradient(center bottom, #e4e4e4 0%, #eeeeee 70%); - background-image: -moz-linear-gradient(center bottom, #e4e4e4 0%, #eeeeee 70%); - background-image: -o-linear-gradient(bottom, #e4e4e4 0%, #eeeeee 70%); - background-image: -ms-linear-gradient(top, #e4e4e4 0%,#eeeeee 70%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e4e4e4', endColorstr='#eeeeee',GradientType=0 ); - background-image: linear-gradient(top, #e4e4e4 0%,#eeeeee 70%); - color: #333; - border: 1px solid #b4b4b4; - line-height: 13px; - padding: 3px 19px 3px 6px; - margin: 3px 0 3px 5px; - position: relative; -} -.chzn-container-multi .chzn-choices .search-choice span { - cursor: default; -} -.chzn-container-multi .chzn-choices .search-choice-focus { - background: #d4d4d4; -} -.chzn-container-multi .chzn-choices .search-choice .search-choice-close { - display: block; - position: absolute; - right: 3px; - top: 4px; - width: 12px; - height: 13px; - font-size: 1px; - background: url(chosen-sprite.png) right top no-repeat; -} -.chzn-container-multi .chzn-choices .search-choice .search-choice-close:hover { - background-position: right -11px; -} -.chzn-container-multi .chzn-choices .search-choice-focus .search-choice-close { - background-position: right -11px; -} -/* @end */ - -/* @group Results */ -.chzn-container .chzn-results { - margin: 0 4px 4px 0; - max-height: 190px; - padding: 0 0 0 4px; - position: relative; - overflow-x: hidden; - overflow-y: auto; -} -.chzn-container-multi .chzn-results { - margin: -1px 0 0; - padding: 0; -} -.chzn-container .chzn-results li { - display: none; - line-height: 80%; - padding: 7px 7px 8px; - margin: 0; - list-style: none; -} -.chzn-container .chzn-results .active-result { - cursor: pointer; - display: list-item; -} -.chzn-container .chzn-results .highlighted { - background: #3875d7; - color: #fff; -} -.chzn-container .chzn-results li em { - background: #feffde; - font-style: normal; -} -.chzn-container .chzn-results .highlighted em { - background: transparent; -} -.chzn-container .chzn-results .no-results { - background: #f4f4f4; - display: list-item; -} -.chzn-container .chzn-results .group-result { - cursor: default; - color: #999; - font-weight: bold; -} -.chzn-container .chzn-results .group-option { - padding-left: 20px; -} -.chzn-container-multi .chzn-drop .result-selected { - display: none; -} -/* @end */ - -/* @group Active */ -.chzn-container-active .chzn-single { - -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3); - -moz-box-shadow : 0 0 5px rgba(0,0,0,.3); - -o-box-shadow : 0 0 5px rgba(0,0,0,.3); - box-shadow : 0 0 5px rgba(0,0,0,.3); - border: 1px solid #5897fb; -} -.chzn-container-active .chzn-single-with-drop { - border: 1px solid #aaa; - -webkit-box-shadow: 0 1px 0 #fff inset; - -moz-box-shadow : 0 1px 0 #fff inset; - -o-box-shadow : 0 1px 0 #fff inset; - box-shadow : 0 1px 0 #fff inset; - background-color: #eee; - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee)); - background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%); - background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%); - background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%); - background-image: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 50%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); - background-image: linear-gradient(top, #ffffff 0%,#eeeeee 50%); - -webkit-border-bottom-left-radius : 0; - -webkit-border-bottom-right-radius: 0; - -moz-border-radius-bottomleft : 0; - -moz-border-radius-bottomright: 0; - border-bottom-left-radius : 0; - border-bottom-right-radius: 0; -} -.chzn-container-active .chzn-single-with-drop div { - background: transparent; - border-left: none; -} -.chzn-container-active .chzn-single-with-drop div b { - background-position: -18px 1px; -} -.chzn-container-active .chzn-choices { - -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3); - -moz-box-shadow : 0 0 5px rgba(0,0,0,.3); - -o-box-shadow : 0 0 5px rgba(0,0,0,.3); - box-shadow : 0 0 5px rgba(0,0,0,.3); - border: 1px solid #5897fb; -} -.chzn-container-active .chzn-choices .search-field input { - color: #111 !important; -} -/* @end */ - -/* @group Disabled Support */ -.chzn-disabled { - cursor: default; - opacity:0.5 !important; -} -.chzn-disabled .chzn-single { - cursor: default; -} -.chzn-disabled .chzn-choices .search-choice .search-choice-close { - cursor: default; -} - -/* @group Right to Left */ -.chzn-rtl { direction:rtl;text-align: right; } -.chzn-rtl .chzn-single { padding-left: 0; padding-right: 8px; } -.chzn-rtl .chzn-single span { margin-left: 26px; margin-right: 0; } -.chzn-rtl .chzn-single div { - left: 0; right: auto; - border-left: none; border-right: 1px solid #aaaaaa; - -webkit-border-radius: 4px 0 0 4px; - -moz-border-radius : 4px 0 0 4px; - border-radius : 4px 0 0 4px; -} -.chzn-rtl .chzn-choices li { float: right; } -.chzn-rtl .chzn-choices .search-choice { padding: 3px 6px 3px 19px; margin: 3px 5px 3px 0; } -.chzn-rtl .chzn-choices .search-choice .search-choice-close { left: 5px; right: auto; background-position: right top;} -.chzn-rtl.chzn-container-single .chzn-results { margin-left: 4px; margin-right: 0; padding-left: 0; padding-right: 4px; } -.chzn-rtl .chzn-results .group-option { padding-left: 0; padding-right: 20px; } -.chzn-rtl.chzn-container-active .chzn-single-with-drop div { border-right: none; } -.chzn-rtl .chzn-search input { - background: url('chosen-sprite.png') no-repeat -38px -22px, #ffffff; - background: url('chosen-sprite.png') no-repeat -38px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); - background: url('chosen-sprite.png') no-repeat -38px -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); - background: url('chosen-sprite.png') no-repeat -38px -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); - background: url('chosen-sprite.png') no-repeat -38px -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); - background: url('chosen-sprite.png') no-repeat -38px -22px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); - background: url('chosen-sprite.png') no-repeat -38px -22px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); - background: url('chosen-sprite.png') no-repeat -38px -22px, linear-gradient(top, #ffffff 85%,#eeeeee 99%); - padding: 4px 5px 4px 20px; -} -/* @end */ \ No newline at end of file diff --git a/plugins-compat-tester-gae/src/main/webapp/css/chosen/chosen-sprite.png b/plugins-compat-tester-gae/src/main/webapp/css/chosen/chosen-sprite.png deleted file mode 100644 index 45ef5ac9a..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/chosen/chosen-sprite.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_flat_55_999999_40x100.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_flat_55_999999_40x100.png deleted file mode 100644 index 6b6de7d5a..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_flat_55_999999_40x100.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_flat_75_aaaaaa_40x100.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_flat_75_aaaaaa_40x100.png deleted file mode 100644 index 5b5dab2ab..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_flat_75_aaaaaa_40x100.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_glass_45_0078ae_1x400.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_glass_45_0078ae_1x400.png deleted file mode 100644 index 3dac65068..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_glass_45_0078ae_1x400.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_glass_55_f8da4e_1x400.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_glass_55_f8da4e_1x400.png deleted file mode 100644 index b383704a4..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_glass_55_f8da4e_1x400.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_glass_75_79c9ec_1x400.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_glass_75_79c9ec_1x400.png deleted file mode 100644 index d384e425e..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_glass_75_79c9ec_1x400.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_gloss-wave_45_e14f1c_500x100.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_gloss-wave_45_e14f1c_500x100.png deleted file mode 100644 index b9851ba5d..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_gloss-wave_45_e14f1c_500x100.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_gloss-wave_50_6eac2c_500x100.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_gloss-wave_50_6eac2c_500x100.png deleted file mode 100644 index 76dac56d2..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_gloss-wave_50_6eac2c_500x100.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_gloss-wave_75_2191c0_500x100.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_gloss-wave_75_2191c0_500x100.png deleted file mode 100644 index 353f9e59e..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_gloss-wave_75_2191c0_500x100.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_inset-hard_100_fcfdfd_1x100.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_inset-hard_100_fcfdfd_1x100.png deleted file mode 100644 index 38c38335d..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-bg_inset-hard_100_fcfdfd_1x100.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_0078ae_256x240.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_0078ae_256x240.png deleted file mode 100644 index 5b36315f4..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_0078ae_256x240.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_056b93_256x240.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_056b93_256x240.png deleted file mode 100644 index a3db109f6..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_056b93_256x240.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_d8e7f3_256x240.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_d8e7f3_256x240.png deleted file mode 100644 index ad2dc6f9d..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_d8e7f3_256x240.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_e0fdff_256x240.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_e0fdff_256x240.png deleted file mode 100644 index 8648d5104..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_e0fdff_256x240.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_f5e175_256x240.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_f5e175_256x240.png deleted file mode 100644 index eda3b8a05..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_f5e175_256x240.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_f7a50d_256x240.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_f7a50d_256x240.png deleted file mode 100644 index 401cac837..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_f7a50d_256x240.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_fcd113_256x240.png b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_fcd113_256x240.png deleted file mode 100644 index 26ab2933c..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/images/ui-icons_fcd113_256x240.png and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/jquery-ui-1.8.16.custom.css b/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/jquery-ui-1.8.16.custom.css deleted file mode 100644 index ac215c554..000000000 --- a/plugins-compat-tester-gae/src/main/webapp/css/jquery-ui/jquery-ui-1.8.16.custom.css +++ /dev/null @@ -1,310 +0,0 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - - -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=2191c0&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=75&borderColorHeader=4297d7&fcHeader=eaf5f7&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=0078ae&bgColorDefault=0078ae&bgTextureDefault=02_glass.png&bgImgOpacityDefault=45&borderColorDefault=77d5f7&fcDefault=ffffff&iconColorDefault=e0fdff&bgColorHover=79c9ec&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=448dae&fcHover=026890&iconColorHover=056b93&bgColorActive=6eac2c&bgTextureActive=12_gloss_wave.png&bgImgOpacityActive=50&borderColorActive=acdd4a&fcActive=ffffff&iconColorActive=f5e175&bgColorHighlight=f8da4e&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcd113&fcHighlight=915608&iconColorHighlight=f7a50d&bgColorError=e14f1c&bgTextureError=12_gloss_wave.png&bgImgOpacityError=45&borderColorError=cd0a0a&fcError=ffffff&iconColorError=fcd113&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=75&opacityOverlay=30&bgColorShadow=999999&bgTextureShadow=01_flat.png&bgImgOpacityShadow=55&opacityShadow=45&thicknessShadow=0px&offsetTopShadow=5px&offsetLeftShadow=5px&cornerRadiusShadow=5px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; } -.ui-widget-content a { color: #222222; } -.ui-widget-header { border: 1px solid #4297d7; background: #2191c0 url(images/ui-bg_gloss-wave_75_2191c0_500x100.png) 50% 50% repeat-x; color: #eaf5f7; font-weight: bold; } -.ui-widget-header a { color: #eaf5f7; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #77d5f7; background: #0078ae url(images/ui-bg_glass_45_0078ae_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #ffffff; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #448dae; background: #79c9ec url(images/ui-bg_glass_75_79c9ec_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #026890; } -.ui-state-hover a, .ui-state-hover a:hover { color: #026890; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #acdd4a; background: #6eac2c url(images/ui-bg_gloss-wave_50_6eac2c_500x100.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcd113; background: #f8da4e url(images/ui-bg_glass_55_f8da4e_1x400.png) 50% 50% repeat-x; color: #915608; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #915608; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #e14f1c url(images/ui-bg_gloss-wave_45_e14f1c_500x100.png) 50% top repeat-x; color: #ffffff; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_0078ae_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_0078ae_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_e0fdff_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_056b93_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_f5e175_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_f7a50d_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_fcd113_256x240.png); } - -/* positioning */ -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-off { background-position: -96px -144px; } -.ui-icon-radio-on { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -khtml-border-top-left-radius: 5px; border-top-left-radius: 5px; } -.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; -khtml-border-top-right-radius: 5px; border-top-right-radius: 5px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; -khtml-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; -khtml-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } - -/* Overlays */ -.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_75_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } -.ui-widget-shadow { margin: 5px 0 0 5px; padding: 0px; background: #999999 url(images/ui-bg_flat_55_999999_40x100.png) 50% 50% repeat-x; opacity: .45;filter:Alpha(Opacity=45); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* - * jQuery UI Dialog 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Dialog#theming - */ -.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } -.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } -.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } -.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } -.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } -.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } -.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } -.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } diff --git a/plugins-compat-tester-gae/src/main/webapp/img/pct/spacer.gif b/plugins-compat-tester-gae/src/main/webapp/img/pct/spacer.gif deleted file mode 100644 index fc2560981..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/img/pct/spacer.gif and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/img/pct/spinner.gif b/plugins-compat-tester-gae/src/main/webapp/img/pct/spinner.gif deleted file mode 100644 index f3d36b9d2..000000000 Binary files a/plugins-compat-tester-gae/src/main/webapp/img/pct/spinner.gif and /dev/null differ diff --git a/plugins-compat-tester-gae/src/main/webapp/index.html b/plugins-compat-tester-gae/src/main/webapp/index.html deleted file mode 100644 index 3d90f7c83..000000000 --- a/plugins-compat-tester-gae/src/main/webapp/index.html +++ /dev/null @@ -1,385 +0,0 @@ - - - - Plugin compatibility tester - - - - - - - - - - - - - - - -
-
-
- Plugin compatibility search criteria - -
-
    -
  • - -
  • -
  • - -
  • -
-
- -
-
    -
  • - -
  • -
  • - -
  • -
-
-
- - -
-
- - - - - -
-
- - - \ No newline at end of file diff --git a/plugins-compat-tester-gae/src/main/webapp/js/chosen/chosen.jquery-0.9.5.js b/plugins-compat-tester-gae/src/main/webapp/js/chosen/chosen.jquery-0.9.5.js deleted file mode 100644 index e7e661c09..000000000 --- a/plugins-compat-tester-gae/src/main/webapp/js/chosen/chosen.jquery-0.9.5.js +++ /dev/null @@ -1,857 +0,0 @@ -// Chosen, a Select Box Enhancer for jQuery and Protoype -// by Patrick Filler for Harvest, http://getharvest.com -// -// Version 0.9.5 -// Full source at https://github.com/harvesthq/chosen -// Copyright (c) 2011 Harvest http://getharvest.com - -// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md -// This file is generated by `cake build`, do not edit it by hand. -(function() { - /* - Chosen source: generate output using 'cake build' - Copyright (c) 2011 by Harvest - */ var $, Chosen, get_side_border_padding, root; - var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; - root = this; - $ = jQuery; - $.fn.extend({ - chosen: function(options) { - if ($.browser === "msie" && ($.browser.version === "6.0" || $.browser.version === "7.0")) { - return this; - } - return $(this).each(function(input_field) { - if (!($(this)).hasClass("chzn-done")) { - return new Chosen(this, options); - } - }); - } - }); - Chosen = (function() { - function Chosen(form_field, options) { - this.form_field = form_field; - this.options = options != null ? options : {}; - this.set_default_values(); - this.form_field_jq = $(this.form_field); - this.is_multiple = this.form_field.multiple; - this.is_rtl = this.form_field_jq.hasClass("chzn-rtl"); - this.default_text_default = this.form_field.multiple ? "Select Some Options" : "Select an Option"; - this.set_up_html(); - this.register_observers(); - this.form_field_jq.addClass("chzn-done"); - } - Chosen.prototype.set_default_values = function() { - this.click_test_action = __bind(function(evt) { - return this.test_active_click(evt); - }, this); - this.activate_action = __bind(function(evt) { - return this.activate_field(evt); - }, this); - this.active_field = false; - this.mouse_on_container = false; - this.results_showing = false; - this.result_highlighted = null; - this.result_single_selected = null; - this.allow_single_deselect = (this.options.allow_single_deselect != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false; - this.disable_search_threshold = this.options.disable_search_threshold || 0; - this.choices = 0; - return this.results_none_found = this.options.no_results_text || "No results match"; - }; - Chosen.prototype.set_up_html = function() { - var container_div, dd_top, dd_width, sf_width; - this.container_id = this.form_field.id.length ? this.form_field.id.replace(/(:|\.)/g, '_') : this.generate_field_id(); - this.container_id += "_chzn"; - this.f_width = this.form_field_jq.outerWidth(); - this.default_text = this.form_field_jq.data('placeholder') ? this.form_field_jq.data('placeholder') : this.default_text_default; - container_div = $("
", { - id: this.container_id, - "class": "chzn-container" + (this.is_rtl ? ' chzn-rtl' : ''), - style: 'width: ' + this.f_width + 'px;' - }); - if (this.is_multiple) { - container_div.html('
    '); - } else { - container_div.html('' + this.default_text + '
      '); - } - this.form_field_jq.hide().after(container_div); - this.container = $('#' + this.container_id); - this.container.addClass("chzn-container-" + (this.is_multiple ? "multi" : "single")); - if (!this.is_multiple && this.form_field.options.length <= this.disable_search_threshold) { - this.container.addClass("chzn-container-single-nosearch"); - } - this.dropdown = this.container.find('div.chzn-drop').first(); - dd_top = this.container.height(); - dd_width = this.f_width - get_side_border_padding(this.dropdown); - this.dropdown.css({ - "width": dd_width + "px", - "top": dd_top + "px" - }); - this.search_field = this.container.find('input').first(); - this.search_results = this.container.find('ul.chzn-results').first(); - this.search_field_scale(); - this.search_no_results = this.container.find('li.no-results').first(); - if (this.is_multiple) { - this.search_choices = this.container.find('ul.chzn-choices').first(); - this.search_container = this.container.find('li.search-field').first(); - } else { - this.search_container = this.container.find('div.chzn-search').first(); - this.selected_item = this.container.find('.chzn-single').first(); - sf_width = dd_width - get_side_border_padding(this.search_container) - get_side_border_padding(this.search_field); - this.search_field.css({ - "width": sf_width + "px" - }); - } - this.results_build(); - return this.set_tab_index(); - }; - Chosen.prototype.register_observers = function() { - this.container.mousedown(__bind(function(evt) { - return this.container_mousedown(evt); - }, this)); - this.container.mouseup(__bind(function(evt) { - return this.container_mouseup(evt); - }, this)); - this.container.mouseenter(__bind(function(evt) { - return this.mouse_enter(evt); - }, this)); - this.container.mouseleave(__bind(function(evt) { - return this.mouse_leave(evt); - }, this)); - this.search_results.mouseup(__bind(function(evt) { - return this.search_results_mouseup(evt); - }, this)); - this.search_results.mouseover(__bind(function(evt) { - return this.search_results_mouseover(evt); - }, this)); - this.search_results.mouseout(__bind(function(evt) { - return this.search_results_mouseout(evt); - }, this)); - this.form_field_jq.bind("liszt:updated", __bind(function(evt) { - return this.results_update_field(evt); - }, this)); - this.search_field.blur(__bind(function(evt) { - return this.input_blur(evt); - }, this)); - this.search_field.keyup(__bind(function(evt) { - return this.keyup_checker(evt); - }, this)); - this.search_field.keydown(__bind(function(evt) { - return this.keydown_checker(evt); - }, this)); - if (this.is_multiple) { - this.search_choices.click(__bind(function(evt) { - return this.choices_click(evt); - }, this)); - return this.search_field.focus(__bind(function(evt) { - return this.input_focus(evt); - }, this)); - } - }; - Chosen.prototype.search_field_disabled = function() { - this.is_disabled = this.form_field_jq.attr('disabled'); - if (this.is_disabled) { - this.container.addClass('chzn-disabled'); - this.search_field.attr('disabled', true); - if (!this.is_multiple) { - this.selected_item.unbind("focus", this.activate_action); - } - return this.close_field(); - } else { - this.container.removeClass('chzn-disabled'); - this.search_field.attr('disabled', false); - if (!this.is_multiple) { - return this.selected_item.bind("focus", this.activate_action); - } - } - }; - Chosen.prototype.container_mousedown = function(evt) { - var target_closelink; - if (!this.is_disabled) { - target_closelink = evt != null ? ($(evt.target)).hasClass("search-choice-close") : false; - if (evt && evt.type === "mousedown") { - evt.stopPropagation(); - } - if (!this.pending_destroy_click && !target_closelink) { - if (!this.active_field) { - if (this.is_multiple) { - this.search_field.val(""); - } - $(document).click(this.click_test_action); - this.results_show(); - } else if (!this.is_multiple && evt && ($(evt.target) === this.selected_item || $(evt.target).parents("a.chzn-single").length)) { - evt.preventDefault(); - this.results_toggle(); - } - return this.activate_field(); - } else { - return this.pending_destroy_click = false; - } - } - }; - Chosen.prototype.container_mouseup = function(evt) { - if (evt.target.nodeName === "ABBR") { - return this.results_reset(evt); - } - }; - Chosen.prototype.mouse_enter = function() { - return this.mouse_on_container = true; - }; - Chosen.prototype.mouse_leave = function() { - return this.mouse_on_container = false; - }; - Chosen.prototype.input_focus = function(evt) { - if (!this.active_field) { - return setTimeout((__bind(function() { - return this.container_mousedown(); - }, this)), 50); - } - }; - Chosen.prototype.input_blur = function(evt) { - if (!this.mouse_on_container) { - this.active_field = false; - return setTimeout((__bind(function() { - return this.blur_test(); - }, this)), 100); - } - }; - Chosen.prototype.blur_test = function(evt) { - if (!this.active_field && this.container.hasClass("chzn-container-active")) { - return this.close_field(); - } - }; - Chosen.prototype.close_field = function() { - $(document).unbind("click", this.click_test_action); - if (!this.is_multiple) { - this.selected_item.attr("tabindex", this.search_field.attr("tabindex")); - this.search_field.attr("tabindex", -1); - } - this.active_field = false; - this.results_hide(); - this.container.removeClass("chzn-container-active"); - this.winnow_results_clear(); - this.clear_backstroke(); - this.show_search_field_default(); - return this.search_field_scale(); - }; - Chosen.prototype.activate_field = function() { - if (!this.is_multiple && !this.active_field) { - this.search_field.attr("tabindex", this.selected_item.attr("tabindex")); - this.selected_item.attr("tabindex", -1); - } - this.container.addClass("chzn-container-active"); - this.active_field = true; - this.search_field.val(this.search_field.val()); - return this.search_field.focus(); - }; - Chosen.prototype.test_active_click = function(evt) { - if ($(evt.target).parents('#' + this.container_id).length) { - return this.active_field = true; - } else { - return this.close_field(); - } - }; - Chosen.prototype.results_build = function() { - var content, data, startTime, _i, _len, _ref; - startTime = new Date(); - this.parsing = true; - this.results_data = root.SelectParser.select_to_array(this.form_field); - if (this.is_multiple && this.choices > 0) { - this.search_choices.find("li.search-choice").remove(); - this.choices = 0; - } else if (!this.is_multiple) { - this.selected_item.find("span").text(this.default_text); - } - content = ''; - _ref = this.results_data; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - data = _ref[_i]; - if (data.group) { - content += this.result_add_group(data); - } else if (!data.empty) { - content += this.result_add_option(data); - if (data.selected && this.is_multiple) { - this.choice_build(data); - } else if (data.selected && !this.is_multiple) { - this.selected_item.find("span").text(data.text); - if (this.allow_single_deselect) { - this.selected_item.find("span").first().after(""); - } - } - } - } - this.search_field_disabled(); - this.show_search_field_default(); - this.search_field_scale(); - this.search_results.html(content); - return this.parsing = false; - }; - Chosen.prototype.result_add_group = function(group) { - if (!group.disabled) { - group.dom_id = this.container_id + "_g_" + group.array_index; - return '
    • ' + $("
      ").text(group.label).html() + '
    • '; - } else { - return ""; - } - }; - Chosen.prototype.result_add_option = function(option) { - var classes, style; - if (!option.disabled) { - option.dom_id = this.container_id + "_o_" + option.array_index; - classes = option.selected && this.is_multiple ? [] : ["active-result"]; - if (option.selected) { - classes.push("result-selected"); - } - if (option.group_array_index != null) { - classes.push("group-option"); - } - if (option.classes !== "") { - classes.push(option.classes); - } - style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : ""; - return '
    • ' + option.html + '
    • '; - } else { - return ""; - } - }; - Chosen.prototype.results_update_field = function() { - this.result_clear_highlight(); - this.result_single_selected = null; - return this.results_build(); - }; - Chosen.prototype.result_do_highlight = function(el) { - var high_bottom, high_top, maxHeight, visible_bottom, visible_top; - if (el.length) { - this.result_clear_highlight(); - this.result_highlight = el; - this.result_highlight.addClass("highlighted"); - maxHeight = parseInt(this.search_results.css("maxHeight"), 10); - visible_top = this.search_results.scrollTop(); - visible_bottom = maxHeight + visible_top; - high_top = this.result_highlight.position().top + this.search_results.scrollTop(); - high_bottom = high_top + this.result_highlight.outerHeight(); - if (high_bottom >= visible_bottom) { - return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0); - } else if (high_top < visible_top) { - return this.search_results.scrollTop(high_top); - } - } - }; - Chosen.prototype.result_clear_highlight = function() { - if (this.result_highlight) { - this.result_highlight.removeClass("highlighted"); - } - return this.result_highlight = null; - }; - Chosen.prototype.results_toggle = function() { - if (this.results_showing) { - return this.results_hide(); - } else { - return this.results_show(); - } - }; - Chosen.prototype.results_show = function() { - var dd_top; - if (!this.is_multiple) { - this.selected_item.addClass("chzn-single-with-drop"); - if (this.result_single_selected) { - this.result_do_highlight(this.result_single_selected); - } - } - dd_top = this.is_multiple ? this.container.height() : this.container.height() - 1; - this.dropdown.css({ - "top": dd_top + "px", - "left": 0 - }); - this.results_showing = true; - this.search_field.focus(); - this.search_field.val(this.search_field.val()); - return this.winnow_results(); - }; - Chosen.prototype.results_hide = function() { - if (!this.is_multiple) { - this.selected_item.removeClass("chzn-single-with-drop"); - } - this.result_clear_highlight(); - this.dropdown.css({ - "left": "-9000px" - }); - return this.results_showing = false; - }; - Chosen.prototype.set_tab_index = function(el) { - var ti; - if (this.form_field_jq.attr("tabindex")) { - ti = this.form_field_jq.attr("tabindex"); - this.form_field_jq.attr("tabindex", -1); - if (this.is_multiple) { - return this.search_field.attr("tabindex", ti); - } else { - this.selected_item.attr("tabindex", ti); - return this.search_field.attr("tabindex", -1); - } - } - }; - Chosen.prototype.show_search_field_default = function() { - if (this.is_multiple && this.choices < 1 && !this.active_field) { - this.search_field.val(this.default_text); - return this.search_field.addClass("default"); - } else { - this.search_field.val(""); - return this.search_field.removeClass("default"); - } - }; - Chosen.prototype.search_results_mouseup = function(evt) { - var target; - target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); - if (target.length) { - this.result_highlight = target; - return this.result_select(evt); - } - }; - Chosen.prototype.search_results_mouseover = function(evt) { - var target; - target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); - if (target) { - return this.result_do_highlight(target); - } - }; - Chosen.prototype.search_results_mouseout = function(evt) { - if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) { - return this.result_clear_highlight(); - } - }; - Chosen.prototype.choices_click = function(evt) { - evt.preventDefault(); - if (this.active_field && !($(evt.target).hasClass("search-choice" || $(evt.target).parents('.search-choice').first)) && !this.results_showing) { - return this.results_show(); - } - }; - Chosen.prototype.choice_build = function(item) { - var choice_id, link; - choice_id = this.container_id + "_c_" + item.array_index; - this.choices += 1; - this.search_container.before('
    • ' + item.html + '
    • '); - link = $('#' + choice_id).find("a").first(); - return link.click(__bind(function(evt) { - return this.choice_destroy_link_click(evt); - }, this)); - }; - Chosen.prototype.choice_destroy_link_click = function(evt) { - evt.preventDefault(); - if (!this.is_disabled) { - this.pending_destroy_click = true; - return this.choice_destroy($(evt.target)); - } else { - return evt.stopPropagation; - } - }; - Chosen.prototype.choice_destroy = function(link) { - this.choices -= 1; - this.show_search_field_default(); - if (this.is_multiple && this.choices > 0 && this.search_field.val().length < 1) { - this.results_hide(); - } - this.result_deselect(link.attr("rel")); - return link.parents('li').first().remove(); - }; - Chosen.prototype.results_reset = function(evt) { - this.form_field.options[0].selected = true; - this.selected_item.find("span").text(this.default_text); - this.show_search_field_default(); - $(evt.target).remove(); - this.form_field_jq.trigger("change"); - if (this.active_field) { - return this.results_hide(); - } - }; - Chosen.prototype.result_select = function(evt) { - var high, high_id, item, position; - if (this.result_highlight) { - high = this.result_highlight; - high_id = high.attr("id"); - this.result_clear_highlight(); - if (this.is_multiple) { - this.result_deactivate(high); - } else { - this.search_results.find(".result-selected").removeClass("result-selected"); - this.result_single_selected = high; - } - high.addClass("result-selected"); - position = high_id.substr(high_id.lastIndexOf("_") + 1); - item = this.results_data[position]; - item.selected = true; - this.form_field.options[item.options_index].selected = true; - if (this.is_multiple) { - this.choice_build(item); - } else { - this.selected_item.find("span").first().text(item.text); - if (this.allow_single_deselect) { - this.selected_item.find("span").first().after(""); - } - } - if (!(evt.metaKey && this.is_multiple)) { - this.results_hide(); - } - this.search_field.val(""); - this.form_field_jq.trigger("change"); - return this.search_field_scale(); - } - }; - Chosen.prototype.result_activate = function(el) { - return el.addClass("active-result"); - }; - Chosen.prototype.result_deactivate = function(el) { - return el.removeClass("active-result"); - }; - Chosen.prototype.result_deselect = function(pos) { - var result, result_data; - result_data = this.results_data[pos]; - result_data.selected = false; - this.form_field.options[result_data.options_index].selected = false; - result = $("#" + this.container_id + "_o_" + pos); - result.removeClass("result-selected").addClass("active-result").show(); - this.result_clear_highlight(); - this.winnow_results(); - this.form_field_jq.trigger("change"); - return this.search_field_scale(); - }; - Chosen.prototype.results_search = function(evt) { - if (this.results_showing) { - return this.winnow_results(); - } else { - return this.results_show(); - } - }; - Chosen.prototype.winnow_results = function() { - var found, option, part, parts, regex, result_id, results, searchText, startTime, startpos, text, zregex, _i, _j, _len, _len2, _ref; - startTime = new Date(); - this.no_results_clear(); - results = 0; - searchText = this.search_field.val() === this.default_text ? "" : $('
      ').text($.trim(this.search_field.val())).html(); - regex = new RegExp('^' + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i'); - zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i'); - _ref = this.results_data; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - option = _ref[_i]; - if (!option.disabled && !option.empty) { - if (option.group) { - $('#' + option.dom_id).hide(); - } else if (!(this.is_multiple && option.selected)) { - found = false; - result_id = option.dom_id; - if (regex.test(option.html)) { - found = true; - results += 1; - } else if (option.html.indexOf(" ") >= 0 || option.html.indexOf("[") === 0) { - parts = option.html.replace(/\[|\]/g, "").split(" "); - if (parts.length) { - for (_j = 0, _len2 = parts.length; _j < _len2; _j++) { - part = parts[_j]; - if (regex.test(part)) { - found = true; - results += 1; - } - } - } - } - if (found) { - if (searchText.length) { - startpos = option.html.search(zregex); - text = option.html.substr(0, startpos + searchText.length) + '' + option.html.substr(startpos + searchText.length); - text = text.substr(0, startpos) + '' + text.substr(startpos); - } else { - text = option.html; - } - if ($("#" + result_id).html !== text) { - $("#" + result_id).html(text); - } - this.result_activate($("#" + result_id)); - if (option.group_array_index != null) { - $("#" + this.results_data[option.group_array_index].dom_id).show(); - } - } else { - if (this.result_highlight && result_id === this.result_highlight.attr('id')) { - this.result_clear_highlight(); - } - this.result_deactivate($("#" + result_id)); - } - } - } - } - if (results < 1 && searchText.length) { - return this.no_results(searchText); - } else { - return this.winnow_results_set_highlight(); - } - }; - Chosen.prototype.winnow_results_clear = function() { - var li, lis, _i, _len, _results; - this.search_field.val(""); - lis = this.search_results.find("li"); - _results = []; - for (_i = 0, _len = lis.length; _i < _len; _i++) { - li = lis[_i]; - li = $(li); - _results.push(li.hasClass("group-result") ? li.show() : !this.is_multiple || !li.hasClass("result-selected") ? this.result_activate(li) : void 0); - } - return _results; - }; - Chosen.prototype.winnow_results_set_highlight = function() { - var do_high, selected_results; - if (!this.result_highlight) { - selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : []; - do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first(); - if (do_high != null) { - return this.result_do_highlight(do_high); - } - } - }; - Chosen.prototype.no_results = function(terms) { - var no_results_html; - no_results_html = $('
    • ' + this.results_none_found + ' ""
    • '); - no_results_html.find("span").first().html(terms); - return this.search_results.append(no_results_html); - }; - Chosen.prototype.no_results_clear = function() { - return this.search_results.find(".no-results").remove(); - }; - Chosen.prototype.keydown_arrow = function() { - var first_active, next_sib; - if (!this.result_highlight) { - first_active = this.search_results.find("li.active-result").first(); - if (first_active) { - this.result_do_highlight($(first_active)); - } - } else if (this.results_showing) { - next_sib = this.result_highlight.nextAll("li.active-result").first(); - if (next_sib) { - this.result_do_highlight(next_sib); - } - } - if (!this.results_showing) { - return this.results_show(); - } - }; - Chosen.prototype.keyup_arrow = function() { - var prev_sibs; - if (!this.results_showing && !this.is_multiple) { - return this.results_show(); - } else if (this.result_highlight) { - prev_sibs = this.result_highlight.prevAll("li.active-result"); - if (prev_sibs.length) { - return this.result_do_highlight(prev_sibs.first()); - } else { - if (this.choices > 0) { - this.results_hide(); - } - return this.result_clear_highlight(); - } - } - }; - Chosen.prototype.keydown_backstroke = function() { - if (this.pending_backstroke) { - this.choice_destroy(this.pending_backstroke.find("a").first()); - return this.clear_backstroke(); - } else { - this.pending_backstroke = this.search_container.siblings("li.search-choice").last(); - return this.pending_backstroke.addClass("search-choice-focus"); - } - }; - Chosen.prototype.clear_backstroke = function() { - if (this.pending_backstroke) { - this.pending_backstroke.removeClass("search-choice-focus"); - } - return this.pending_backstroke = null; - }; - Chosen.prototype.keyup_checker = function(evt) { - var stroke, _ref; - stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; - this.search_field_scale(); - switch (stroke) { - case 8: - if (this.is_multiple && this.backstroke_length < 1 && this.choices > 0) { - return this.keydown_backstroke(); - } else if (!this.pending_backstroke) { - this.result_clear_highlight(); - return this.results_search(); - } - break; - case 13: - evt.preventDefault(); - if (this.results_showing) { - return this.result_select(evt); - } - break; - case 27: - if (this.results_showing) { - return this.results_hide(); - } - break; - case 9: - case 38: - case 40: - case 16: - case 91: - case 17: - break; - default: - return this.results_search(); - } - }; - Chosen.prototype.keydown_checker = function(evt) { - var stroke, _ref; - stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; - this.search_field_scale(); - if (stroke !== 8 && this.pending_backstroke) { - this.clear_backstroke(); - } - switch (stroke) { - case 8: - this.backstroke_length = this.search_field.val().length; - break; - case 9: - this.mouse_on_container = false; - break; - case 13: - evt.preventDefault(); - break; - case 38: - evt.preventDefault(); - this.keyup_arrow(); - break; - case 40: - this.keydown_arrow(); - break; - } - }; - Chosen.prototype.search_field_scale = function() { - var dd_top, div, h, style, style_block, styles, w, _i, _len; - if (this.is_multiple) { - h = 0; - w = 0; - style_block = "position:absolute; left: -1000px; top: -1000px; display:none;"; - styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing']; - for (_i = 0, _len = styles.length; _i < _len; _i++) { - style = styles[_i]; - style_block += style + ":" + this.search_field.css(style) + ";"; - } - div = $('
      ', { - 'style': style_block - }); - div.text(this.search_field.val()); - $('body').append(div); - w = div.width() + 25; - div.remove(); - if (w > this.f_width - 10) { - w = this.f_width - 10; - } - this.search_field.css({ - 'width': w + 'px' - }); - dd_top = this.container.height(); - return this.dropdown.css({ - "top": dd_top + "px" - }); - } - }; - Chosen.prototype.generate_field_id = function() { - var new_id; - new_id = this.generate_random_id(); - this.form_field.id = new_id; - return new_id; - }; - Chosen.prototype.generate_random_id = function() { - var string; - string = "sel" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char(); - while ($("#" + string).length > 0) { - string += this.generate_random_char(); - } - return string; - }; - Chosen.prototype.generate_random_char = function() { - var chars, newchar, rand; - chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ"; - rand = Math.floor(Math.random() * chars.length); - return newchar = chars.substring(rand, rand + 1); - }; - return Chosen; - })(); - get_side_border_padding = function(elmt) { - var side_border_padding; - return side_border_padding = elmt.outerWidth() - elmt.width(); - }; - root.get_side_border_padding = get_side_border_padding; -}).call(this); -(function() { - var SelectParser; - SelectParser = (function() { - function SelectParser() { - this.options_index = 0; - this.parsed = []; - } - SelectParser.prototype.add_node = function(child) { - if (child.nodeName === "OPTGROUP") { - return this.add_group(child); - } else { - return this.add_option(child); - } - }; - SelectParser.prototype.add_group = function(group) { - var group_position, option, _i, _len, _ref, _results; - group_position = this.parsed.length; - this.parsed.push({ - array_index: group_position, - group: true, - label: group.label, - children: 0, - disabled: group.disabled - }); - _ref = group.childNodes; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - option = _ref[_i]; - _results.push(this.add_option(option, group_position, group.disabled)); - } - return _results; - }; - SelectParser.prototype.add_option = function(option, group_position, group_disabled) { - if (option.nodeName === "OPTION") { - if (option.text !== "") { - if (group_position != null) { - this.parsed[group_position].children += 1; - } - this.parsed.push({ - array_index: this.parsed.length, - options_index: this.options_index, - value: option.value, - text: option.text, - html: option.innerHTML, - selected: option.selected, - disabled: group_disabled === true ? group_disabled : option.disabled, - group_array_index: group_position, - classes: option.className, - style: option.style.cssText - }); - } else { - this.parsed.push({ - array_index: this.parsed.length, - options_index: this.options_index, - empty: true - }); - } - return this.options_index += 1; - } - }; - return SelectParser; - })(); - SelectParser.select_to_array = function(select) { - var child, parser, _i, _len, _ref; - parser = new SelectParser(); - _ref = select.childNodes; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - child = _ref[_i]; - parser.add_node(child); - } - return parser.parsed; - }; - this.SelectParser = SelectParser; -}).call(this); diff --git a/plugins-compat-tester-gae/src/main/webapp/js/chosen/chosen.jquery-0.9.5.min.js b/plugins-compat-tester-gae/src/main/webapp/js/chosen/chosen.jquery-0.9.5.min.js deleted file mode 100644 index 371ee53e7..000000000 --- a/plugins-compat-tester-gae/src/main/webapp/js/chosen/chosen.jquery-0.9.5.min.js +++ /dev/null @@ -1,10 +0,0 @@ -// Chosen, a Select Box Enhancer for jQuery and Protoype -// by Patrick Filler for Harvest, http://getharvest.com -// -// Version 0.9.5 -// Full source at https://github.com/harvesthq/chosen -// Copyright (c) 2011 Harvest http://getharvest.com - -// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md -// This file is generated by `cake build`, do not edit it by hand. -(function(){var a,b,c,d,e=function(a,b){return function(){return a.apply(b,arguments)}};d=this,a=jQuery,a.fn.extend({chosen:function(c){return a.browser!=="msie"||a.browser.version!=="6.0"&&a.browser.version!=="7.0"?a(this).each(function(d){if(!a(this).hasClass("chzn-done"))return new b(this,c)}):this}}),b=function(){function b(b,c){this.form_field=b,this.options=c!=null?c:{},this.set_default_values(),this.form_field_jq=a(this.form_field),this.is_multiple=this.form_field.multiple,this.is_rtl=this.form_field_jq.hasClass("chzn-rtl"),this.default_text_default=this.form_field.multiple?"Select Some Options":"Select an Option",this.set_up_html(),this.register_observers(),this.form_field_jq.addClass("chzn-done")}b.prototype.set_default_values=function(){this.click_test_action=e(function(a){return this.test_active_click(a)},this),this.activate_action=e(function(a){return this.activate_field(a)},this),this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=this.options.allow_single_deselect!=null&&this.form_field.options[0].text===""?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.choices=0;return this.results_none_found=this.options.no_results_text||"No results match"},b.prototype.set_up_html=function(){var b,d,e,f;this.container_id=this.form_field.id.length?this.form_field.id.replace(/(:|\.)/g,"_"):this.generate_field_id(),this.container_id+="_chzn",this.f_width=this.form_field_jq.outerWidth(),this.default_text=this.form_field_jq.data("placeholder")?this.form_field_jq.data("placeholder"):this.default_text_default,b=a("
      ",{id:this.container_id,"class":"chzn-container"+(this.is_rtl?" chzn-rtl":""),style:"width: "+this.f_width+"px;"}),this.is_multiple?b.html('
        '):b.html(''+this.default_text+'
          '),this.form_field_jq.hide().after(b),this.container=a("#"+this.container_id),this.container.addClass("chzn-container-"+(this.is_multiple?"multi":"single")),!this.is_multiple&&this.form_field.options.length<=this.disable_search_threshold&&this.container.addClass("chzn-container-single-nosearch"),this.dropdown=this.container.find("div.chzn-drop").first(),d=this.container.height(),e=this.f_width-c(this.dropdown),this.dropdown.css({width:e+"px",top:d+"px"}),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chzn-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chzn-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chzn-search").first(),this.selected_item=this.container.find(".chzn-single").first(),f=e-c(this.search_container)-c(this.search_field),this.search_field.css({width:f+"px"})),this.results_build();return this.set_tab_index()},b.prototype.register_observers=function(){this.container.mousedown(e(function(a){return this.container_mousedown(a)},this)),this.container.mouseup(e(function(a){return this.container_mouseup(a)},this)),this.container.mouseenter(e(function(a){return this.mouse_enter(a)},this)),this.container.mouseleave(e(function(a){return this.mouse_leave(a)},this)),this.search_results.mouseup(e(function(a){return this.search_results_mouseup(a)},this)),this.search_results.mouseover(e(function(a){return this.search_results_mouseover(a)},this)),this.search_results.mouseout(e(function(a){return this.search_results_mouseout(a)},this)),this.form_field_jq.bind("liszt:updated",e(function(a){return this.results_update_field(a)},this)),this.search_field.blur(e(function(a){return this.input_blur(a)},this)),this.search_field.keyup(e(function(a){return this.keyup_checker(a)},this)),this.search_field.keydown(e(function(a){return this.keydown_checker(a)},this));if(this.is_multiple){this.search_choices.click(e(function(a){return this.choices_click(a)},this));return this.search_field.focus(e(function(a){return this.input_focus(a)},this))}},b.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq.attr("disabled");if(this.is_disabled){this.container.addClass("chzn-disabled"),this.search_field.attr("disabled",!0),this.is_multiple||this.selected_item.unbind("focus",this.activate_action);return this.close_field()}this.container.removeClass("chzn-disabled"),this.search_field.attr("disabled",!1);if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)},b.prototype.container_mousedown=function(b){var c;if(!this.is_disabled){c=b!=null?a(b.target).hasClass("search-choice-close"):!1,b&&b.type==="mousedown"&&b.stopPropagation();if(!this.pending_destroy_click&&!c){this.active_field?!this.is_multiple&&b&&(a(b.target)===this.selected_item||a(b.target).parents("a.chzn-single").length)&&(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).click(this.click_test_action),this.results_show());return this.activate_field()}return this.pending_destroy_click=!1}},b.prototype.container_mouseup=function(a){if(a.target.nodeName==="ABBR")return this.results_reset(a)},b.prototype.mouse_enter=function(){return this.mouse_on_container=!0},b.prototype.mouse_leave=function(){return this.mouse_on_container=!1},b.prototype.input_focus=function(a){if(!this.active_field)return setTimeout(e(function(){return this.container_mousedown()},this),50)},b.prototype.input_blur=function(a){if(!this.mouse_on_container){this.active_field=!1;return setTimeout(e(function(){return this.blur_test()},this),100)}},b.prototype.blur_test=function(a){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()},b.prototype.close_field=function(){a(document).unbind("click",this.click_test_action),this.is_multiple||(this.selected_item.attr("tabindex",this.search_field.attr("tabindex")),this.search_field.attr("tabindex",-1)),this.active_field=!1,this.results_hide(),this.container.removeClass("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default();return this.search_field_scale()},b.prototype.activate_field=function(){!this.is_multiple&&!this.active_field&&(this.search_field.attr("tabindex",this.selected_item.attr("tabindex")),this.selected_item.attr("tabindex",-1)),this.container.addClass("chzn-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val());return this.search_field.focus()},b.prototype.test_active_click=function(b){return a(b.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()},b.prototype.results_build=function(){var a,b,c,e,f,g;c=new Date,this.parsing=!0,this.results_data=d.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.find("li.search-choice").remove(),this.choices=0):this.is_multiple||this.selected_item.find("span").text(this.default_text),a="",g=this.results_data;for(e=0,f=g.length;e')));this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.search_results.html(a);return this.parsing=!1},b.prototype.result_add_group=function(b){if(!b.disabled){b.dom_id=this.container_id+"_g_"+b.array_index;return'
        • '+a("
          ").text(b.label).html()+"
        • "}return""},b.prototype.result_add_option=function(a){var b,c;if(!a.disabled){a.dom_id=this.container_id+"_o_"+a.array_index,b=a.selected&&this.is_multiple?[]:["active-result"],a.selected&&b.push("result-selected"),a.group_array_index!=null&&b.push("group-option"),a.classes!==""&&b.push(a.classes),c=a.style.cssText!==""?' style="'+a.style+'"':"";return'
        • "+a.html+"
        • "}return""},b.prototype.results_update_field=function(){this.result_clear_highlight(),this.result_single_selected=null;return this.results_build()},b.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight();if(b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(c'+b.html+''),d=a("#"+c).find("a").first();return d.click(e(function(a){return this.choice_destroy_link_click(a)},this))},b.prototype.choice_destroy_link_click=function(b){b.preventDefault();if(!this.is_disabled){this.pending_destroy_click=!0;return this.choice_destroy(a(b.target))}return b.stopPropagation},b.prototype.choice_destroy=function(a){this.choices-=1,this.show_search_field_default(),this.is_multiple&&this.choices>0&&this.search_field.val().length<1&&this.results_hide(),this.result_deselect(a.attr("rel"));return a.parents("li").first().remove()},b.prototype.results_reset=function(b){this.form_field.options[0].selected=!0,this.selected_item.find("span").text(this.default_text),this.show_search_field_default(),a(b.target).remove(),this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()},b.prototype.result_select=function(a){var b,c,d,e;if(this.result_highlight){b=this.result_highlight,c=b.attr("id"),this.result_clear_highlight(),this.is_multiple?this.result_deactivate(b):(this.search_results.find(".result-selected").removeClass("result-selected"),this.result_single_selected=b),b.addClass("result-selected"),e=c.substr(c.lastIndexOf("_")+1),d=this.results_data[e],d.selected=!0,this.form_field.options[d.options_index].selected=!0,this.is_multiple?this.choice_build(d):(this.selected_item.find("span").first().text(d.text),this.allow_single_deselect&&this.selected_item.find("span").first().after('')),(!a.metaKey||!this.is_multiple)&&this.results_hide(),this.search_field.val(""),this.form_field_jq.trigger("change");return this.search_field_scale()}},b.prototype.result_activate=function(a){return a.addClass("active-result")},b.prototype.result_deactivate=function(a){return a.removeClass("active-result")},b.prototype.result_deselect=function(b){var c,d;d=this.results_data[b],d.selected=!1,this.form_field.options[d.options_index].selected=!1,c=a("#"+this.container_id+"_o_"+b),c.removeClass("result-selected").addClass("active-result").show(),this.result_clear_highlight(),this.winnow_results(),this.form_field_jq.trigger("change");return this.search_field_scale()},b.prototype.results_search=function(a){return this.results_showing?this.winnow_results():this.results_show()},b.prototype.winnow_results=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;j=new Date,this.no_results_clear(),h=0,i=this.search_field.val()===this.default_text?"":a("
          ").text(a.trim(this.search_field.val())).html(),f=new RegExp("^"+i.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),m=new RegExp(i.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),r=this.results_data;for(n=0,p=r.length;n=0||c.html.indexOf("[")===0){e=c.html.replace(/\[|\]/g,"").split(" ");if(e.length)for(o=0,q=e.length;o"+c.html.substr(k+i.length),l=l.substr(0,k)+""+l.substr(k)):l=c.html,a("#"+g).html!==l&&a("#"+g).html(l),this.result_activate(a("#"+g)),c.group_array_index!=null&&a("#"+this.results_data[c.group_array_index].dom_id).show()):(this.result_highlight&&g===this.result_highlight.attr("id")&&this.result_clear_highlight(),this.result_deactivate(a("#"+g)))}}return h<1&&i.length?this.no_results(i):this.winnow_results_set_highlight()},b.prototype.winnow_results_clear=function(){var b,c,d,e,f;this.search_field.val(""),c=this.search_results.find("li"),f=[];for(d=0,e=c.length;d'+this.results_none_found+' ""'),c.find("span").first().html(b);return this.search_results.append(c)},b.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},b.prototype.keydown_arrow=function(){var b,c;this.result_highlight?this.results_showing&&(c=this.result_highlight.nextAll("li.active-result").first(),c&&this.result_do_highlight(c)):(b=this.search_results.find("li.active-result").first(),b&&this.result_do_highlight(a(b)));if(!this.results_showing)return this.results_show()},b.prototype.keyup_arrow=function(){var a;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight){a=this.result_highlight.prevAll("li.active-result");if(a.length)return this.result_do_highlight(a.first());this.choices>0&&this.results_hide();return this.result_clear_highlight()}},b.prototype.keydown_backstroke=function(){if(this.pending_backstroke){this.choice_destroy(this.pending_backstroke.find("a").first());return this.clear_backstroke()}this.pending_backstroke=this.search_container.siblings("li.search-choice").last();return this.pending_backstroke.addClass("search-choice-focus")},b.prototype.clear_backstroke=function(){this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus");return this.pending_backstroke=null},b.prototype.keyup_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale();switch(b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke){this.result_clear_highlight();return this.results_search()}break;case 13:a.preventDefault();if(this.results_showing)return this.result_select(a);break;case 27:if(this.results_showing)return this.results_hide();break;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},b.prototype.keydown_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale(),b!==8&&this.pending_backstroke&&this.clear_backstroke();switch(b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},b.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(i=0,j=g.length;i",{style:f}),c.text(this.search_field.val()),a("body").append(c),h=c.width()+25,c.remove(),h>this.f_width-10&&(h=this.f_width-10),this.search_field.css({width:h+"px"}),b=this.container.height();return this.dropdown.css({top:b+"px"})}},b.prototype.generate_field_id=function(){var a;a=this.generate_random_id(),this.form_field.id=a;return a},b.prototype.generate_random_id=function(){var b;b="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(a("#"+b).length>0)b+=this.generate_random_char();return b},b.prototype.generate_random_char=function(){var a,b,c;a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ",c=Math.floor(Math.random()*a.length);return b=a.substring(c,c+1)};return b}(),c=function(a){var b;return b=a.outerWidth()-a.width()},d.get_side_border_padding=c}).call(this),function(){var a;a=function(){function a(){this.options_index=0,this.parsed=[]}a.prototype.add_node=function(a){return a.nodeName==="OPTGROUP"?this.add_group(a):this.add_option(a)},a.prototype.add_group=function(a){var b,c,d,e,f,g;b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:a.label,children:0,disabled:a.disabled}),f=a.childNodes,g=[];for(d=0,e=f.length;d=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&& -a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= -a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), -g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); -;/* - * jQuery UI Dialog 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Dialog - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - * jquery.ui.button.js - * jquery.ui.draggable.js - * jquery.ui.mouse.js - * jquery.ui.position.js - * jquery.ui.resizable.js - */ -(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false, -position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
          ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ -b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
          ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), -h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", -e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); -a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== -b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1; -d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== -f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("
          ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
          ").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a, -function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close", -handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition, -originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize", -f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "): -[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f); -if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"): -e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a= -this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height- -b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), -create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()
          ").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&& -c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a mavenProperties = Collections.emptyMap(); private String mavenPropertiesFile; - - // GoogleAppEngine property allowing to provide a security token to be able to write data - private String gaeSecurityToken; - // GoogleAppEngin base url for plugin compat tester - private String gaeBaseUrl; // Classpath prefixes of the extra hooks private List hookPrefixes = new ArrayList<>(Collections.singletonList("org.jenkins")); @@ -362,22 +357,6 @@ public void setCacheThresholStatus(TestStatus cacheThresholStatus) { this.cacheThresholStatus = cacheThresholStatus; } - public String getGaeSecurityToken() { - return gaeSecurityToken; - } - - public void setGaeSecurityToken(String gaeSecurityToken) { - this.gaeSecurityToken = gaeSecurityToken; - } - - public String getGaeBaseUrl() { - return gaeBaseUrl; - } - - public void setGaeBaseUrl(String gaeBaseUrl) { - this.gaeBaseUrl = gaeBaseUrl; - } - public File getWar() { return war; } diff --git a/plugins-compat-tester/pom.xml b/plugins-compat-tester/pom.xml index f641424c8..4c1aa3ced 100644 --- a/plugins-compat-tester/pom.xml +++ b/plugins-compat-tester/pom.xml @@ -25,11 +25,6 @@ org.jenkins-ci.tests plugins-compat-tester-model 0.2.1-SNAPSHOT - - - org.jenkins-ci.tests - plugins-compat-tester-gae-client - 0.2.1-SNAPSHOT org.jenkins-ci.main diff --git a/plugins-compat-tester/src/main/java/org/jenkins/tools/test/PluginCompatTester.java b/plugins-compat-tester/src/main/java/org/jenkins/tools/test/PluginCompatTester.java index 392a19d30..84b0acf5e 100644 --- a/plugins-compat-tester/src/main/java/org/jenkins/tools/test/PluginCompatTester.java +++ b/plugins-compat-tester/src/main/java/org/jenkins/tools/test/PluginCompatTester.java @@ -161,11 +161,6 @@ public PluginCompatReport testPlugins() } } - DataImporter dataImporter = null; - if(config.getGaeBaseUrl() != null && config.getGaeSecurityToken() != null){ - dataImporter = new DataImporter(config.getGaeBaseUrl(), config.getGaeSecurityToken()); - } - // Determine the plugin data HashMap pluginGroupIds = new HashMap<>(); // Used to track real plugin groupIds from WARs @@ -326,12 +321,6 @@ && new VersionNumber(coreCoordinates.version).compareTo(new VersionNumber("1.485 PluginCompatResult result = new PluginCompatResult(actualCoreCoordinates, status, errorMessage, warningMessages, buildLogFilePath); report.add(pluginInfos, result); - // Adding result to GAE - if(dataImporter != null){ - dataImporter.importPluginCompatResult(result, pluginInfos, config.reportFile.getParentFile()); - // TODO: import log files - } - if(config.reportFile != null){ if(!config.reportFile.exists()){ FileUtils.fileWrite(config.reportFile.getAbsolutePath(), ""); diff --git a/plugins-compat-tester/src/main/java/org/jenkins/tools/test/model/MavenPom.java b/plugins-compat-tester/src/main/java/org/jenkins/tools/test/model/MavenPom.java index 0ed1ac923..568b92da3 100644 --- a/plugins-compat-tester/src/main/java/org/jenkins/tools/test/model/MavenPom.java +++ b/plugins-compat-tester/src/main/java/org/jenkins/tools/test/model/MavenPom.java @@ -207,7 +207,12 @@ public void addDependencies(Map toAdd, Mapplugins-compat-tester-cli plugins-compat-tester-model - plugins-compat-tester-gae - plugins-compat-tester-gae-client