diff --git a/mms-ent/build.sh b/mms-ent/build.sh index 275f304a..5d9416ac 100755 --- a/mms-ent/build.sh +++ b/mms-ent/build.sh @@ -4,7 +4,7 @@ if [ "$1" == "" ]; then - MAVEN_OPTS="-Xms256m -Xmx8G -Xdebug" ./mvnw clean package -f pom.xml -Ddependency.surf.version=6.3 -Dmaven.test.skip=true -U -Dmaven.repo.local=$HOME/.m2/repository; + MAVEN_OPTS="-Xms256m -Xmx8G -Xdebug" ./mvnw clean package -f pom.xml -P build -Ddependency.surf.version=6.3 -Dmaven.test.skip=true -U -Dmaven.repo.local=$HOME/.m2/repository; else ./mvnw versions:set -DnewVersion=$1 -DgenerateBackupPoms=false -Ddependency.surf.version=6.3 fi diff --git a/mms-ent/migration/3.2.0/README.md b/mms-ent/migration/3.2.0/README.md index b864d75c..aa8c7411 100644 --- a/mms-ent/migration/3.2.0/README.md +++ b/mms-ent/migration/3.2.0/README.md @@ -23,6 +23,19 @@ delete from alf_node_properties where qname_id in (select id from alf_qname wher delete from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0'); delete from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0'; ``` +NOTE: If migrating from pre 3.0.0, run the following queries instead: (This will delete some model data stored in alfresco) +``` +delete from alf_node_aspects where qname_id in (select id from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0')); +delete from alf_node_properties where node_id in (select id from alf_node where type_qname_id in (select id from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0'))); +delete from alf_child_assoc where parent_node_id in (select id from alf_node where type_qname_id in (select id from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0'))); +delete from alf_child_assoc where child_node_id in (select id from alf_node where type_qname_id in (select id from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0'))); +delete from alf_node_aspects where node_id in (select id from alf_node where type_qname_id in (select id from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0'))); +delete from alf_node_aspects where qname_id in (select id from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0'))); +delete from alf_node_assoc where type_qname_id in (select id from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0')); +delete from alf_node where type_qname_id in (select id from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0')); +delete from alf_qname where ns_id = (select id from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0'); +delete from alf_namespace where uri = 'http://jpl.nasa.gov/model/view/1.0'; +``` ### Updating Commit, Project and Ref Elastic Obejcts with the _projectId key diff --git a/mms-ent/pom.xml b/mms-ent/pom.xml index 1f4db7d1..b6a683e3 100755 --- a/mms-ent/pom.xml +++ b/mms-ent/pom.xml @@ -4,7 +4,7 @@ 4.0.0 gov.nasa.jpl.mbee mms-ent - 3.2.1 + 3.2.2 Alfresco Repository and Share Quickstart with database and an embedded Tomcat runner. This All-in-One project allows to manage all the components involved in Alfresco development (Repo, Share, Solr4, AMPs) in one project @@ -104,7 +104,18 @@ false - + + + build + + + true + + chmod diff --git a/mms-ent/repo-amp/pom.xml b/mms-ent/repo-amp/pom.xml index a311adeb..62cfe773 100755 --- a/mms-ent/repo-amp/pom.xml +++ b/mms-ent/repo-amp/pom.xml @@ -10,7 +10,7 @@ gov.nasa.jpl.mbee mms-ent - 3.2.1 + 3.2.2 @@ -151,8 +151,8 @@ org.antlr antlr4 - 4.5 - + 4.5 + org.apache.xmlgraphics batik-rasterizer diff --git a/mms-ent/repo-amp/src/main/amp/web/WEB-INF/web.xml b/mms-ent/repo-amp/src/main/amp/web/WEB-INF/web.xml index a13d966c..6a483ccd 100644 --- a/mms-ent/repo-amp/src/main/amp/web/WEB-INF/web.xml +++ b/mms-ent/repo-amp/src/main/amp/web/WEB-INF/web.xml @@ -21,9 +21,9 @@ false - + store workspace://SpacesStore @@ -33,7 +33,7 @@ /app:company_home - Vaadin production modeproductionModetrue + Cleans security context before authentication via the CMIS services or filters. Mapped only for CMIS @@ -85,6 +85,18 @@ Global Localization Filter org.alfresco.web.app.servlet.GlobalLocalizationFilter + + + X509AuthFilter + org.alfresco.web.app.servlet.AlfrescoX509ServletFilter + + + + + + Global Localization Filter + /* + REQUEST + + - - - Office Services Authentication Filter - org.alfresco.repo.web.filter.beans.BeanProxyFilter - - beanName - AosAuthenticationFilter - - - - - Office Services Filter - org.alfresco.enterprise.repo.officeservices.service.ServiceFilter - - - - Global Localization Filter - /* - REQUEST - - + CMIS security context cleaning filter /cmisws/* @@ -161,15 +161,7 @@ /cmisatom/* - - Global Authentication Filter - /activiti-admin/* - - - - Global Authentication Filter - /VAADIN/* - + @@ -219,27 +211,28 @@ - Office Services Authentication Filter - /aos/* + X509AuthFilter + /service/api/solr/* - Office Services Authentication Filter - /AosResponder_ServerRoot - FORWARD + X509AuthFilter + /s/api/solr/* - Office Services Authentication Filter - /AosResponder_Context - FORWARD + X509AuthFilter + /wcservice/api/solr/* - Office Services Filter - /aos/* + X509AuthFilter + /wcs/api/solr/* + + + org.springframework.web.util.Log4jConfigListener @@ -264,9 +257,7 @@ com.sun.xml.ws.transport.http.servlet.WSServletContextListener - - org.springframework.web.context.request.RequestContextListener - + uploadContent @@ -426,93 +417,7 @@ - - Vaadin Application Servlet - org.activiti.explorer.servlet.ExplorerApplicationServlet - - - - AosAuthorService - org.alfresco.enterprise.repo.officeservices.service.AuthorService - 5 - - - - AosBrowsingService - org.alfresco.enterprise.repo.officeservices.service.BrowsingService - 5 - - - - AosCopyService - org.alfresco.enterprise.repo.officeservices.service.CopyService - 5 - - - - AosDwsService - org.alfresco.enterprise.repo.officeservices.service.DwsService - 5 - - - - AosListsService - org.alfresco.enterprise.repo.officeservices.service.ListsService - 5 - - - - AosServiceDispatcher - org.alfresco.enterprise.repo.officeservices.service.ServiceDispatcher - - - - AosSiteDataService - org.alfresco.enterprise.repo.officeservices.service.SiteDataService - 5 - - - - AosVersionsService - org.alfresco.enterprise.repo.officeservices.service.VersionsService - 5 - - - - AosVtiInfService - org.alfresco.enterprise.repo.officeservices.service.VtiInfService - 5 - - - - AosWebsService - org.alfresco.enterprise.repo.officeservices.service.WebsService - 5 - - - - AosWebViewResourcesService - org.alfresco.enterprise.repo.officeservices.service.WebViewResourcesService - 5 - - - - AosWebdavService - org.alfresco.enterprise.repo.officeservices.service.WebdavService - 5 - - - - AosServerRootResponder - org.alfresco.enterprise.repo.officeservices.service.ServerRootResponder - 5 - - - - AosContextResponder - org.alfresco.enterprise.repo.officeservices.service.ContextResponder - 5 - + uploadContent @@ -571,8 +476,8 @@ - - Vaadin Application Servlet - /activiti-admin/* - - - - Vaadin Application Servlet - /VAADIN/* - - - - AosServiceDispatcher - /aos/_vti_bin/shtml.dll/_vti_rpc - - - - AosAuthorService - /aos/_vti_bin/_vti_aut/author.dll - - - - AosBrowsingService - /aos/_vti_bin/owssvr.dll - - - - AosCopyService - /aos/_vti_bin/copy.asmx - - - - AosCopyService - /aos/_vti_bin/Copy.asmx - - - - AosDwsService - /aos/_vti_bin/dws.asmx - - - - AosListsService - /aos/_vti_bin/lists.asmx - - - - AosListsService - /aos/_vti_bin/Lists.asmx - - - - AosSiteDataService - /aos/_vti_bin/SiteData.asmx - - - - AosVersionsService - /aos/_vti_bin/versions.asmx - - - - AosVtiInfService - /aos/_vti_inf.html - - - - AosWebsService - /aos/_vti_bin/webs.asmx - - - - AosWebsService - /aos/_vti_bin/Webs.asmx - - - - AosServerRootResponder - /AosResponder_ServerRoot - - - - AosContextResponder - /AosResponder_Context - - - - AosWebViewResourcesService - /aos/_aos_resources/* - - - - AosWebdavService - /aos/* - + 60 @@ -710,78 +522,10 @@ index.jsp - - - - - SOLR - /service/api/solr/* - - - - repoclient - - - - CONFIDENTIAL - - - - - - SOLR - /s/api/solr/* - - - - repoclient - - - - CONFIDENTIAL - - - - - - SOLR - /wcservice/api/solr/* - - - - repoclient - - - - CONFIDENTIAL - - + + --> A flag that globally enables or disables startup of the major Alfresco subsystems. diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/ElasticHelper.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/ElasticHelper.java index 91acbaa0..a703a010 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/ElasticHelper.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/ElasticHelper.java @@ -434,6 +434,12 @@ public JSONArray search(JSONObject queryJson) throws IOException { return elements; } + public JSONObject searchLiteral(JSONObject queryJson) throws IOException { + Search search = new Search.Builder(queryJson.toString()).build(); + SearchResult result = client.execute(search); + return new JSONObject(result.getJsonObject().toString()); + } + private static JSONObject removeWrapper(JSONObject jsonObject) { String eType = null; JSONObject result = new JSONObject(); diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/GraphInterface.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/GraphInterface.java index 87fa59a7..6b7ca86b 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/GraphInterface.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/GraphInterface.java @@ -6,7 +6,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Savepoint; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -19,12 +18,8 @@ public interface GraphInterface { void connect(); - void connectConfig(); - void close(); - void closeConfig(); - void setWorkspace(EmsScriptNode workspace); void setWorkspace(String workspaceId); @@ -41,19 +36,9 @@ public interface GraphInterface { void execUpdate(String query) throws SQLException; - int execUpdateWithCount(String query) throws SQLException; - ResultSet execQuery(String query) throws SQLException; - int insert(String table, Map values) throws SQLException; - - void updateBySysmlIds(String table, String column, String value, List sysmlIds) throws SQLException; - - void runBulkQueries(List queries, boolean withResults) throws SQLException; - - void runBulkQueries(List> queries, String type) throws SQLException; - - List getEdgeTypes(); + int insert(String table, Map values) throws SQLException; List> getOrganizations(String orgId); @@ -69,26 +54,16 @@ public interface GraphInterface { List getNodesByType(DbNodeTypes type); - List getAllNodes(); - List> getAllNodesWithLastCommitTimestamp(); - boolean isMoved(String sysmlid, String owner); - boolean isDeleted(String sysmlid); boolean sysmlIdExists(String sysmlid); boolean edgeExists(String parent, String child, DbEdgeTypes dbet); - Node getNodeFromElasticId(String elasticId); - - List getElasticIdsFromSysmlIds(List sysmlids); - List getElasticIdsFromSysmlIds(List sysmlids, boolean withDeleted); - Node getNode(int id); - Node getNodeFromSysmlId(String sysmlId); Node getNodeFromSysmlId(String sysmlId, boolean withDeleted); @@ -97,8 +72,6 @@ public interface GraphInterface { Set getElasticIds(boolean withDeleted); - String getElasticIdForCommit(String commitId); - String getElasticIdFromSysmlId(String sysmlId); String insertCommit(String elasticId, DbCommitTypes type, String creator); @@ -109,16 +82,6 @@ public interface GraphInterface { void insertNode(String elasticId, String sysmlId, DbNodeTypes type); - String createInsertNodeQuery(List> nodes); - - String createUpdateNodeQuery(List> nodes); - - String createInsertEdgeQuery(List> edges); - - String createInsertEdgePropertyQuery(String parentSysmlId, String childSysmlId, DbEdgeTypes type, Map properties); - - int updateNode(String sysmlid, Map values); - void deleteNode(String sysmlId); void insertEdge(String parentSysmlId, String childSysmlId, DbEdgeTypes edgeType); @@ -131,22 +94,10 @@ public interface GraphInterface { List> getAllCommits(); - boolean isInitialCommit(); - - LinkedList getRootParents(String sysmlId, DbEdgeTypes et); - Set> getImmediateParents(String sysmlId, DbEdgeTypes et); - Map> getImmediateParentRoots(String sysmlId, DbEdgeTypes et); - String getImmediateParentOfType(String sysmlId, DbEdgeTypes et, Set dnts); - Set getRootParents(String sysmlId, DbEdgeTypes et, int height); - - Set getBranchParents(String refId); - - List> getContainmentParents(String sysmlId, int height); - Set> getParentsOfType(String sysmlId, DbEdgeTypes dbet); String getGroup(String sysmlId); @@ -159,14 +110,10 @@ public interface GraphInterface { void deleteEdgesForNode(String sysmlId, boolean child, DbEdgeTypes edgeType); - void deleteEdges(String parentSysmlId, String childSysmlId, DbEdgeTypes dbet); - int createOrganization(String orgId, String orgName) throws PSQLException; void createProjectDatabase(String projectId, String orgId, String name, String location); - void addProjectMount(String projectId, String mountId); - void createBranchFromWorkspace(String childWorkspaceName, String workspaceName, String elasticId, String commitId, boolean isTag); boolean isTag(String refId); @@ -175,8 +122,6 @@ public interface GraphInterface { void deleteRef(String id); - void deleteRefTables(String id); - Pair getRefElastic(String refId); Pair getParentRef(String refId); @@ -193,22 +138,8 @@ public interface GraphInterface { void updateRef(String refId, String refName, String elasticId, boolean isTag); - void insertTag(String workspaceName, String workspaceId); - - List filterNodesWithElastic(List elasticrefs); - - List filterNodesByWorkspaceWithElastic(List elasticrefs, String workspace); - - List filterNodesWithSysmlid(List sysmlids); - - List filterNodesByWorkspaceWithSysmlid(List sysmlids, String workspace); - - List filterNodesByWorkspace(List sysmlids, String workspace, String column); - boolean orgExists(String orgId); - boolean siteExists(String siteName); - boolean refExists(String refId); void dropDatabase(String databaseName); diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/PostgresHelper.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/PostgresHelper.java index c6c7fa9f..0ef17286 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/PostgresHelper.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/db/PostgresHelper.java @@ -5,6 +5,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Savepoint; +import java.sql.Types; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -14,7 +15,7 @@ import java.util.Set; import gov.nasa.jpl.view_repo.util.Sjm; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.StringEscapeUtils; import org.apache.log4j.Logger; import gov.nasa.jpl.mbee.util.Pair; @@ -27,13 +28,13 @@ public class PostgresHelper implements GraphInterface { static Logger logger = Logger.getLogger(PostgresHelper.class); - private Connection conn; - private Connection configConn; + private Map connMap = new HashMap<>(); private String project; private Map projectProperties = new HashMap<>(); private String workspaceId; private Savepoint savePoint; - + private static final String pgHost = EmsConfig.get("pg.host"); + private static final String pgName = EmsConfig.get("pg.name"); public PostgresHelper() { setWorkspace("master"); @@ -48,32 +49,52 @@ public PostgresHelper(String refId) { } public void connect() { + connect(false); + } + + public void connect(boolean config) { try { - if (this.conn == null || this.conn.isClosed()) { - this.conn = PostgresPool + if (config) { + if (!this.connMap.containsKey("config") || this.connMap.get("config") == null || this.connMap + .get("config").isClosed()) { + this.connMap.put("config", PostgresPool.getInstance(pgHost, pgName).getConnection()); + } + } else if (!this.connMap.containsKey(project) || this.connMap.get(project) == null || this.connMap + .get(project).isClosed()) { + this.connMap.put(project, PostgresPool .getInstance(this.projectProperties.get("location"), this.projectProperties.get("dbname")) - .getConnection(); + .getConnection()); } } catch (SQLException e) { logger.error(String.format("%s", LogUtil.getStackTrace(e))); } } - public void connectConfig() { - try { - if (this.configConn == null || this.configConn.isClosed()) { - this.configConn = - PostgresPool.getInstance(EmsConfig.get("pg.host"), EmsConfig.get("pg.name")).getConnection(); + public Connection getConn() { + return getConn(null); + } + + public Connection getConn(String type) { + if (type == null) { + connect(); + return this.connMap.getOrDefault(project, null); + } else { + switch (type) { + case "config": + connect(true); + return this.connMap.get("config"); + + default: + connect(); + return this.connMap.get(project); } - } catch (SQLException e) { - logger.error(String.format("%s", LogUtil.getStackTrace(e))); } } public void close() { try { - if (conn != null) { - conn.close(); + if (this.connMap.containsKey(project)) { + this.connMap.get(project).close(); } } catch (SQLException e) { logger.error(String.format("%s", LogUtil.getStackTrace(e))); @@ -82,8 +103,8 @@ public void close() { public void closeConfig() { try { - if (configConn != null) { - configConn.close(); + if (this.connMap.containsKey("config")) { + this.connMap.get("config").close(); } } catch (SQLException e) { logger.error(String.format("%s", LogUtil.getStackTrace(e))); @@ -91,18 +112,17 @@ public void closeConfig() { } private void getProjectProperties() { - projectProperties.put("location", EmsConfig.get("pg.host")); + projectProperties.put("location", pgHost); projectProperties.put("dbname", "_" + project); - connectConfig(); - try { - PreparedStatement query = - this.configConn.prepareStatement("SELECT location FROM projects WHERE projectId = ?"); + try (PreparedStatement query = getConn("config") + .prepareStatement("SELECT location FROM projects WHERE projectId = ?");) { query.setString(1, project); - ResultSet rs = query.executeQuery(); - if (rs.next()) { - if (!rs.getString(1).isEmpty()) { + try (ResultSet rs = query.executeQuery()) { + if (rs.next() && !rs.getString(1).isEmpty()) { projectProperties.put("location", rs.getString(1)); } + } catch (SQLException e) { + logger.error(String.format("%s", LogUtil.getStackTrace(e))); } } catch (SQLException e) { logger.error(String.format("%s", LogUtil.getStackTrace(e))); @@ -122,31 +142,33 @@ public void setWorkspace(String workspaceId) { } else { this.workspaceId = ""; workspaceId = sanitizeRefId(workspaceId); - try { - // Try to check for either workspaceName or workspaceId - connect(); - PreparedStatement query = this.conn.prepareStatement("SELECT refId FROM refs WHERE refId = ?"); + try (PreparedStatement query = getConn().prepareStatement("SELECT refId FROM refs WHERE refId = ?");) { query.setString(1, workspaceId); - ResultSet rs = query.executeQuery(); - if (rs.next()) { - this.workspaceId = rs.getString(1); + try (ResultSet rs = query.executeQuery()) { + if (rs.next()) { + this.workspaceId = rs.getString(1); + } + } catch (SQLException e) { + logger.error(String.format("%s", LogUtil.getStackTrace(e))); } - } catch (Exception e) { + } catch (SQLException e) { logger.error(String.format("%s", LogUtil.getStackTrace(e))); } finally { close(); } if (this.workspaceId.equals("")) { - try { - connect(); - PreparedStatement nquery = this.conn.prepareStatement("SELECT refId FROM refs WHERE refName = ?"); + try (PreparedStatement nquery = getConn() + .prepareStatement("SELECT refId FROM refs WHERE refName = ?")) { nquery.setString(1, workspaceId); - ResultSet nrs = nquery.executeQuery(); - if (nrs.next()) { - this.workspaceId = workspaceId; + try (ResultSet nrs = nquery.executeQuery()) { + if (nrs.next()) { + this.workspaceId = workspaceId; + } + } catch (SQLException e) { + logger.error(String.format("%s", LogUtil.getStackTrace(e))); } - } catch (Exception e) { + } catch (SQLException e) { logger.error(String.format("%s", LogUtil.getStackTrace(e))); } finally { close(); @@ -165,13 +187,12 @@ public Savepoint startTransaction() throws SQLException { } public Savepoint startTransaction(String savePointName) throws SQLException { - connect(); - this.conn.setAutoCommit(false); - logger.debug("Starting transaction"); + getConn().setAutoCommit(false); + logger.info("Starting transaction"); if (savePointName != null) { - this.savePoint = this.conn.setSavepoint(savePointName); + this.savePoint = getConn().setSavepoint(savePointName); } else { - this.savePoint = this.conn.setSavepoint(); + this.savePoint = getConn().setSavepoint(); } return this.savePoint; @@ -179,19 +200,19 @@ public Savepoint startTransaction(String savePointName) throws SQLException { public void commitTransaction() throws SQLException { try { - if (!this.conn.getAutoCommit()) { - logger.debug("Committing transaction"); - this.conn.commit(); + if (!getConn().getAutoCommit()) { + logger.warn("Committing transaction"); + getConn().commit(); } else { - logger.debug("Cannot commit, no transaction"); + logger.warn("Cannot commit, no transaction"); } - logger.debug("Transaction finished"); + logger.info("Transaction finished"); } catch (SQLException e) { if (this.savePoint != null) { - this.conn.rollback(this.savePoint); + getConn().rollback(this.savePoint); logger.warn(String.format("Transaction has been rolled back to savePoint: %s", this.savePoint)); } else { - this.conn.rollback(); + getConn().rollback(); logger.warn("Transaction has been rolled back to save point"); } if (e.iterator().hasNext()) { @@ -205,14 +226,15 @@ public void commitTransaction() throws SQLException { } public void rollBackToSavepoint(Savepoint savepoint) throws SQLException { - this.conn.rollback(savepoint); + getConn().rollback(savepoint); } - public void execUpdate(String query) throws SQLException { - logger.debug(String.format("Query: %s", query)); - connect(); + public void execUpdate(String query) { + if (logger.isDebugEnabled()) { + logger.debug(String.format("execUpdate: %s", query)); + } try { - this.conn.createStatement().executeUpdate(query); + getConn().createStatement().executeUpdate(query); } catch (SQLException e) { if (logger.isDebugEnabled()) { logger.debug(String.format("%s", LogUtil.getStackTrace(e))); @@ -220,50 +242,43 @@ public void execUpdate(String query) throws SQLException { } } - public int execUpdateWithCount(String query) throws SQLException { - logger.debug(String.format("Query: %s", query)); - int count = 0; - - connect(); + public ResultSet execQuery(String query) { + if (logger.isDebugEnabled()) { + logger.debug(String.format("execQuery: %s", query)); + } try { - count = this.conn.createStatement().executeUpdate(query); + return getConn().createStatement().executeQuery(query); } catch (SQLException e) { if (logger.isDebugEnabled()) { - logger.debug(String.format("%s", LogUtil.getStackTrace(e))); + logger.error(String.format("%s", LogUtil.getStackTrace(e))); } } - - return count; + return null; } - public ResultSet execQuery(String query) throws SQLException { - logger.debug(String.format("Query: %s", query)); - connect(); - ResultSet rs = null; + public PreparedStatement prepareStatement(String query) { try { - rs = this.conn.createStatement().executeQuery(query); + return getConn().prepareStatement(query); } catch (SQLException e) { if (logger.isDebugEnabled()) { logger.error(String.format("%s", LogUtil.getStackTrace(e))); } } - return rs; + + return null; } - public int insert(String table, Map values) throws SQLException { + public int insert(String table, Map values) { StringBuilder columns = new StringBuilder(); StringBuilder vals = new StringBuilder(); + List columnList = new ArrayList<>(); try { for (String col : values.keySet()) { - columns.append(col).append(","); - - if (values.get(col) != null) { - vals.append("'").append(values.get(col)).append("',"); - } else { - vals.append(values.get(col)).append(","); - } + columns.append(col).append(','); + columnList.add(col); + vals.append('?').append(','); } columns.setLength(columns.length() - 1); @@ -272,8 +287,24 @@ public int insert(String table, Map values) throws SQLException String query = String .format("INSERT INTO \"%s\" (%s) VALUES (%s) RETURNING id", table, columns.toString(), vals.toString()); - logger.debug(String.format("Query: %s", query)); - execQuery(query); + PreparedStatement statement = prepareStatement(query); + for (int i = 0; i < columnList.size(); i++) { + Object value = values.getOrDefault(columnList.get(i), null); + if (value instanceof String) { + statement.setString(i + 1, (String) value); + } else if (value instanceof Integer) { + statement.setInt(i + 1, (Integer) value); + } else if (value instanceof Boolean) { + statement.setBoolean(i + 1, (Boolean) value); + } else if (value == null) { + statement.setNull(i + 1, Types.NULL); + } + } + + if (logger.isDebugEnabled()) { + logger.debug(String.format("Query: %s", query)); + } + statement.execute(); return 1; } catch (Exception e) { logger.error(String.format("%s", LogUtil.getStackTrace(e))); @@ -283,83 +314,87 @@ public int insert(String table, Map values) throws SQLException return -1; } - public void updateBySysmlIds(String table, String column, String value, List sysmlIds) throws SQLException { + public void updateLastCommits(String value, List sysmlIds) { if (sysmlIds == null || sysmlIds.isEmpty()) { return; } int limit = Integer.parseInt(EmsConfig.get("pg.limit.insert")); - List queries = new ArrayList<>(); - String queryStarter = - String.format("UPDATE \"%s\" SET %s = '%s' WHERE sysmlId IN ('", table + workspaceId, column, value); - String query = queryStarter; - for (int i = 0; i < sysmlIds.size(); i++) { - query += sysmlIds.get(i) + "','"; - if (((i + 1) % limit) == 0 || i == (sysmlIds.size() - 1)) { - query = query.substring(0, query.length() - 2) + ");"; - queries.add(query); - query = queryStarter; - } - } - runBulkQueries(queries, false); - } - - public void runBulkQueries(List queries, boolean withResults) throws SQLException { - int limit = Integer.parseInt(EmsConfig.get("pg.limit.insert")); - String queryCache = ""; - for (int i = 0; i < queries.size(); i++) { - queryCache += queries.get(i); - if (((i + 1) % limit) == 0 || i == (queries.size() - 1)) { - String storedInsert = String.format("%s", queryCache); - logger.debug(String.format("Query: %s", storedInsert)); - if (withResults) { - boolean rs = this.conn.createStatement().execute(storedInsert); - } else { - this.conn.createStatement().executeUpdate(storedInsert); + String starter = String.format("UPDATE \"nodes%s\" SET lastcommit = ? WHERE sysmlId IN (", workspaceId); + StringBuilder query = new StringBuilder(starter); + int count = 0; + int total = sysmlIds.size(); + for (int i = 0; i < total; i++) { + query.append("?,"); + count++; + if (((i + 1) % limit) == 0 || i == (total - 1)) { + query.setLength(query.length() - 1); + query.append(")"); + List single = new LinkedList<>(); + single.add(0, value); + for (int j = 0; j < count; j++) { + single.add(j + 1, sysmlIds.remove(0)); } - queryCache = ""; - } - } - } - - public void runBulkQueries(List> queries, String type) throws SQLException { - int limit = Integer.parseInt(EmsConfig.get("pg.limit.insert")); - List> queryCache = new ArrayList<>(); - for (int i = 0; i < queries.size(); i++) { - queryCache.add(queries.get(i)); - String storedInsert = ""; - if (((i + 1) % limit) == 0 || i == (queries.size() - 1)) { - if (type.contains("nodes")) { - storedInsert = createInsertNodeQuery(queryCache); - logger.debug(String.format("Query: %s", storedInsert)); - } else if (type.contains("updates")) { - storedInsert = createUpdateNodeQuery(queryCache); - logger.debug(String.format("Query: %s", storedInsert)); - this.conn.createStatement().executeUpdate(storedInsert); - } else if (type.contains("edges")) { - storedInsert = createInsertEdgeQuery(queryCache); - logger.debug(String.format("Query: %s", storedInsert)); + List> values = new ArrayList<>(); + values.add(single); + executeBulkStatements(query.toString(), values); + query = new StringBuilder(starter); + count = 0; + } + } + } + + public void runBatchQueries(List> rows, String type) { + String query = null; + List> values = new LinkedList<>(); + + switch (type) { + case "nodes": + query = String.format( + "INSERT INTO \"nodes%s\" (elasticId, sysmlId, lastcommit, initialcommit, nodeType) VALUES (?, ?, ?, ?, ?)", + workspaceId); + for (Map node : rows) { + List single = new LinkedList<>(); + single.add(0, node.get(Sjm.ELASTICID)); + single.add(1, node.get(Sjm.SYSMLID)); + single.add(2, node.get("lastcommit")); + single.add(3, node.get(Sjm.ELASTICID)); + single.add(4, node.get("nodetype")); + values.add(single); } - this.conn.createStatement().executeUpdate(storedInsert); - queryCache = new ArrayList<>(); - } + break; + case "updates": + query = String.format( + "UPDATE \"nodes%s\" SET elasticId = ?, lastcommit = ?, nodeType = ?, deleted = ? WHERE sysmlId = ?", + workspaceId); + for (Map node : rows) { + List single = new LinkedList<>(); + single.add(0, node.get(Sjm.ELASTICID)); + single.add(1, node.get("lastcommit")); + single.add(2, node.get("nodetype")); + single.add(3, node.get("deleted")); + single.add(4, node.get(Sjm.SYSMLID)); + values.add(single); + } + break; + case "edges": + query = String.format( + "INSERT INTO \"edges%1$s\" (parent, child, edgeType) VALUES ((SELECT id FROM \"nodes%1$s\" WHERE sysmlid = ?), (SELECT id FROM \"nodes%1$s\" WHERE sysmlid = ?), ?)", + workspaceId); + for (Map node : rows) { + List single = new LinkedList<>(); + single.add(0, node.get("parent")); + single.add(1, node.get("child")); + single.add(2, node.get("edgetype")); + values.add(single); + } + break; + default: + break; } - } - - public List getEdgeTypes() { - List result = new ArrayList<>(); - try { - ResultSet rs = execQuery("SELECT * FROM edgeTypes"); - - while (rs.next()) { - result.add(new EdgeTypes(rs.getInt(1), rs.getString(2))); - } - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); + if (query != null && !values.isEmpty()) { + executeBulkStatements(query, values); } - return result; } private Node resultSetToNode(ResultSet rs) throws SQLException { @@ -369,15 +404,15 @@ private Node resultSetToNode(ResultSet rs) throws SQLException { public List> getOrganizations(String orgId) { List> result = new ArrayList<>(); - String query; - if (orgId == null) { - query = "SELECT id, orgId, orgName FROM organizations"; - } else { - query = String.format("SELECT id, orgId, orgName FROM organizations WHERE orgId = '%s'", orgId); - } try { - connectConfig(); - ResultSet rs = this.configConn.createStatement().executeQuery(query); + PreparedStatement statement = null; + if (orgId == null) { + statement = getConn("config").prepareStatement("SELECT id, orgId, orgName FROM organizations"); + } else { + statement = getConn("config").prepareStatement("SELECT id, orgId, orgName FROM organizations WHERE orgId = ?"); + statement.setString(1, orgId); + } + ResultSet rs = statement.executeQuery(); while (rs.next()) { Map org = new HashMap<>(); org.put("id", Integer.toString(rs.getInt(1))); @@ -396,8 +431,7 @@ public List> getOrganizations(String orgId) { public String getOrganizationFromProject(String projectId) { try { - connectConfig(); - PreparedStatement query = this.configConn.prepareStatement( + PreparedStatement query = getConn("config").prepareStatement( "SELECT organizations.orgId FROM projects JOIN organizations ON projects.orgId = organizations.id WHERE projects.projectId = ?"); query.setString(1, projectId); ResultSet rs = query.executeQuery(); @@ -451,15 +485,14 @@ public List> getProjects() { public List> getProjects(String orgId) { List> result = new ArrayList<>(); - connectConfig(); try { PreparedStatement query; if (orgId != null) { - query = this.configConn.prepareStatement( + query = getConn("config").prepareStatement( "SELECT projects.id, projectId, name, organizations.orgId FROM projects JOIN organizations ON organizations.id = projects.orgId WHERE projects.orgId = (SELECT id FROM organizations where orgId = ?)"); query.setString(1, orgId); } else { - query = this.configConn.prepareStatement( + query = getConn("config").prepareStatement( "SELECT projects.id, projectId, name, organizations.orgId FROM projects JOIN organizations ON organizations.id = projects.orgId"); } @@ -486,9 +519,8 @@ public Map getProject(String projectId) { Map result = new HashMap<>(); - connectConfig(); try { - PreparedStatement query = this.configConn.prepareStatement( + PreparedStatement query = getConn("config").prepareStatement( "SELECT projects.id, projectId, name, organizations.orgId FROM projects JOIN organizations ON organizations.id = projects.orgId WHERE projectId = ?"); query.setString(1, projectId); @@ -511,9 +543,8 @@ public List getNodesByType(DbNodeTypes type) { List result = new ArrayList<>(); try { - connect(); PreparedStatement query = - this.conn.prepareStatement("SELECT * FROM \"nodes" + workspaceId + "\" WHERE nodetype = ?"); + getConn().prepareStatement("SELECT * FROM \"nodes" + workspaceId + "\" WHERE nodetype = ?"); query.setInt(1, type.getValue()); ResultSet rs = query.executeQuery(); while (rs.next()) { @@ -528,26 +559,6 @@ public List getNodesByType(DbNodeTypes type) { return result; } - public List getAllNodes() { - List result = new ArrayList<>(); - - try { - connect(); - PreparedStatement query = this.conn - .prepareStatement("SELECT * FROM \"nodes" + workspaceId + "\" WHERE initialcommit IS NOT NULL"); - ResultSet rs = query.executeQuery(); - while (rs.next()) { - result.add(resultSetToNode(rs)); - } - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - - return result; - } - /** * Returns a modified version of all the nodes the database along with the timestamp of the last commit. * @@ -557,7 +568,6 @@ public List> getAllNodesWithLastCommitTimestamp() { List> result = new ArrayList<>(); try { - connect(); ResultSet rs = execQuery(String.format( "SELECT nodes%1$s.id, nodes%1$s.elasticid, nodes%1$s.nodetype, nodes%1$s.sysmlid, " + "nodes%1$s.lastcommit, nodes%1$s.initialcommit, nodes%1$s.deleted, commits.timestamp " @@ -582,26 +592,9 @@ public List> getAllNodesWithLastCommitTimestamp() { return result; } - public boolean isMoved(String sysmlid, String owner) { - try { - Set> dbowner = getImmediateParents(sysmlid, DbEdgeTypes.CONTAINMENT); - if (dbowner.size() == 0) { - return false; - } - assert (dbowner.size() == 1); - return !(new ArrayList<>(dbowner).get(0).first.equals(owner)); - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - return false; - } - public boolean isDeleted(String sysmlid) { try { - connect(); - PreparedStatement query = this.conn + PreparedStatement query = getConn() .prepareStatement("SELECT id FROM \"nodes" + workspaceId + "\" WHERE sysmlid = ? AND deleted = true"); query.setString(1, sysmlid); ResultSet rs = query.executeQuery(); @@ -619,9 +612,8 @@ public boolean isDeleted(String sysmlid) { public boolean sysmlIdExists(String sysmlid) { try { - connect(); PreparedStatement query = - this.conn.prepareStatement("SELECT id FROM \"nodes" + workspaceId + "\" WHERE sysmlid = ?"); + getConn().prepareStatement("SELECT id FROM \"nodes" + workspaceId + "\" WHERE sysmlid = ?"); query.setString(1, sysmlid); ResultSet rs = query.executeQuery(); return rs.next(); @@ -635,8 +627,7 @@ public boolean sysmlIdExists(String sysmlid) { public boolean edgeExists(String parent, String child, DbEdgeTypes dbet) { try { - connect(); - PreparedStatement query = this.conn.prepareStatement( + PreparedStatement query = getConn().prepareStatement( "SELECT id FROM \"edges" + workspaceId + "\" WHERE parent = (SELECT id FROM \"nodes" + workspaceId + "\" WHERE sysmlid = ?) AND child = (SELECT id FROM \"nodes" + workspaceId + "\" WHERE sysmlid = ?) AND edgetype = ?"); @@ -655,28 +646,6 @@ public boolean edgeExists(String parent, String child, DbEdgeTypes dbet) { return false; } - public Node getNodeFromElasticId(String elasticId) { - try { - ResultSet rs = - execQuery("SELECT * FROM \"nodes" + workspaceId + "\" WHERE elasticId = '" + elasticId + "'"); - - if (rs.next()) { - return new Node(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getString(4), rs.getString(5), - rs.getString(6), rs.getBoolean(7)); - } else - return null; - } catch (SQLException e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - return null; - } - - public List getElasticIdsFromSysmlIds(List sysmlids) { - return getElasticIdsFromSysmlIds(sysmlids, false); - } - public List getElasticIdsFromSysmlIds(List sysmlids, boolean withDeleted) { List elasticIds = new ArrayList<>(); if (sysmlids == null || sysmlids.isEmpty()) @@ -701,36 +670,18 @@ public List getElasticIdsFromSysmlIds(List sysmlids, boolean wit return elasticIds; } - public Node getNode(int id) { - try { - ResultSet rs = - execQuery("SELECT * FROM \"nodes" + workspaceId + "\" WHERE id = " + id + " AND deleted = false"); - if (rs.next()) { - return new Node(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getString(4), rs.getString(5), - rs.getString(6), rs.getBoolean(7)); - } else - return null; - } catch (SQLException e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - return null; - } - public Node getNodeFromSysmlId(String sysmlId) { return getNodeFromSysmlId(sysmlId, false); } public Node getNodeFromSysmlId(String sysmlId, boolean withDeleted) { try { - connect(); PreparedStatement query; if (withDeleted) { - query = this.conn.prepareStatement("SELECT * FROM \"nodes" + workspaceId + "\" WHERE sysmlId = ?"); + query = getConn().prepareStatement("SELECT * FROM \"nodes" + workspaceId + "\" WHERE sysmlId = ?"); query.setString(1, sysmlId); } else { - query = this.conn + query = getConn() .prepareStatement("SELECT * FROM \"nodes" + workspaceId + "\" WHERE sysmlId = ? AND deleted = ?"); query.setString(1, sysmlId); query.setBoolean(2, false); @@ -777,21 +728,6 @@ public Set getElasticIds(boolean withDeleted) { return elasticIds; } - public String getElasticIdForCommit(String commitId) { - try { - ResultSet rs = execQuery("SELECT elasticId FROM commits WHERE id = '" + commitId + "'"); - if (rs.next()) { - return rs.getString(1); - } - } catch (SQLException e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - - return null; - } - public String getElasticIdFromSysmlId(String sysmlId) { if (logger.isDebugEnabled()) logger.debug("Getting ElasticId for: " + sysmlId); @@ -805,21 +741,23 @@ public String getElasticIdFromSysmlId(String sysmlId) { public String insertCommit(String elasticId, DbCommitTypes type, String creator) { try { - Map map = new HashMap<>(); + Map map = new HashMap<>(); // we can hard code the commit type here....but we should still store the integer value // from the DB in memory int parentId = getHeadCommit(); map.put("elasticId", elasticId); - map.put("commitType", Integer.toString(type.getValue())); + map.put("commitType", type.getValue()); map.put("refId", workspaceId); map.put("creator", creator); insert("commits", map); if (parentId > 0) { int childId = getHeadCommit(); - execUpdate( - String.format("INSERT INTO commitParent (child, parent) VALUES (%d, %d);", childId, parentId)); + PreparedStatement statement = prepareStatement("INSERT INTO commitParent (child, parent) VALUES (?,?)"); + statement.setInt(1, childId); + statement.setInt(2, parentId); + statement.execute(); } - } catch (SQLException e) { + } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } finally { close(); @@ -856,7 +794,7 @@ public String getHeadCommitString() { if (rs.next()) { return rs.getString(1); } else { - rs = this.conn.prepareStatement(String.format( + rs = getConn().prepareStatement(String.format( "SELECT commits.elasticid FROM refs LEFT JOIN commits ON refs.parentcommit = commits.id WHERE refs.refid = '%s'", workspaceId)).executeQuery(); if (rs.next()) { @@ -875,94 +813,61 @@ public String getHeadCommitString() { // insert commit and insert commit edges as well public void insertNode(String elasticId, String sysmlId, DbNodeTypes type) { try { - Map map = new HashMap<>(); + Map map = new HashMap<>(); map.put("elasticId", elasticId); map.put("sysmlId", sysmlId); - map.put("nodeType", Integer.toString(type.getValue())); + map.put("nodeType", type.getValue()); insert("nodes" + workspaceId, map); - } catch (SQLException e) { + } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } } - public String createInsertNodeQuery(List> nodes) { - String query = String - .format("INSERT INTO \"nodes%s\" (elasticId, sysmlId, lastcommit, initialcommit, nodeType) VALUES ", - workspaceId); - for (Map node : nodes) { - query += String.format("('%s', '%s', '%s', '%s', '%s'),", node.get(Sjm.ELASTICID), node.get(Sjm.SYSMLID), - node.get("lastcommit"), node.get(Sjm.ELASTICID), node.get("nodetype")); - } - query = query.substring(0, query.length() - 1) + ";"; - return query; - } - - public String createUpdateNodeQuery(List> nodes) { - String query = ""; - for (Map node : nodes) { - query += String.format( - "UPDATE \"nodes%s\" SET elasticId = '%s', sysmlId = '%s', lastcommit = '%s', nodeType = '%s', deleted = %b WHERE sysmlId = '%s';", - workspaceId, node.get(Sjm.ELASTICID), node.get(Sjm.SYSMLID), node.get("lastcommit"), - node.get("nodetype"), Boolean.parseBoolean(node.get("deleted")), node.get(Sjm.SYSMLID)); - } - return query; - } - - public String createInsertEdgeQuery(List> edges) { - int limit = Integer.parseInt(EmsConfig.get("pg.limit.select")); - String query = String.format("INSERT INTO \"edges%s\" (parent, child, edgeType) VALUES ", workspaceId); - List values = new ArrayList<>(); - for (Map edge : edges) { - values.add("((SELECT id FROM \"nodes" + workspaceId + "\" WHERE sysmlid = '" + edge.get("parent") - + "'), (SELECT id FROM \"nodes" + workspaceId + "\" WHERE sysmlid = '" + edge.get("child") + "'), " - + edge.get("edgetype") + ")"); - } - query += StringUtils.join(values, ",") + ";"; - return query; - } - - public String createInsertEdgePropertyQuery(String parentSysmlId, String childSysmlId, DbEdgeTypes type, - Map properties) { - String query = ""; + public void executeBulkStatements(String query, List> values) { + int limit = Integer.parseInt(EmsConfig.get("pg.limit.insert")); + PreparedStatement statement = null; + try { + statement = getConn().prepareStatement(query); + int count = 0; + for (int i = 0; i < values.size(); i++) { + List value = values.get(i); + for (int j = 0; j < value.size(); j++) { + Object val = value.get(j); + if (val instanceof String) { + statement.setString(j + 1, (String) val); + } else if (val instanceof Integer) { + statement.setInt(j + 1, (Integer) val); + } else if (val instanceof Boolean) { + statement.setBoolean(j + 1, (Boolean) val); + } else if (val == null) { + //Unlike the insert method, this should never happen, but I guess it doesn't hurt + statement.setNull(i + 1, Types.NULL); + } + } + statement.addBatch(); + count++; - if (!properties.isEmpty()) { - for (Map.Entry entry : properties.entrySet()) { - query += String.format("SELECT insert_edge_property('%s', '%s', '%s', %d, '%s', '%s');", parentSysmlId, - childSysmlId, workspaceId, type.getValue(), entry.getKey(), entry.getValue()); + if (count >= limit || i == values.size() - 1) { + if (logger.isDebugEnabled()) { + logger.debug("Statement: " + statement.toString()); + } + statement.executeBatch(); + statement.clearBatch(); + count = 0; + } } + } catch (SQLException e) { + logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } - return query; } - public int updateNode(String sysmlid, Map values) { - - StringBuilder vals = new StringBuilder(); - + public int updateElasticId(String sysmlId, String elasticId) { try { - for (Map.Entry entry : values.entrySet()) { - String key = entry.getKey(); - String value = entry.getValue(); - vals.append(key).append(" = "); - - if (key.equals("nodetype")) { - vals.append(value).append(","); - } else if (value != null) { - vals.append("'").append(value).append("',"); - } else { - vals.append(value).append(","); - } - } - - vals.setLength(vals.length() - 1); - - String query = String - .format("UPDATE \"%s\" SET %s WHERE sysmlid = '%s'", "nodes" + workspaceId, vals.toString(), sysmlid); - - if (logger.isDebugEnabled()) { - logger.debug("Query: " + query); - } - - return execUpdateWithCount(query); + PreparedStatement statement = getConn() + .prepareStatement(String.format("UPDATE \"nodes%s\" SET elasticid = ? WHERE sysmlid = ?", workspaceId)); + statement.setString(1, elasticId); + statement.setString(2, sysmlId); + return statement.executeUpdate(); } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } finally { @@ -973,9 +878,8 @@ public int updateNode(String sysmlid, Map values) { public void deleteNode(String sysmlId) { try { - connect(); PreparedStatement query = - this.conn.prepareStatement("UPDATE \"nodes" + workspaceId + "\" SET deleted = ? WHERE sysmlid = ?"); + getConn().prepareStatement("UPDATE \"nodes" + workspaceId + "\" SET deleted = ? WHERE sysmlid = ?"); query.setBoolean(1, true); query.setString(2, sysmlId); query.execute(); @@ -996,11 +900,14 @@ public void insertEdge(String parentSysmlId, String childSysmlId, DbEdgeTypes ed } try { - execQuery( - "INSERT INTO \"edges" + workspaceId + "\" (parent, child, edgeType) VALUES ((SELECT id FROM \"nodes" - + workspaceId + "\" WHERE sysmlId = '" + parentSysmlId + "')," + "(SELECT id FROM \"nodes" - + workspaceId + "\" WHERE sysmlId = '" + childSysmlId + "'), " + edgeType.getValue() - + ") RETURNING id"); + String query = String.format( + "INSERT INTO \"edges%1$s\" (parent, child, edgeType) VALUES ((SELECT id FROM \"nodes%1$s\" WHERE sysmlId = ?), (SELECT id FROM \"nodes%1$s\" WHERE sysmlId = ?), ?)", + workspaceId); + PreparedStatement statement = prepareStatement(query); + statement.setString(1, parentSysmlId); + statement.setString(2, childSysmlId); + statement.setInt(3, edgeType.getValue()); + statement.executeUpdate(); } catch (Exception e) { if (e.getMessage().contains("duplicate key")) { logger.info(String.format("%s", LogUtil.getStackTrace(e))); @@ -1015,8 +922,12 @@ public void insertEdge(String parentSysmlId, String childSysmlId, DbEdgeTypes ed public Map getCommitAndTimestamp(String lookUp, String value) { Map commit = new HashMap<>(); try { - String query = "SELECT elasticId, timestamp FROM commits WHERE %s = '%s';"; - ResultSet rs = execQuery(String.format(query, lookUp, value)); + String query = String + .format("SELECT elasticId, timestamp FROM commits WHERE %s = ?", StringEscapeUtils.escapeSql(lookUp)); + + PreparedStatement statement = prepareStatement(query); + statement.setString(1, value); + ResultSet rs = statement.executeQuery(); if (rs.next()) { commit.put(Sjm.COMMITID, rs.getString(1)); @@ -1035,8 +946,12 @@ public Map getCommitAndTimestamp(String lookUp, String value) { public Long getTimestamp(String lookUp, String value) { Long timestamp; try { - String query = "SELECT timestamp FROM commits WHERE %s = '%s';"; - ResultSet rs = execQuery(String.format(query, lookUp, value)); + String query = + String.format("SELECT timestamp FROM commits WHERE %s = ?", StringEscapeUtils.escapeSql(lookUp)); + + PreparedStatement statement = prepareStatement(query); + statement.setString(1, value); + ResultSet rs = statement.executeQuery(); if (rs.next()) { timestamp = rs.getTimestamp(1).getTime(); @@ -1053,8 +968,7 @@ public Long getTimestamp(String lookUp, String value) { public Map getCommit(String commitId) { try { - connect(); - PreparedStatement query = this.conn.prepareStatement( + PreparedStatement query = prepareStatement( "SELECT commits.id, commits.elasticId, commits.refid, commits.timestamp, committype.name, creator FROM commits JOIN committype ON commits.committype = committype.id WHERE elasticId = ?"); query.setString(1, commitId); ResultSet rs = query.executeQuery(); @@ -1102,43 +1016,6 @@ public List> getAllCommits() { return commits; } - public boolean isInitialCommit() { - boolean isInitial = false; - try { - String query = "SELECT count(elasticId) FROM commits"; - ResultSet rs = execQuery(query); - isInitial = !(rs.next() && rs.getInt(1) > 0); - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - - return isInitial; - } - - public LinkedList getRootParents(String sysmlId, DbEdgeTypes et) { - LinkedList result = new LinkedList<>(); - try { - Node n = getNodeFromSysmlId(sysmlId); - - if (n == null) - return result; - - String query = "SELECT * FROM get_root_parents(%s, %d, '%s')"; - ResultSet rs = execQuery(String.format(query, n.getId(), et.getValue(), workspaceId)); - - while (rs.next()) { - result.add(rs.getString(1)); - } - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - return result; - } - /** * Returns a set of immediate parents of sysmlid to elasticid * @@ -1151,41 +1028,20 @@ public Set> getImmediateParents(String sysmlId, DbEdgeTypes try { Node n = getNodeFromSysmlId(sysmlId); - if (n == null) + if (n == null) { return result; - - String query = "SELECT * FROM get_immediate_parents(%s, %d, '%s')"; - ResultSet rs = execQuery(String.format(query, n.getId(), et.getValue(), workspaceId)); - - while (rs.next()) { - result.add(new Pair<>(rs.getString(1), rs.getString(2))); } - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - return result; - } - - public Map> getImmediateParentRoots(String sysmlId, DbEdgeTypes et) { - Map> result = new HashMap<>(); - try { - Node n = getNodeFromSysmlId(sysmlId); - if (n == null) - return result; + String query = "SELECT * FROM get_immediate_parents(?, ?, ?)"; - String query = "SELECT * FROM get_immediate_parent_roots(%s, %d, '%s')"; - ResultSet rs = execQuery(String.format(query, n.getId(), et.getValue(), workspaceId)); + PreparedStatement statement = prepareStatement(query); + statement.setInt(1, n.getId()); + statement.setInt(2, et.getValue()); + statement.setString(3, workspaceId); + ResultSet rs = statement.executeQuery(); while (rs.next()) { - String rootId = rs.getString(2); - String immediateID = rs.getString(1); - if (!result.containsKey(rootId)) { - result.put(rootId, new HashSet<>()); - } - result.get(rootId).add(immediateID); + result.add(new Pair<>(rs.getString(1), rs.getString(2))); } } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); @@ -1199,13 +1055,17 @@ public String getImmediateParentOfType(String sysmlId, DbEdgeTypes et, Set> immediateParents = getImmediateParents(sysmlId, et); - while (immediateParents.size() > 0) { + while (!immediateParents.isEmpty()) { String parentId = null; for (Pair immediateParent : immediateParents) { parentId = immediateParent.first; try { - String query = "SELECT nodetype FROM nodes%s WHERE sysmlid='%s'"; - ResultSet rs = execQuery(String.format(query, workspaceId, parentId)); + String query = String.format("SELECT nodetype FROM nodes%s WHERE sysmlid = ?", workspaceId); + + PreparedStatement statement = prepareStatement(query); + statement.setString(1, parentId); + ResultSet rs = statement.executeQuery(); + while (rs.next()) { for (DbNodeTypes dnt : dnts) { if (dnt.getValue() == rs.getLong(1)) { @@ -1227,77 +1087,6 @@ public String getImmediateParentOfType(String sysmlId, DbEdgeTypes et, Set getRootParents(String sysmlId, DbEdgeTypes et, int height) { - Set result = new HashSet<>(); - try { - Node n = getNodeFromSysmlId(sysmlId); - - if (n == null) - return result; - - String query = "SELECT * FROM get_root_parents(%d, %d, '%s')"; - ResultSet rs = execQuery(String.format(query, n.getId(), et.getValue(), workspaceId)); - - while (rs.next()) { - result.add(rs.getString(1)); - } - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - return result; - } - - public Set getBranchParents(String refId) { - Set result = new HashSet<>(); - try { - - String query = "SELECT parent FROM refs WHERE refid=%s"; - ResultSet rs = execQuery(String.format(query, refId)); - - while (rs.next()) { - result.add(rs.getString(1)); - } - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - return result; - } - - /** - * Returns in order of height from sysmlID up for containment only - * - * @param sysmlId - * @param height - * @return - */ - public List> getContainmentParents(String sysmlId, int height) { - List> result = new ArrayList<>(); - try { - Node n = getNodeFromSysmlId(sysmlId); - - if (n == null) - return result; - - String query = "SELECT N.sysmlid, N.elasticid FROM \"nodes%s\" N JOIN " - + "(SELECT * FROM get_parents(%s, %d, '%s')) P ON N.id = P.id ORDER BY P.height"; - ResultSet rs = execQuery( - String.format(query, workspaceId, n.getId(), DbEdgeTypes.CONTAINMENT.getValue(), workspaceId)); - - while (rs.next()) { - result.add(new Pair<>(rs.getString(1), rs.getString(2))); - } - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - return result; - } - public Set> getParentsOfType(String sysmlId, DbEdgeTypes dbet) { Set> result = new HashSet<>(); try { @@ -1307,9 +1096,15 @@ public Set> getParentsOfType(String sysmlId, DbEdgeTypes d return result; } - String query = "SELECT N.sysmlid, N.nodetype FROM \"nodes%s\" N JOIN " - + "(SELECT * FROM get_parents(%s, %d, '%s')) P ON N.id = P.id ORDER BY P.height"; - ResultSet rs = execQuery(String.format(query, workspaceId, n.getId(), dbet.getValue(), workspaceId)); + String query = String.format( + "SELECT N.sysmlid, N.nodetype FROM \"nodes%s\" N JOIN (SELECT * FROM get_parents(?, ?, ?)) P ON N.id = P.id ORDER BY P.height", + workspaceId); + + PreparedStatement statement = prepareStatement(query); + statement.setInt(1, n.getId()); + statement.setInt(2, dbet.getValue()); + statement.setString(3, workspaceId); + ResultSet rs = statement.executeQuery(); result.add(new Pair<>(n.getSysmlId(), n.getNodeType())); while (rs.next()) { @@ -1334,13 +1129,19 @@ public String getGroup(String sysmlId) { try { Node n = getNodeFromSysmlId(sysmlId); - if (n == null) + if (n == null) { return null; + } - String query = "SELECT N.sysmlid, N.elasticid, N.nodetype FROM \"nodes%s\" N JOIN " - + "(SELECT * FROM get_parents(%s, %d, '%s')) P ON N.id = P.id ORDER BY P.height"; - ResultSet rs = execQuery( - String.format(query, workspaceId, n.getId(), DbEdgeTypes.CONTAINMENT.getValue(), workspaceId)); + String query = String.format( + "SELECT N.sysmlid, N.elasticid, N.nodetype FROM \"nodes%s\" N JOIN (SELECT * FROM get_parents(?, ?, ?)) P ON N.id = P.id ORDER BY P.height", + workspaceId); + + PreparedStatement statement = prepareStatement(query); + statement.setInt(1, n.getId()); + statement.setInt(2, DbEdgeTypes.CONTAINMENT.getValue()); + statement.setString(3, workspaceId); + ResultSet rs = statement.executeQuery(); while (rs.next()) { if (rs.getInt(3) == DbNodeTypes.SITEANDPACKAGE.getValue()) { @@ -1363,12 +1164,20 @@ public List> getChildren(String sysmlId, DbEdgeTypes et, in try { Node n = getNodeFromSysmlId(sysmlId); - if (n == null) + if (n == null) { return result; + } - ResultSet rs = execQuery( - "SELECT sysmlId, elasticId FROM \"nodes" + workspaceId + "\" WHERE id IN (SELECT id FROM get_children(" - + n.getId() + ", " + et.getValue() + ", '" + workspaceId + "', " + depth + "))"); + String query = String.format( + "SELECT sysmlId, elasticId FROM \"nodes%s\" WHERE id IN (SELECT id FROM get_children(?, ?, ?, ?))", + workspaceId); + + PreparedStatement statement = prepareStatement(query); + statement.setInt(1, n.getId()); + statement.setInt(2, et.getValue()); + statement.setString(3, workspaceId); + statement.setInt(4, depth); + ResultSet rs = statement.executeQuery(); while (rs.next()) { result.add(new Pair<>(rs.getString(1), rs.getString(2))); @@ -1387,14 +1196,22 @@ public List getGroupDocuments(String sysmlId, DbEdgeTypes et, int depth, try { Node n = getNodeFromSysmlId(sysmlId); - if (n == null) + if (n == null) { return result; + } - String query = "SELECT elasticId FROM \"nodes" + workspaceId - + "\" WHERE id IN (SELECT id FROM get_group_docs(" + n.getId() + ", " + et.getValue() + ", '" - + workspaceId + "', " + depth + ", " + nt.getValue() + ", " + DbNodeTypes.DOCUMENT.getValue() + " ))"; + String query = String.format( + "SELECT elasticId FROM \"nodes%s\" WHERE id IN (SELECT id FROM get_group_docs(?, ?, ?, ?, ?, ?))", + workspaceId); - ResultSet rs = execQuery(query); + PreparedStatement statement = prepareStatement(query); + statement.setInt(1, n.getId()); + statement.setInt(2, et.getValue()); + statement.setString(3, workspaceId); + statement.setInt(4, depth); + statement.setInt(5, nt.getValue()); + statement.setInt(6, DbNodeTypes.DOCUMENT.getValue()); + ResultSet rs = statement.executeQuery(); while (rs.next()) { result.add(rs.getString(1)); @@ -1411,8 +1228,9 @@ public void deleteEdgesForNode(String sysmlId) { try { Node n = getNodeFromSysmlId(sysmlId); - if (n == null) + if (n == null) { return; + } execUpdate( "DELETE FROM \"edges" + workspaceId + "\" WHERE child = " + n.getId() + " OR parent = " + n.getId()); @@ -1427,8 +1245,10 @@ public void deleteEdgesForNode(String sysmlId, boolean child, DbEdgeTypes edgeTy try { Node n = getNodeFromSysmlId(sysmlId); - if (n == null) + if (n == null) { return; + } + String column = child ? "child" : "parent"; execUpdate( "DELETE FROM \"edges" + workspaceId + "\" WHERE " + column + " = " + n.getId() + " AND edgeType = " @@ -1440,24 +1260,6 @@ public void deleteEdgesForNode(String sysmlId, boolean child, DbEdgeTypes edgeTy } } - public void deleteEdges(String parentSysmlId, String childSysmlId, DbEdgeTypes dbet) { - try { - Node pn = getNodeFromSysmlId(parentSysmlId); - Node cn = getNodeFromSysmlId(childSysmlId); - - if (pn == null || cn == null) - return; - - execUpdate( - "DELETE FROM edges WHERE parent = " + pn.getId() + " AND child = " + cn.getId() + " AND edgetype = " - + dbet.getValue()); - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - } - public List findNullParents() { List nullParents = new ArrayList<>(); try { @@ -1492,22 +1294,22 @@ public void cleanEdges() { } } - public int createOrganization(String orgId, String orgName) - throws PSQLException { + public int createOrganization(String orgId, String orgName) throws PSQLException { int recordId = 0; - try { - connectConfig(); - PreparedStatement query = - this.configConn.prepareStatement("SELECT count(id) FROM organizations WHERE orgId = ?"); + try (PreparedStatement query = getConn("config") + .prepareStatement("SELECT count(id) FROM organizations WHERE orgId = ?")) { query.setString(1, orgId); if (query.execute()) { - PreparedStatement insertOrg = this.configConn - .prepareStatement("INSERT INTO organizations (orgId, orgName) VALUES (?,?) RETURNING ID"); + PreparedStatement insertOrg = + getConn("config").prepareStatement("INSERT INTO organizations (orgId, orgName) VALUES (?,?)"); insertOrg.setString(1, orgId); insertOrg.setString(2, orgName); - ResultSet rs = insertOrg.executeQuery(); - if (rs.next()) { - recordId = rs.getInt(1); + if (insertOrg.execute()) { + try (ResultSet rs = insertOrg.getGeneratedKeys()) { + if (rs.next()) { + recordId = rs.getInt(1); + } + } } } } catch (PSQLException pe) { @@ -1528,8 +1330,8 @@ public int createOrganization(String orgId, String orgName) public void createProjectDatabase(String projectId, String orgId, String name, String location) { int organizationId = 0; try { - connectConfig(); - PreparedStatement query = this.configConn.prepareStatement("SELECT id FROM organizations WHERE orgId = ?"); + PreparedStatement query = + getConn("config").prepareStatement("SELECT id FROM organizations WHERE orgId = ?"); query.setString(1, orgId); ResultSet rs = query.executeQuery(); if (rs.next()) { @@ -1542,12 +1344,11 @@ public void createProjectDatabase(String projectId, String orgId, String name, S } try { - if (location == null || location.isEmpty()) { - location = EmsConfig.get("pg.host"); + if (location == null) { + location = ""; } - connectConfig(); if (organizationId > 0) { - PreparedStatement insertProject = this.configConn + PreparedStatement insertProject = getConn("config") .prepareStatement("INSERT INTO projects (projectId, name, orgId, location) VALUES (?,?,?,?)"); insertProject.setString(1, projectId); insertProject.setString(2, name); @@ -1566,10 +1367,10 @@ public void createProjectDatabase(String projectId, String orgId, String name, S setProject(projectId); this.projectProperties.put("dbname", "postgres"); connect(); - this.conn.createStatement().execute(String.format("CREATE DATABASE \"_%s\";", projectId)); - this.conn.createStatement().execute( + getConn().createStatement().execute(String.format("CREATE DATABASE \"_%s\";", projectId)); + getConn().createStatement().execute( String.format("GRANT ALL PRIVILEGES ON DATABASE \"_%s\" TO %s;", projectId, EmsConfig.get("pg.user"))); - this.conn.createStatement().execute( + getConn().createStatement().execute( String.format("GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO %s;", EmsConfig.get("pg.user"))); } catch (SQLException se) { // Catch Duplicate error and do nothing @@ -1774,23 +1575,6 @@ private void createProjectTables(String projectId) { } } - public void addProjectMount(String projectId, String mountId) { - try { - connectConfig(); - if ((this.configConn.createStatement() - .execute(String.format("SELECT id FROM projects WHERE projectId = '%s'", projectId))) - && (this.configConn.createStatement() - .execute(String.format("SELECT id FROM projects WHERE projectId = '%s'", mountId)))) { - this.configConn.createStatement().execute(String - .format("INSERT INTO projectMounts (projectId, mountId) VALUES ('%s','%s')", projectId, mountId)); - } - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - closeConfig(); - } - } - public void createBranchFromWorkspace(String childWorkspaceName, String workspaceName, String elasticId, String commitId, boolean isTag) { if (childWorkspaceName == null || childWorkspaceName.length() == 0 || childWorkspaceName.equals("master")) { @@ -1849,7 +1633,7 @@ public void createBranchFromWorkspace(String childWorkspaceName, String workspac setAsTag(childWorkspaceNameSanitized); } - } catch (SQLException e) { + } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } finally { close(); @@ -1858,8 +1642,9 @@ public void createBranchFromWorkspace(String childWorkspaceName, String workspac private void copyTable(String name, String toRef, String fromRef) { try { - execUpdate(String.format("INSERT INTO %1$s%2$s SELECT * FROM %1$s%3$s", name, toRef, fromRef)); - } catch (SQLException e) { + execUpdate(String.format("INSERT INTO %1$s%2$s SELECT * FROM %1$s%3$s", name, sanitizeRefId(toRef), + sanitizeRefId(fromRef))); + } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } finally { close(); @@ -1868,9 +1653,11 @@ private void copyTable(String name, String toRef, String fromRef) { public boolean isTag(String refId) { try { - ResultSet rs = execQuery(String - .format("SELECT tag FROM refs WHERE (refId = '%1$s' OR refName = '%1$s') AND deleted = false", - sanitizeRefId(refId))); + PreparedStatement statement = + prepareStatement("SELECT tag FROM refs WHERE (refId = ? OR refName = ?) AND deleted = false"); + statement.setString(1, sanitizeRefId(refId)); + statement.setString(2, sanitizeRefId(refId)); + ResultSet rs = statement.executeQuery(); if (rs.next()) { return rs.getBoolean(1); } @@ -1885,21 +1672,15 @@ public boolean isTag(String refId) { public void setAsTag(String refId) { try { - execUpdate(String - .format("UPDATE refs SET tag = true WHERE (refId = '%1$s' OR refName = '%1$s') AND deleted = false", - sanitizeRefId(refId))); - execUpdate(String.format("REVOKE INSERT, UPDATE, DELETE ON nodes%1$s, edges%1$s FROM %2$s", - sanitizeRefId(refId), EmsConfig.get("pg.user"))); - } catch (Exception e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - } + PreparedStatement statement = + prepareStatement("UPDATE refs SET tag = true WHERE (refId = ? OR refName = ?) AND deleted = false"); + statement.setString(1, sanitizeRefId(refId)); + statement.setString(2, sanitizeRefId(refId)); + statement.executeUpdate(); - public void deleteRef(String id) { - try { - execUpdate(String.format("UPDATE refs SET deleted = true WHERE refId = '%s'", id)); + execUpdate(String + .format("REVOKE INSERT, UPDATE, DELETE ON nodes%1$s, edges%1$s FROM %2$s", sanitizeRefId(refId), + EmsConfig.get("pg.user"))); } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } finally { @@ -1907,13 +1688,11 @@ public void deleteRef(String id) { } } - public void deleteRefTables(String id) { - if (id == null || id.isEmpty()) { - return; - } + public void deleteRef(String refId) { try { - execUpdate("DROP TABLE IF EXISTS \"nodes" + id + "\""); - execUpdate("DROP TABLE IF EXISTS \"edges" + id + "\""); + PreparedStatement statement = prepareStatement("UPDATE refs SET deleted = true WHERE refId = ?"); + statement.setString(1, sanitizeRefId(refId)); + statement.executeUpdate(); } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } finally { @@ -1925,15 +1704,14 @@ public Pair getRefElastic(String refId) { if (refId == null || refId.isEmpty()) { refId = "master"; } - refId = sanitizeRefId(refId); try { - ResultSet rs = execQuery( - String.format("SELECT refId, elasticId FROM refs WHERE deleted = false AND refId = '%s'", refId)); - + PreparedStatement statement = + prepareStatement("SELECT refId, elasticId FROM refs WHERE deleted = false AND refId = ?"); + statement.setString(1, sanitizeRefId(refId)); + ResultSet rs = statement.executeQuery(); if (rs.next()) { return new Pair<>(rs.getString(1), rs.getString(2)); } - } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } finally { @@ -1946,11 +1724,11 @@ public Pair getParentRef(String refId) { if (refId.equals("master")) { return null; } - refId = sanitizeRefId(refId); try { - ResultSet rs = execQuery( - String.format("SELECT parent, timestamp FROM refs WHERE deleted = false AND refId = '%s'", refId)); - + PreparedStatement statement = + prepareStatement("SELECT parent, timestamp FROM refs WHERE deleted = false AND refId = ?"); + statement.setString(1, sanitizeRefId(refId)); + ResultSet rs = statement.executeQuery(); if (rs.next()) { String checkForMaster = (rs.getString(1).equals("") && !refId.equals("master")) ? "master" : rs.getString(1); @@ -1968,8 +1746,8 @@ public Pair getParentRef(String refId) { public List> getRefsElastic() { List> result = new ArrayList<>(); try { - ResultSet rs = execQuery("SELECT refId, elasticId FROM refs WHERE deleted = false"); - + PreparedStatement statement = prepareStatement("SELECT refId, elasticId FROM refs WHERE deleted = false"); + ResultSet rs = statement.executeQuery(); while (rs.next()) { result.add(new Pair<>(rs.getString(1), rs.getString(2))); } @@ -1997,16 +1775,22 @@ public List> getRefsCommits(String refId, int commitId) { if (refIdString.equals("")) { refIdString = "master"; } - String query = String.format( - "SELECT elasticId, creator, timestamp, refId, commitType.name FROM commits JOIN commitType ON commitType.id = commits.commitType WHERE (refId = '%s' OR refId = '%s')", - refId, refIdString); + String query = + "SELECT elasticId, creator, timestamp, refId, commitType.name FROM commits JOIN commitType ON commitType.id = commits.commitType WHERE (refId = ? OR refId = ?)"; if (commitId != 0) { - query += String.format(" AND timestamp <= (SELECT timestamp FROM commits WHERE id = %s)", commitId); + query += " AND timestamp <= (SELECT timestamp FROM commits WHERE id = ?)"; } query += " ORDER BY timestamp DESC"; - ResultSet rs = execQuery(query); + PreparedStatement statement = prepareStatement(query); + statement.setString(1, refId); + statement.setString(2, refIdString); + if (commitId != 0) { + statement.setInt(3, commitId); + } + + ResultSet rs = statement.executeQuery(); while (rs.next()) { Map commit = new HashMap<>(); @@ -2018,9 +1802,12 @@ public List> getRefsCommits(String refId, int commitId) { result.add(commit); } - rs = execQuery(String - .format("SELECT parent, parentCommit FROM refs WHERE refId = '%s' OR refId = '%s'", refId, - refIdString)); + PreparedStatement parentStatement = + prepareStatement("SELECT parent, parentCommit FROM refs WHERE refId = ? OR refId = ?"); + parentStatement.setString(1, refId); + parentStatement.setString(2, refIdString); + + rs = parentStatement.executeQuery(); if (rs.next() && rs.getInt(2) != 0) { String nextRefId = rs.getString(1); result.addAll(getRefsCommits(nextRefId, rs.getInt(2))); @@ -2059,94 +1846,37 @@ public void insertRef(String newWorkspaceId, String newWorkspaceName, int headCo parent = workspaceId; } try { - Map map = new HashMap<>(); + Map map = new HashMap<>(); map.put("refId", newWorkspaceId); map.put("refName", newWorkspaceName); map.put("parent", parent); - map.put("parentCommit", Integer.toString(headCommit)); + map.put("parentCommit", headCommit); map.put("elasticId", elasticId); - map.put("tag", Boolean.toString(isTag)); + map.put("tag", isTag); insert("refs", map); - } catch (SQLException e) { + } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } } public void updateRef(String refId, String refName, String elasticId, boolean isTag) { try { - execUpdate(String - .format("UPDATE refs SET refName = '%s', elasticId = '%s', tag = '%b' WHERE refId = '%s'", refName, - elasticId, isTag, refId)); - } catch (SQLException e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } - } - - public void insertTag(String workspaceName, String workspaceId) { - try { - Map map = new HashMap<>(); - map.put("refName", workspaceName); - map.put("refId", workspaceId); - map.put("tag", "true"); - insert("refs", map); - } catch (SQLException e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } - - } - - public List filterNodesWithElastic(List elasticrefs) { - return filterNodesByWorkspaceWithElastic(elasticrefs, workspaceId); - } - - public List filterNodesByWorkspaceWithElastic(List elasticrefs, String workspace) { - return filterNodesByWorkspace(elasticrefs, workspace, "elasticid"); - } - - public List filterNodesWithSysmlid(List sysmlids) { - return filterNodesByWorkspaceWithSysmlid(sysmlids, workspaceId); - } - - public List filterNodesByWorkspaceWithSysmlid(List sysmlids, String workspace) { - return filterNodesByWorkspace(sysmlids, workspace, "sysmlid"); - } - - public List filterNodesByWorkspace(List sysmlids, String workspace, String column) { - List result = new ArrayList<>(); - List selectCache = new ArrayList<>(); - int limit = Integer.parseInt(EmsConfig.get("pg.limit.select")); - try { - for (int i = 0; i < sysmlids.size(); i++) { - selectCache.add(sysmlids.get(i)); - if (((i + 1) % limit) == 0 || i == (sysmlids.size() - 1)) { - String query = "SELECT " + column + " FROM \"nodes" + workspace + "\" WHERE " + column + " IN ('"; - query += StringUtils.join(selectCache, "','"); - query += "');"; - - logger.debug(String.format("Query: %s", query)); - - ResultSet rs = execQuery(query); - - while (rs.next()) { - result.add(rs.getString(1)); - } - selectCache = new ArrayList<>(); - } - } - } catch (SQLException e) { + PreparedStatement statement = + prepareStatement("UPDATE refs SET refName = ?, elasticId = ?, tag = ? WHERE refId = ?"); + statement.setString(1, refName); + statement.setString(2, elasticId); + statement.setBoolean(3, isTag); + statement.setString(4, refId); + statement.executeUpdate(); + } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); } - - return result; } public boolean orgExists(String orgId) { try { - connectConfig(); PreparedStatement query = - this.configConn.prepareStatement("SELECT count(id) FROM organizations WHERE orgId = ?"); + getConn("config").prepareStatement("SELECT count(id) FROM organizations WHERE orgId = ?"); query.setString(1, orgId); ResultSet rs = query.executeQuery(); if (rs.next()) { @@ -2162,33 +1892,13 @@ public boolean orgExists(String orgId) { return false; } - public boolean siteExists(String siteName) { - try { - connect(); - PreparedStatement query = this.conn.prepareStatement("SELECT count(*) FROM \"nodes" + workspaceId - + "\" WHERE (nodetype = (SELECT id FROM nodetypes WHERE name = 'site') OR nodetype = (SELECT id FROM nodetypes WHERE name = 'siteandpackage')) AND sysmlid = ?"); - query.setString(1, siteName); - ResultSet rs = query.executeQuery(); - if (rs.next()) { - if (rs.getInt(1) > 0) { - return true; - } - } - } catch (SQLException e) { - logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); - } - return false; - } - public boolean refExists(String refId) { String currentWorkspace = this.workspaceId; this.workspaceId = ""; refId = sanitizeRefId(refId); try { connect(); - PreparedStatement query = this.conn.prepareStatement("SELECT count(id) FROM refs WHERE refId = ?"); + PreparedStatement query = prepareStatement("SELECT count(id) FROM refs WHERE refId = ?"); query.setString(1, refId); ResultSet rs = query.executeQuery(); if (rs.next()) { @@ -2213,18 +1923,17 @@ public boolean refExists(String refId) { * @param databaseName */ public void dropDatabase(String databaseName) { - - String query = "ALTER DATABASE \"_" + databaseName + "\" CONNECTION LIMIT 0"; + // SQL Injection Vulnerability avoidance tryhard + String sanitizedDBName = StringEscapeUtils.escapeSql(databaseName); + String query = "ALTER DATABASE \"_" + sanitizedDBName + "\" CONNECTION LIMIT 0"; String query2 = - "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = \'_" + databaseName + "\'"; - String query3 = "DROP DATABASE \"_" + databaseName + "\";"; - - connectConfig(); + "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = \'_" + sanitizedDBName + "\'"; + String query3 = "DROP DATABASE \"_" + sanitizedDBName + "\";"; try { - this.configConn.createStatement().executeUpdate(query); - this.configConn.prepareCall(query2).execute(); - this.configConn.createStatement().executeUpdate(query3); + getConn("config").createStatement().executeUpdate(query); + getConn("config").prepareCall(query2).execute(); + getConn("config").createStatement().executeUpdate(query3); // Should only try to remove the connection from postgres if the queries succeed. PostgresPool.removeConnection(EmsConfig.get("pg.host"), databaseName); @@ -2235,7 +1944,7 @@ public void dropDatabase(String databaseName) { // If any of the queries fail, reset the connection limit of the database query = "ALTER DATABASE \"_" + databaseName + "\" CONNECTION LIMIT -1"; try { - this.configConn.createStatement().executeUpdate(query); + getConn("config").createStatement().executeUpdate(query); } catch (SQLException e2) { logger.warn(String.format("%s", LogUtil.getStackTrace(e2))); } @@ -2250,10 +1959,11 @@ public void dropDatabase(String databaseName) { * @param projectId */ public void deleteProjectFromProjectsTable(String projectId) { - connectConfig(); try { - String query = "DELETE FROM projects WHERE projectid = \'" + projectId + "\'"; - this.configConn.createStatement().executeUpdate(query); + String query = "DELETE FROM projects WHERE projectid = ?"; + PreparedStatement statement = getConn("config").prepareStatement(query); + statement.setString(1, projectId); + statement.executeUpdate(); } catch (SQLException e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } @@ -2261,24 +1971,22 @@ public void deleteProjectFromProjectsTable(String projectId) { } private String sanitizeRefId(String refId) { - return refId.replace("-", "_").replaceAll("\\s+", ""); + return StringEscapeUtils.escapeSql(refId.replace("-", "_").replaceAll("\\s+", "")); } - public boolean isLocked() { + public boolean deleteOrganization(String orgId) { + boolean orgDeleted = false; + try { - connect(); - PreparedStatement query = this.conn.prepareStatement("SELECT count(id) FROM queue WHERE refId = ?"); - query.setString(1, this.workspaceId); - ResultSet rs = query.executeQuery(); - if (rs.next() && rs.getInt(1) > 0) { - return true; - } - } catch (SQLException e) { + PreparedStatement query = getConn("config").prepareStatement("DELETE FROM organizations WHERE orgid = ?"); + query.setString(1, orgId); + query.executeUpdate(); + orgDeleted = true; + } catch(SQLException e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); - } finally { - close(); } + closeConfig(); - return false; + return orgDeleted; } } diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/CommitUtil.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/CommitUtil.java index 3d95d262..55871cbd 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/CommitUtil.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/CommitUtil.java @@ -213,22 +213,22 @@ private static boolean processDeltasForDb(JSONObject delta, String projectId, St withChildViews, projectId)) { try { - List> nodeInserts = new ArrayList<>(); - List> edgeInserts = new ArrayList<>(); - List> childEdgeInserts = new ArrayList<>(); - List> nodeUpdates = new ArrayList<>(); + List> nodeInserts = new ArrayList<>(); + List> edgeInserts = new ArrayList<>(); + List> childEdgeInserts = new ArrayList<>(); + List> nodeUpdates = new ArrayList<>(); Set uniqueEdge = new HashSet<>(); for (int i = 0; i < added.length(); i++) { JSONObject e = added.getJSONObject(i); - Map node = new HashMap<>(); + Map node = new HashMap<>(); jmsAdded.put(e.getString(Sjm.SYSMLID)); int nodeType = getNodeType(e).getValue(); if (e.has(Sjm.ELASTICID)) { node.put(Sjm.ELASTICID, e.getString(Sjm.ELASTICID)); node.put(Sjm.SYSMLID, e.getString(Sjm.SYSMLID)); - node.put(NODETYPE, Integer.toString(nodeType)); + node.put(NODETYPE, nodeType); node.put(INITIALCOMMIT, e.getString(Sjm.ELASTICID)); node.put(LASTCOMMIT, commitElasticId); nodeInserts.add(node); @@ -342,11 +342,11 @@ private static boolean processDeltasForDb(JSONObject delta, String projectId, St } } if (e.has(Sjm.ELASTICID)) { - Map updatedNode = new HashMap<>(); + Map updatedNode = new HashMap<>(); updatedNode.put(Sjm.ELASTICID, e.getString(Sjm.ELASTICID)); updatedNode.put(Sjm.SYSMLID, e.getString(Sjm.SYSMLID)); - updatedNode.put(NODETYPE, Integer.toString(getNodeType(e).getValue())); - updatedNode.put(DELETED, "false"); + updatedNode.put(NODETYPE, getNodeType(e).getValue()); + updatedNode.put(DELETED, false); updatedNode.put(LASTCOMMIT, commitElasticId); nodeUpdates.add(updatedNode); } @@ -356,10 +356,10 @@ private static boolean processDeltasForDb(JSONObject delta, String projectId, St if (!pgh.edgeExists(e.first, e.second, DbEdgeTypes.CONTAINMENT)) { String edgeTest = e.first + e.second + DbEdgeTypes.CONTAINMENT.getValue(); if (!uniqueEdge.contains(edgeTest)) { - Map edge = new HashMap<>(); + Map edge = new HashMap<>(); edge.put(PARENT, e.first); edge.put(CHILD, e.second); - edge.put(EDGETYPE, Integer.toString(DbEdgeTypes.CONTAINMENT.getValue())); + edge.put(EDGETYPE, DbEdgeTypes.CONTAINMENT.getValue()); edgeInserts.add(edge); uniqueEdge.add(edgeTest); } @@ -370,10 +370,10 @@ private static boolean processDeltasForDb(JSONObject delta, String projectId, St if (!pgh.edgeExists(e.first, e.second, DbEdgeTypes.VIEW)) { String edgeTest = e.first + e.second + DbEdgeTypes.VIEW.getValue(); if (!uniqueEdge.contains(edgeTest)) { - Map edge = new HashMap<>(); + Map edge = new HashMap<>(); edge.put(PARENT, e.first); edge.put(CHILD, e.second); - edge.put(EDGETYPE, Integer.toString(DbEdgeTypes.VIEW.getValue())); + edge.put(EDGETYPE, DbEdgeTypes.VIEW.getValue()); childEdgeInserts.add(edge); uniqueEdge.add(edgeTest); } @@ -383,10 +383,10 @@ private static boolean processDeltasForDb(JSONObject delta, String projectId, St if (!pgh.edgeExists(e.first, e.second, DbEdgeTypes.CHILDVIEW)) { String edgeTest = e.first + e.second + DbEdgeTypes.CHILDVIEW.getValue(); if (!uniqueEdge.contains(edgeTest)) { - Map edge = new HashMap<>(); + Map edge = new HashMap<>(); edge.put(PARENT, e.first); edge.put(CHILD, e.second); - edge.put(EDGETYPE, Integer.toString(DbEdgeTypes.CHILDVIEW.getValue())); + edge.put(EDGETYPE, DbEdgeTypes.CHILDVIEW.getValue()); childEdgeInserts.add(edge); uniqueEdge.add(edgeTest); } @@ -397,13 +397,14 @@ private static boolean processDeltasForDb(JSONObject delta, String projectId, St try {//do node insert, updates, and containment edge updates //do bulk delete edges for affected sysmlids here - delete containment, view and childview sp = pgh.startTransaction(); - pgh.runBulkQueries(nodeInserts, NODES); - pgh.runBulkQueries(nodeUpdates, "updates"); - pgh.updateBySysmlIds(NODES, LASTCOMMIT, commitElasticId, deletedSysmlIds); + pgh.runBatchQueries(nodeInserts, NODES); + pgh.runBatchQueries(nodeUpdates, "updates"); + //pgh.updateBySysmlIds(NODES, LASTCOMMIT, commitElasticId, deletedSysmlIds); + pgh.updateLastCommits(commitElasticId, deletedSysmlIds); pgh.commitTransaction(); pgh.insertCommit(commitElasticId, DbCommitTypes.COMMIT, creator); sp = pgh.startTransaction(); - pgh.runBulkQueries(edgeInserts, EDGES); + pgh.runBatchQueries(edgeInserts, EDGES); pgh.commitTransaction(); nullParents = pgh.findNullParents(); if (nullParents != null) { @@ -423,7 +424,7 @@ private static boolean processDeltasForDb(JSONObject delta, String projectId, St } try {//view and childview edge updates sp = pgh.startTransaction(); - pgh.runBulkQueries(childEdgeInserts, EDGES); + pgh.runBatchQueries(childEdgeInserts, EDGES); pgh.commitTransaction(); pgh.cleanEdges(); } catch (Exception e) { @@ -463,8 +464,8 @@ private static boolean processDeltasForDb(JSONObject delta, String projectId, St return true; } - public static void processNodesAndEdgesWithoutCommit(JSONArray elements, List> nodeInserts, - List> edgeInserts, List> childEdgeInserts) { + public static void processNodesAndEdgesWithoutCommit(JSONArray elements, List> nodeInserts, + List> edgeInserts, List> childEdgeInserts) { List> addEdges = new ArrayList<>(); List> viewEdges = new ArrayList<>(); @@ -473,15 +474,15 @@ public static void processNodesAndEdgesWithoutCommit(JSONArray elements, List node = new HashMap<>(); + Map node = new HashMap<>(); int nodeType = getNodeType(e).getValue(); if (e.has(Sjm.ELASTICID)) { node.put(Sjm.ELASTICID, e.getString(Sjm.ELASTICID)); node.put(Sjm.SYSMLID, e.getString(Sjm.SYSMLID)); - node.put(NODETYPE, Integer.toString(nodeType)); + node.put(NODETYPE, nodeType); node.put(LASTCOMMIT, e.getString(Sjm.COMMITID)); - node.put(DELETED, "false"); + node.put(DELETED, false); nodeInserts.add(node); } @@ -531,10 +532,10 @@ public static void processNodesAndEdgesWithoutCommit(JSONArray elements, List e : addEdges) { String edgeTest = e.first + e.second + DbEdgeTypes.CONTAINMENT.getValue(); if (!uniqueEdge.contains(edgeTest)) { - Map edge = new HashMap<>(); + Map edge = new HashMap<>(); edge.put(PARENT, e.first); edge.put(CHILD, e.second); - edge.put(EDGETYPE, Integer.toString(DbEdgeTypes.CONTAINMENT.getValue())); + edge.put(EDGETYPE, DbEdgeTypes.CONTAINMENT.getValue()); edgeInserts.add(edge); uniqueEdge.add(edgeTest); } @@ -543,10 +544,10 @@ public static void processNodesAndEdgesWithoutCommit(JSONArray elements, List e : viewEdges) { String edgeTest = e.first + e.second + DbEdgeTypes.VIEW.getValue(); if (!uniqueEdge.contains(edgeTest)) { - Map edge = new HashMap<>(); + Map edge = new HashMap<>(); edge.put(PARENT, e.first); edge.put(CHILD, e.second); - edge.put(EDGETYPE, Integer.toString(DbEdgeTypes.VIEW.getValue())); + edge.put(EDGETYPE, DbEdgeTypes.VIEW.getValue()); childEdgeInserts.add(edge); uniqueEdge.add(edgeTest); } @@ -555,23 +556,23 @@ public static void processNodesAndEdgesWithoutCommit(JSONArray elements, List e : childViewEdges) { String edgeTest = e.first + e.second + DbEdgeTypes.CHILDVIEW.getValue(); if (!uniqueEdge.contains(edgeTest)) { - Map edge = new HashMap<>(); + Map edge = new HashMap<>(); edge.put(PARENT, e.first); edge.put(CHILD, e.second); - edge.put(EDGETYPE, Integer.toString(DbEdgeTypes.CHILDVIEW.getValue())); + edge.put(EDGETYPE, DbEdgeTypes.CHILDVIEW.getValue()); childEdgeInserts.add(edge); uniqueEdge.add(edgeTest); } } } - public static boolean insertForBranchInPast(PostgresHelper pgh, List> list, String type, + public static boolean insertForBranchInPast(PostgresHelper pgh, List> list, String type, String projectId) { Savepoint sp = null; List nullParents; try { sp = pgh.startTransaction(); - pgh.runBulkQueries(list, type); + pgh.runBatchQueries(list, type); pgh.commitTransaction(); nullParents = pgh.findNullParents(); if (nullParents != null) { @@ -756,9 +757,7 @@ public static void sendProjectDelta(JSONObject o, String orgId, String user) { jmsMsg.put("source", "mms"); sendJmsMsg(jmsMsg, TYPE_DELTA, null, projectSysmlid); } else { - Map projectElastic = new HashMap<>(); - projectElastic.put("elasticid", eProject.elasticId); - pgh.updateNode(projectSysmlid, projectElastic); + pgh.updateElasticId(projectSysmlid, eProject.elasticId); } } catch (Exception e) { if (logger.isDebugEnabled()) { @@ -817,9 +816,9 @@ public static synchronized JSONObject sendBranch(String projectId, JSONObject sr logger.info(String.format("Finished getting elements from elastic for branch %s started by %s at %s", created.getString(Sjm.SYSMLID), created.optString(Sjm.CREATOR), timer)); - List> nodeInserts = new ArrayList<>(); - List> edgeInserts = new ArrayList<>(); - List> childEdgeInserts = new ArrayList<>(); + List> nodeInserts = new ArrayList<>(); + List> edgeInserts = new ArrayList<>(); + List> childEdgeInserts = new ArrayList<>(); processNodesAndEdgesWithoutCommit(modelFromCommit.getJSONArray(Sjm.ELEMENTS), nodeInserts, edgeInserts, childEdgeInserts); @@ -1041,7 +1040,7 @@ public static boolean createOrUpdateSiteChar(JSONObject siteChar, String project return false; } - private static Pattern pattern = Pattern.compile("> edges) { JSONObject defaultValue = element.optJSONObject(Sjm.DEFAULTVALUE); @@ -1060,7 +1059,7 @@ public static void processValueEdges(JSONObject element, List> documentEdges) { - if (doc != null) { + if (doc != null && !doc.equals("")) { Matcher matcher = pattern.matcher(doc); while (matcher.find()) { @@ -1101,11 +1100,13 @@ public static void processInstanceSpecificationSpecificationJson(String sysmlId, documentEdges.add(new Pair<>(sysmlId, (String) source)); } } - Matcher matcher = pattern.matcher(text); - while (matcher.find()) { - String mmseid = matcher.group(1); - if (mmseid != null) { - documentEdges.add(new Pair<>(sysmlId, mmseid)); + if (text.length() != 0) { + Matcher matcher = pattern.matcher(text); + while (matcher.find()) { + String mmseid = matcher.group(1); + if (mmseid != null) { + documentEdges.add(new Pair<>(sysmlId, mmseid)); + } } } } catch (JSONException ex) { diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/EmsNodeUtil.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/EmsNodeUtil.java index 4aa5256c..210bc454 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/EmsNodeUtil.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/EmsNodeUtil.java @@ -1397,7 +1397,7 @@ private static Map getSysmlMap(JSONArray elements) { return sysmlid2elements; } - private static Map toMap(JSONObject object) { + public static Map toMap(JSONObject object) { Map map = new HashMap<>(); Iterator keysItr = object.keys(); @@ -1409,6 +1409,8 @@ private static Map toMap(JSONObject object) { value = toList((JSONArray) value); } else if (value instanceof JSONObject) { value = toMap((JSONObject) value); + } else if (value == JSONObject.NULL) { + value = null; } map.put(key, value); } diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/JsonContentReader.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/JsonContentReader.java new file mode 100644 index 00000000..0015e8b9 --- /dev/null +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/util/JsonContentReader.java @@ -0,0 +1,114 @@ +package gov.nasa.jpl.view_repo.util; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import org.alfresco.repo.content.AbstractContentReader; +import org.alfresco.service.cmr.repository.ContentIOException; +import org.alfresco.service.cmr.repository.ContentReader; +import org.apache.log4j.Logger; +import org.springframework.util.StreamUtils; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.channels.Channels; +import java.nio.channels.ReadableByteChannel; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Map; + +public class JsonContentReader extends AbstractContentReader implements ContentReader { + + private static Logger logger = Logger.getLogger(JsonContentReader.class); + + private byte[] json; + private String modified; + private long size; + private SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); + private static ObjectMapper om; + static { + om = new ObjectMapper(); + om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + om.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); + } + + public JsonContentReader(Map json) throws JsonProcessingException { + this(om.writeValueAsBytes(json), "store://"); + modified = (String) json.get(Sjm.MODIFIED); + size = json.keySet().size(); + } + + public JsonContentReader(byte[] json, String url) { + super(url); + this.json = json; + } + + public byte[] getJson() { + return this.json; + } + + public boolean exists() { + return this.size > 0; + } + + public long getSize() { + return !this.exists() ? 0L : this.json.length; + } + + public long getLastModified() { + Date lastModified = new Date(); + try { + lastModified = df.parse(this.modified); + } catch (Exception e) { + if (logger.isDebugEnabled()) { + logger.debug("getLastModified Error: ", e); + } + } + return lastModified.getTime(); + } + + protected ContentReader createReader() { + return new JsonContentReader(this.json, this.getContentUrl()); + } + + public void getStreamContent(OutputStream os) { + try { + StreamUtils.copy(new ByteArrayInputStream(this.json), os); + } catch (IOException e) { + if (logger.isDebugEnabled()) { + logger.debug("Failed to copy content to output stream: \n accessor: " + this, e); + } + } + } + + protected ReadableByteChannel getDirectReadableChannel() { + if (!this.exists() && logger.isDebugEnabled()) { + logger.debug("JSON does not exist"); + } else { + try (ReadableByteChannel channel = Channels.newChannel(new ByteArrayInputStream(this.json))) { + return channel; + } catch (IOException e) { + if (logger.isDebugEnabled()) { + logger.debug("Failed to convert json to input stream: " + this, e); + } + } + } + return null; + } + + public InputStream getContentInputStream() { + try { + return Channels.newInputStream(this.getDirectReadableChannel()); + } catch (ContentIOException e) { + if (logger.isDebugEnabled()) { + logger.debug("Failed to open stream onto channel: \n accessor: " + this, e); + } + } + + return null; + } +} diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/CfIdsGet.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/CfIdsGet.java index 07503229..ef6b3b84 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/CfIdsGet.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/CfIdsGet.java @@ -134,10 +134,26 @@ protected JSONArray handleElementHierarchy(String rootSysmlid, WebScriptRequest String projectId = getProjectId(req); String refId = getRefId(req); JSONObject mountsJson = new JSONObject().put(Sjm.SYSMLID, projectId).put(Sjm.REFID, refId); - return handleMountSearch(mountsJson, rootSysmlid); + Long depth = null; + String depthParam = req.getParameter("depth"); + if (depthParam != null) { + try { + depth = Long.parseLong(depthParam); + if (depth < 0) { + depth = 100000L; + } + } catch (NumberFormatException nfe) { + // don't do any recursion, ignore the depth + log(Level.WARN, HttpServletResponse.SC_BAD_REQUEST, "Bad depth specified, returning depth 0"); + } + } + if (depth == null) { + depth = 5L; + } + return handleMountSearch(mountsJson, rootSysmlid, depth); } - protected JSONArray handleMountSearch(JSONObject mountsJson, String rootSysmlid) + protected JSONArray handleMountSearch(JSONObject mountsJson, String rootSysmlid, Long depth) throws SQLException, IOException { JSONArray result = null; EmsNodeUtil emsNodeUtil = new EmsNodeUtil(mountsJson.getString(Sjm.SYSMLID), mountsJson.getString(Sjm.REFID)); @@ -147,7 +163,7 @@ protected JSONArray handleMountSearch(JSONObject mountsJson, String rootSysmlid) log(Level.ERROR, HttpServletResponse.SC_GONE, "Element %s is deleted", rootSysmlid); return new JSONArray(); } - return emsNodeUtil.getChildrenIds(rootSysmlid, GraphInterface.DbEdgeTypes.VIEW, 20L); + return emsNodeUtil.getChildrenIds(rootSysmlid, GraphInterface.DbEdgeTypes.VIEW, depth); } if (!mountsJson.has(Sjm.MOUNTS)) { mountsJson = emsNodeUtil @@ -156,7 +172,7 @@ protected JSONArray handleMountSearch(JSONObject mountsJson, String rootSysmlid) JSONArray mountsArray = mountsJson.getJSONArray(Sjm.MOUNTS); for (int i = 0; i < mountsArray.length(); i++) { - result = handleMountSearch(mountsArray.getJSONObject(i), rootSysmlid); + result = handleMountSearch(mountsArray.getJSONObject(i), rootSysmlid, depth); if (result != null) { return result; } diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/DeclarativeJavaWebScript.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/DeclarativeJavaWebScript.java index b50214de..6b256933 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/DeclarativeJavaWebScript.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/DeclarativeJavaWebScript.java @@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse; +import gov.nasa.jpl.view_repo.util.JsonContentReader; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.json.JSONArray; @@ -68,6 +69,9 @@ public class DeclarativeJavaWebScript extends AbstractWebScript { public static final String NO_PROJECT_ID = "no_project"; public static final String NO_SITE_ID = "no_site"; + private static final String HEADER_CONTENT_RANGE = "Content-Range"; + private static final String HEADER_CONTENT_LENGTH = "Content-Length"; + /* (non-Javadoc) * @see org.alfresco.web.scripts.WebScript#execute(org.alfresco.web.scripts.WebScriptRequest, org.alfresco.web.scripts.WebScriptResponse) */ @@ -92,6 +96,8 @@ public class DeclarativeJavaWebScript extends AbstractWebScript { String projectId = req.getServiceMatch().getTemplateVars().get(PROJECT_ID); Boolean perm = hasPermission(req, res); + res.setHeader("Access-Control-Allow-Origin", "*"); + res.setHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, HEAD, OPTIONS"); if (projectId == null || (perm != null && perm)) { model = executeImpl(req, status, cache); } else { @@ -143,8 +149,20 @@ public class DeclarativeJavaWebScript extends AbstractWebScript { // render response according to requested format if (templateModel.containsKey(Sjm.RES) && templateModel.get(Sjm.RES) != null) { - res.getWriter().write(templateModel.get(Sjm.RES).toString()); - res.setHeader("Content-Type", "application/json;charset=UTF-8"); + res.setContentType("application/json"); + res.setContentEncoding("UTF-8"); + if (templateModel.get(Sjm.RES) instanceof JSONObject) { + JSONObject json = (JSONObject) templateModel.get(Sjm.RES); + Map jsonMap = EmsNodeUtil.toMap(json); + JsonContentReader reader = new JsonContentReader(jsonMap); + + // get the content and stream directly to the response output stream + // assuming the repository is capable of streaming in chunks, this should allow large files + // to be streamed directly to the browser response stream. + reader.getStreamContent(res.getOutputStream()); + } else { + res.getWriter().write(templateModel.get(Sjm.RES).toString()); + } } } } finally { @@ -153,7 +171,7 @@ public class DeclarativeJavaWebScript extends AbstractWebScript { } } catch (Throwable e) { logger.error(String.format("Caught exception; decorating with appropriate status template : %s", - LogUtil.getStackTrace(e))); + LogUtil.getStackTrace(e))); throw createStatusException(e, req, res); } } @@ -269,7 +287,8 @@ JSONArray filterProjectByPermission(JSONArray projects) { for (int i = 0; i < projects.length(); i++) { JSONObject project = projects.optJSONObject(i); if (project != null && project.has("orgId")) { - Boolean perm = SitePermission.hasPermission(project.getString("orgId"), project.getString(Sjm.SYSMLID), null, Permission.READ); + Boolean perm = SitePermission + .hasPermission(project.getString("orgId"), project.getString(Sjm.SYSMLID), null, Permission.READ); if (perm != null && perm) { result.put(project); } @@ -302,9 +321,9 @@ JSONArray filterByPermission(JSONArray elements, WebScriptRequest req) { for (int i = 0; i < elements.length(); i++) { JSONObject el = elements.optJSONObject(i); String refId2 = el.has(Sjm.REFID) ? el.getString(Sjm.REFID) : refId; - String projectId2 = el.has(Sjm.PROJECTID) ? el.getString(Sjm.PROJECTID): projectId; - JSONObject element = filterElementByPermission(el, projectId2, refId2, Permission.READ, - permCache, projectSite); + String projectId2 = el.has(Sjm.PROJECTID) ? el.getString(Sjm.PROJECTID) : projectId; + JSONObject element = + filterElementByPermission(el, projectId2, refId2, Permission.READ, permCache, projectSite); if (element != null) { result.put(element); } @@ -313,8 +332,7 @@ JSONArray filterByPermission(JSONArray elements, WebScriptRequest req) { } private JSONObject filterElementByPermission(JSONObject element, String projectId, String refId, - Permission permission, Map> permCache, - Map projectSite) { + Permission permission, Map> permCache, Map projectSite) { // temp fix to skip permission checking Boolean hasPerm; String siteId = null; @@ -332,7 +350,8 @@ private JSONObject filterElementByPermission(JSONObject element, String projectI hasPerm = permCache.get(cacheKey).get(permission); } else { hasPerm = SitePermission.hasPermission(siteId, projectId, refId, permission); - Map permMap = permCache.containsKey(cacheKey) ? permCache.get(cacheKey) : new HashMap<>(); + Map permMap = + permCache.containsKey(cacheKey) ? permCache.get(cacheKey) : new HashMap<>(); permMap.put(permission, (hasPerm == null) ? false : hasPerm); permCache.put(cacheKey, permMap); } @@ -344,7 +363,8 @@ private JSONObject filterElementByPermission(JSONObject element, String projectI editable = permCache.get(cacheKey).get(Permission.WRITE); } else { editable = SitePermission.hasPermission(siteId, projectId, refId, Permission.WRITE); - Map writePermMap = permCache.containsKey(cacheKey) ? permCache.get(cacheKey) : new HashMap<>(); + Map writePermMap = + permCache.containsKey(cacheKey) ? permCache.get(cacheKey) : new HashMap<>(); writePermMap.put(Permission.WRITE, editable); permCache.put(cacheKey, writePermMap); } diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/ModelPost.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/ModelPost.java index 8c764318..7afe8ba4 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/ModelPost.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/ModelPost.java @@ -261,7 +261,7 @@ protected Map handleArtifactPost(final WebScriptRequest req, fin logger.error("Was not able to create the artifact!\n"); model.put(Sjm.RES, createResponseJson()); } else { - resultJson.put("upload", svgArtifact); + //resultJson.put("upload", svgArtifact); if (!NodeUtil.skipSvgToPng) { try { Path svgPath = saveSvgToFilesystem(artifactId, extension, content); diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/ModelSearch.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/ModelSearch.java index 47127be3..3d236b1a 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/ModelSearch.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/ModelSearch.java @@ -35,6 +35,8 @@ import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; +import java.util.HashSet; import javax.servlet.http.HttpServletResponse; @@ -55,6 +57,8 @@ import gov.nasa.jpl.mbee.util.Timer; import gov.nasa.jpl.view_repo.util.EmsNodeUtil; import gov.nasa.jpl.view_repo.util.LogUtil; +import gov.nasa.jpl.view_repo.db.ElasticHelper; + /** * Model search service that returns a JSONArray of elements @@ -86,14 +90,22 @@ public ModelSearch(Repository repositoryHelper, ServiceRegistry registry) { try { - JSONObject top = new JSONObject(); - JSONArray elementsJson = executeSearchRequest(req); - top.put("elements", elementsJson); - - if (!Utils.isNullOrEmpty(response.toString())) { - top.put("message", response.toString()); + boolean noprocess = Boolean.parseBoolean(req.getParameter("literal")); + if (noprocess) { + JSONObject json = (JSONObject) req.parseContent(); + ElasticHelper eh = new ElasticHelper(); + JSONObject result = eh.searchLiteral(json); + model.put(Sjm.RES, result.toString()); + } else { + JSONObject top = new JSONObject(); + JSONArray elementsJson = executeSearchRequest(req); + top.put("elements", elementsJson); + + if (!Utils.isNullOrEmpty(response.toString())) { + top.put("message", response.toString()); + } + model.put(Sjm.RES, top.toString()); } - model.put(Sjm.RES, top.toString()); } catch (JSONException e) { log(Level.ERROR, HttpServletResponse.SC_BAD_REQUEST, "Could not parse the JSON request", e); } catch (Exception e) { @@ -123,6 +135,8 @@ private JSONArray executeSearchRequest(WebScriptRequest req) throws JSONExceptio JSONArray elasticResult = emsNodeUtil.search(json); elasticResult = filterByPermission(elasticResult, req); Map bins = new HashMap<>(); + JSONArray finalResult = new JSONArray(); + Set found = new HashSet<>(); for (int i = 0; i < elasticResult.length(); i++) { JSONObject e = elasticResult.getJSONObject(i); @@ -135,11 +149,18 @@ private JSONArray executeSearchRequest(WebScriptRequest req) throws JSONExceptio } else if (e.getString(Sjm.TYPE).equals("Slot")) { ownere = getGrandOwnerJson(eprojId, erefId, e.getString(Sjm.OWNERID)); } - if (ownere != null && ownere.has(Sjm.SYSMLID)) { - elasticResult.put(i, ownere); - e = ownere; + if (ownere != null && ownere.has(Sjm.SYSMLID) && !found.contains(ownere.getString(Sjm.SYSMLID))) { + finalResult.put(ownere); + String key = ownere.getString(Sjm.PROJECTID) + " " + ownere.getString(Sjm.REFID); + if (!bins.containsKey(key)) { + bins.put(key, new JSONArray()); + } + bins.get(key).put(ownere); + found.add(ownere.getString(Sjm.SYSMLID)); } } + finalResult.put(e); + found.add(e.getString(Sjm.SYSMLID)); String key = e.getString(Sjm.PROJECTID) + " " + e.getString(Sjm.REFID); if (!bins.containsKey(key)) { bins.put(key, new JSONArray()); @@ -154,11 +175,10 @@ private JSONArray executeSearchRequest(WebScriptRequest req) throws JSONExceptio util.addExtendedInformation(entry.getValue()); util.addExtraDocs(entry.getValue()); } - return elasticResult; + return finalResult; } catch (Exception e) { logger.warn(String.format("%s", LogUtil.getStackTrace(e))); } - return elements; } diff --git a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/WorkspacesPost.java b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/WorkspacesPost.java index 66fe3f38..b1a08a90 100644 --- a/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/WorkspacesPost.java +++ b/mms-ent/repo-amp/src/main/java/gov/nasa/jpl/view_repo/webscripts/WorkspacesPost.java @@ -224,7 +224,7 @@ public JSONObject createWorkSpace(String projectId, String sourceWorkId, String if (dstWs != null) { // keep history of the branch String srcId = srcWs.getName().equals(NO_WORKSPACE_ID) ? NO_WORKSPACE_ID : srcWs.getId(); - dstWs.setProperty("cm:title", dstWs.getId() + "_" + srcId); + dstWs.setProperty("cm:title", newWorkspaceId + "_" + srcId); dstWs.setProperty("cm:name", dstWs.getName()); CommitUtil.sendBranch(projectId, srcJson, wsJson, elasticId, isTag, diff --git a/mms-ent/repo/pom.xml b/mms-ent/repo/pom.xml index 91ceddab..cbb21602 100755 --- a/mms-ent/repo/pom.xml +++ b/mms-ent/repo/pom.xml @@ -18,7 +18,7 @@ gov.nasa.jpl.mbee mms-ent - 3.2.1 + 3.2.2 diff --git a/mms-ent/runner/pom.xml b/mms-ent/runner/pom.xml index df88e747..fce37d51 100755 --- a/mms-ent/runner/pom.xml +++ b/mms-ent/runner/pom.xml @@ -9,7 +9,7 @@ gov.nasa.jpl.mbee mms-ent - 3.2.1 + 3.2.2 diff --git a/mms-ent/runner/src/test/robotframework/JsonData/SearchQueryLiteral.json b/mms-ent/runner/src/test/robotframework/JsonData/SearchQueryLiteral.json new file mode 100644 index 00000000..47143e11 --- /dev/null +++ b/mms-ent/runner/src/test/robotframework/JsonData/SearchQueryLiteral.json @@ -0,0 +1,65 @@ +{ + "sort": [ + "_score", + { + "_modified": { + "order": "desc" + } + } + ], + "query": { + "bool": { + "must": [ + { + "bool": { + "should": [ + { + "term": { + "id": "302" + } + }, + { + "multi_match": { + "query": "302", + "fields": [ + "defaultValue.value", + "value.value", + "specification.value", + "name", + "documentation" + ] + } + } + ] + } + } + ], + "filter": [ + { + "bool": { + "should": [ + { + "bool": { + "must": [ + { + "term": { + "_projectId": "PA" + } + }, + { + "term": { + "_inRefIds": "master" + } + } + ] + } + } + ] + } + } + ] + } + }, + "from": 0, + "size": 50 +} diff --git a/mms-ent/runner/src/test/robotframework/output/baseline/SearchIncludingType.json b/mms-ent/runner/src/test/robotframework/output/baseline/SearchIncludingType.json index 0e3f372f..7ed46d54 100644 --- a/mms-ent/runner/src/test/robotframework/output/baseline/SearchIncludingType.json +++ b/mms-ent/runner/src/test/robotframework/output/baseline/SearchIncludingType.json @@ -24,6 +24,32 @@ "type": "LiteralString" } ] + }, + { + "_creator": "admin", + "_editable": true, + "_inRefIds": [ + "master", + "imagebranch" + ], + "_modifier": "admin", + "_projectId": "PA", + "_qualifiedId": "/PA/holding_bin_PA/300/301/302", + "_qualifiedName": "/Initial Organization Project Updated/Holding Bin/this name is updated/this name is also updated/three hundred and two", + "_refId": "master", + "_relatedDocuments": [], + "documentation": "to", + "id": "302", + "isDerived": false, + "name": "three hundred and two", + "ownerId": "301", + "type": "Property", + "value": [ + { + "string": "dlam_string", + "type": "LiteralString" + } + ] } ] } diff --git a/mms-ent/runner/src/test/robotframework/output/baseline/SearchLiteral.json b/mms-ent/runner/src/test/robotframework/output/baseline/SearchLiteral.json new file mode 100644 index 00000000..fd6718d2 --- /dev/null +++ b/mms-ent/runner/src/test/robotframework/output/baseline/SearchLiteral.json @@ -0,0 +1,35 @@ +{ + "hits": { + "hits": [ + { + "_index": "pa", + "_source": { + "_creator": "admin", + "_inRefIds": [ + "master", + "imagebranch" + ], + "_modifier": "admin", + "_projectId": "PA", + "_refId": "master", + "documentation": "to", + "id": "302", + "isDerived": false, + "name": "three hundred and two", + "ownerId": "301", + "type": "Property", + "value": [ + { + "string": "dlam_string", + "type": "LiteralString" + } + ] + }, + "_type": "element" + } + ], + "max_score": null, + "total": 1 + }, + "timed_out": false +} diff --git a/mms-ent/runner/src/test/robotframework/suites/07__search/01__master.robot b/mms-ent/runner/src/test/robotframework/suites/07__search/01__master.robot index 6d9b1a9b..a66626bf 100644 --- a/mms-ent/runner/src/test/robotframework/suites/07__search/01__master.robot +++ b/mms-ent/runner/src/test/robotframework/suites/07__search/01__master.robot @@ -16,3 +16,13 @@ SearchIncludingType ${compare_result} = Compare JSON ${TEST_NAME} Should Match Baseline ${compare_result} +SearchLiteral + [Documentation] "Search for an element and return literal json from elastic." + [Tags] search critical 0702 + ${post_json} Get File ${CURDIR}/../../JsonData/SearchQueryLiteral.json + ${result} Post url=${ROOT}/projects/PA/refs/master/search?literal=true data=${post_json} headers=&{REQ_HEADER} + Should Be Equal ${result.status_code} ${200} + ${filter} = Create List _id _shards _score sort took _commitId nodeRefId versionedRefId _created read lastModified _modified siteCharacterizationId time_total _elasticId _timestamp + Generate JSON ${TEST_NAME} ${result.json()} ${filter} + ${compare_result} = Compare JSON ${TEST_NAME} + Should Match Baseline ${compare_result} diff --git a/mms-ent/share-amp/ans b/mms-ent/share-amp/ans deleted file mode 100755 index 2a39b886..00000000 --- a/mms-ent/share-amp/ans +++ /dev/null @@ -1,2369 +0,0 @@ -Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T17:29:23+00:00) -Maven home: c:\Program Files\apache-maven-3.2.5 -Java version: 1.8.0_51, vendor: Oracle Corporation -Java home: c:\Program Files\Java\jdk1.8.0_51\jre -Default locale: en_US, platform encoding: Cp1252 -OS name: "windows server 2012 r2", version: "6.3", arch: "amd64", family: "dos" -[INFO] Error stacktraces are turned on. -[DEBUG] Reading global settings from c:\Program Files\apache-maven-3.2.5\conf\settings.xml -[DEBUG] Reading user settings from C:\Users\Administrator\.m2\settings.xml -[DEBUG] Using local repository at C:\Users\Administrator\.m2\repository -[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for C:\Users\Administrator\.m2\repository -[INFO] Scanning for projects... -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=1, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=1, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=1, DefaultDependencyCollector.collectTime=31, DefaultDependencyCollector.transformTime=0} -[DEBUG] org.apache.maven.archetype:archetype-packaging:jar:2.2: -[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.1:runtime -[DEBUG] Created new class realm maven.api -[DEBUG] Importing foreign packages into class realm maven.api -[DEBUG] Imported: org.apache.maven.cli < plexus.core -[DEBUG] Imported: org.eclipse.aether.internal.impl < plexus.core -[DEBUG] Imported: org.codehaus.plexus.lifecycle < plexus.core -[DEBUG] Imported: org.apache.maven.lifecycle < plexus.core -[DEBUG] Imported: org.apache.maven.repository < plexus.core -[DEBUG] Imported: org.codehaus.plexus.personality < plexus.core -[DEBUG] Imported: org.apache.maven.usability < plexus.core -[DEBUG] Imported: org.codehaus.plexus.configuration < plexus.core -[DEBUG] Imported: javax.enterprise.inject.* < plexus.core -[DEBUG] Imported: org.apache.maven.* < plexus.core -[DEBUG] Imported: org.apache.maven.project < plexus.core -[DEBUG] Imported: org.apache.maven.exception < plexus.core -[DEBUG] Imported: org.eclipse.aether.spi < plexus.core -[DEBUG] Imported: org.apache.maven.plugin < plexus.core -[DEBUG] Imported: org.eclipse.aether.collection < plexus.core -[DEBUG] Imported: org.codehaus.plexus.* < plexus.core -[DEBUG] Imported: org.codehaus.plexus.logging < plexus.core -[DEBUG] Imported: org.apache.maven.profiles < plexus.core -[DEBUG] Imported: org.eclipse.aether.transfer < plexus.core -[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException < plexus.core -[DEBUG] Imported: org.apache.maven.execution.scope < plexus.core -[DEBUG] Imported: org.apache.maven.wagon.* < plexus.core -[DEBUG] Imported: org.apache.maven.rtinfo < plexus.core -[DEBUG] Imported: org.eclipse.aether.impl < plexus.core -[DEBUG] Imported: org.apache.maven.monitor < plexus.core -[DEBUG] Imported: org.eclipse.aether.graph < plexus.core -[DEBUG] Imported: org.eclipse.aether.metadata < plexus.core -[DEBUG] Imported: org.codehaus.plexus.context < plexus.core -[DEBUG] Imported: org.apache.maven.wagon.observers < plexus.core -[DEBUG] Imported: org.apache.maven.wagon.resource < plexus.core -[DEBUG] Imported: javax.inject.* < plexus.core -[DEBUG] Imported: org.apache.maven.model < plexus.core -[DEBUG] Imported: org.codehaus.plexus.util.xml.Xpp3Dom < plexus.core -[DEBUG] Imported: org.eclipse.aether.deployment < plexus.core -[DEBUG] Imported: org.apache.maven.artifact < plexus.core -[DEBUG] Imported: org.apache.maven.toolchain < plexus.core -[DEBUG] Imported: org.eclipse.aether.resolution < plexus.core -[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < plexus.core -[DEBUG] Imported: org.apache.maven.settings < plexus.core -[DEBUG] Imported: org.apache.maven.wagon.authorization < plexus.core -[DEBUG] Imported: org.apache.maven.wagon.events < plexus.core -[DEBUG] Imported: org.apache.maven.wagon.authentication < plexus.core -[DEBUG] Imported: org.apache.maven.reporting < plexus.core -[DEBUG] Imported: org.eclipse.aether.repository < plexus.core -[DEBUG] Imported: org.slf4j.* < plexus.core -[DEBUG] Imported: org.apache.maven.wagon.repository < plexus.core -[DEBUG] Imported: javax.enterprise.util.* < plexus.core -[DEBUG] Imported: org.apache.maven.configuration < plexus.core -[DEBUG] Imported: org.codehaus.plexus.classworlds < plexus.core -[DEBUG] Imported: org.codehaus.classworlds < plexus.core -[DEBUG] Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < plexus.core -[DEBUG] Imported: org.apache.maven.classrealm < plexus.core -[DEBUG] Imported: org.eclipse.aether.* < plexus.core -[DEBUG] Imported: org.eclipse.aether.artifact < plexus.core -[DEBUG] Imported: org.apache.maven.execution < plexus.core -[DEBUG] Imported: org.apache.maven.wagon.proxy < plexus.core -[DEBUG] Imported: org.codehaus.plexus.container < plexus.core -[DEBUG] Imported: org.eclipse.aether.version < plexus.core -[DEBUG] Imported: org.eclipse.aether.installation < plexus.core -[DEBUG] Imported: org.codehaus.plexus.component < plexus.core -[DEBUG] Populating class realm maven.api -[DEBUG] Created new class realm extension>org.apache.maven.archetype:archetype-packaging:2.2 -[DEBUG] Importing foreign packages into class realm extension>org.apache.maven.archetype:archetype-packaging:2.2 -[DEBUG] Imported: < maven.api -[DEBUG] Populating class realm extension>org.apache.maven.archetype:archetype-packaging:2.2 -[DEBUG] Included: org.apache.maven.archetype:archetype-packaging:jar:2.2 -[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:1.1 -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=19, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=14, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=17, DefaultDependencyCollector.collectTime=78, DefaultDependencyCollector.transformTime=0} -[DEBUG] org.apache.maven.wagon:wagon-webdav-jackrabbit:jar:2.2: -[DEBUG] org.apache.maven.wagon:wagon-http-shared:jar:2.2:compile -[DEBUG] nekohtml:xercesMinimal:jar:1.9.6.2:compile -[DEBUG] nekohtml:nekohtml:jar:1.9.6.2:compile -[DEBUG] commons-logging:commons-logging:jar:1.1.1:compile -[DEBUG] org.apache.jackrabbit:jackrabbit-webdav:jar:2.2.5:compile -[DEBUG] org.apache.jackrabbit:jackrabbit-jcr-commons:jar:2.2.5:compile -[DEBUG] org.slf4j:slf4j-api:jar:1.6.1:compile -[DEBUG] org.slf4j:jcl-over-slf4j:jar:1.6.1:test -[DEBUG] commons-httpclient:commons-httpclient:jar:3.1:compile -[DEBUG] commons-codec:commons-codec:jar:1.2:compile -[DEBUG] org.apache.maven.wagon:wagon-provider-api:jar:2.2:compile -[DEBUG] org.codehaus.plexus:plexus-utils:jar:3.0:compile -[DEBUG] Created new class realm extension>org.apache.maven.wagon:wagon-webdav-jackrabbit:2.2 -[DEBUG] Importing foreign packages into class realm extension>org.apache.maven.wagon:wagon-webdav-jackrabbit:2.2 -[DEBUG] Imported: < maven.api -[DEBUG] Populating class realm extension>org.apache.maven.wagon:wagon-webdav-jackrabbit:2.2 -[DEBUG] Included: org.apache.maven.wagon:wagon-webdav-jackrabbit:jar:2.2 -[DEBUG] Included: org.apache.maven.wagon:wagon-http-shared:jar:2.2 -[DEBUG] Included: nekohtml:xercesMinimal:jar:1.9.6.2 -[DEBUG] Included: nekohtml:nekohtml:jar:1.9.6.2 -[DEBUG] Included: commons-logging:commons-logging:jar:1.1.1 -[DEBUG] Included: org.apache.jackrabbit:jackrabbit-webdav:jar:2.2.5 -[DEBUG] Included: org.apache.jackrabbit:jackrabbit-jcr-commons:jar:2.2.5 -[DEBUG] Included: org.slf4j:slf4j-api:jar:1.6.1 -[DEBUG] Included: commons-httpclient:commons-httpclient:jar:3.1 -[DEBUG] Included: commons-codec:commons-codec:jar:1.2 -[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:3.0 -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=356, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=127, ConflictIdSorter.conflictIdCycleCount=3, ConflictResolver.totalTime=15, ConflictResolver.conflictItemCount=283, DefaultDependencyCollector.collectTime=485, DefaultDependencyCollector.transformTime=15} -[DEBUG] org.alfresco.maven.plugin:alfresco-maven-plugin:jar:2.1.0: -[DEBUG] org.apache.maven:maven-plugin-api:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-model:jar:3.0.4:compile -[DEBUG] org.sonatype.sisu:sisu-inject-plexus:jar:2.3.0:compile -[DEBUG] org.sonatype.sisu:sisu-inject-bean:jar:2.3.0:compile -[DEBUG] org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0:compile -[DEBUG] org.sonatype.sisu:sisu-guava:jar:0.9.9:compile -[DEBUG] org.apache.maven:maven-archiver:jar:2.5:compile -[DEBUG] org.codehaus.plexus:plexus-utils:jar:3.0:compile -[DEBUG] org.codehaus.plexus:plexus-interpolation:jar:1.15:compile -[DEBUG] org.codehaus.plexus:plexus-archiver:jar:2.3:compile -[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile -[DEBUG] junit:junit:jar:3.8.1:compile -[DEBUG] classworlds:classworlds:jar:1.1-alpha-2:compile -[DEBUG] org.codehaus.plexus:plexus-io:jar:2.0.6:compile -[DEBUG] org.apache.maven:maven-artifact:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-core:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-settings:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-settings-builder:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-repository-metadata:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-model-builder:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-aether-provider:jar:3.0.4:compile -[DEBUG] org.sonatype.aether:aether-spi:jar:1.13.1:compile -[DEBUG] org.sonatype.aether:aether-impl:jar:1.13.1:compile -[DEBUG] org.sonatype.aether:aether-api:jar:1.13.1:compile -[DEBUG] org.sonatype.aether:aether-util:jar:1.13.1:compile -[DEBUG] org.codehaus.plexus:plexus-classworlds:jar:2.4:compile -[DEBUG] org.codehaus.plexus:plexus-component-annotations:jar:1.5.5:compile -[DEBUG] org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile -[DEBUG] org.sonatype.plexus:plexus-cipher:jar:1.4:compile -[DEBUG] org.apache.httpcomponents:httpclient:jar:4.3:compile -[DEBUG] org.apache.httpcomponents:httpcore:jar:4.3:compile -[DEBUG] commons-logging:commons-logging:jar:1.1.3:compile -[DEBUG] commons-codec:commons-codec:jar:1.6:compile -[DEBUG] commons-net:commons-net:jar:3.3:compile -[DEBUG] commons-io:commons-io:jar:2.1:compile -[DEBUG] org.alfresco:alfresco-mmt:jar:5.0.d:compile -[DEBUG] org.alfrescolabs.alfresco-technical-validation:org.alfrescolabs.alfresco-technical-validation:jar:0.4.0:compile -[DEBUG] org.clojure:clojure:jar:1.6.0:compile -[DEBUG] org.clojure:tools.cli:jar:0.3.1:compile -[DEBUG] org.clojure:tools.logging:jar:0.3.0:compile -[DEBUG] clojurewerkz:neocons:jar:3.0.0:compile -[DEBUG] cheshire:cheshire:jar:5.3.1:compile -[DEBUG] com.fasterxml.jackson.core:jackson-core:jar:2.3.1:compile -[DEBUG] com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.3.1:compile -[DEBUG] tigris:tigris:jar:0.1.1:compile -[DEBUG] clj-http:clj-http:jar:0.9.1:compile -[DEBUG] org.apache.httpcomponents:httpmime:jar:4.3.2:compile -[DEBUG] slingshot:slingshot:jar:0.10.3:compile -[DEBUG] crouton:crouton:jar:0.1.1:compile -[DEBUG] org.jsoup:jsoup:jar:1.7.1:compile -[DEBUG] org.clojure:tools.reader:jar:0.8.3:compile -[DEBUG] potemkin:potemkin:jar:0.3.4:compile -[DEBUG] clj-tuple:clj-tuple:jar:0.1.2:compile -[DEBUG] riddley:riddley:jar:0.1.6:compile -[DEBUG] clojurewerkz:support:jar:0.20.0:compile -[DEBUG] com.google.guava:guava:jar:14.0.1:compile -[DEBUG] clojurewerkz:urly:jar:2.0.0-alpha5:compile -[DEBUG] ch.qos.logback:logback-classic:jar:1.1.2:compile -[DEBUG] ch.qos.logback:logback-core:jar:1.1.2:compile -[DEBUG] org.slf4j:slf4j-api:jar:1.7.6:compile -[DEBUG] me.raynes:conch:jar:0.7.0:compile -[DEBUG] org.flatland:useful:jar:0.10.6:compile -[DEBUG] org.clojure:tools.macro:jar:0.1.1:compile -[DEBUG] jansi-clj:jansi-clj:jar:0.1.0:compile -[DEBUG] org.fusesource.jansi:jansi:jar:1.11:compile -[DEBUG] io.aviso:pretty:jar:0.1.12:compile -[DEBUG] org.clojars.pmonks:depends:jar:0.3.0:compile -[DEBUG] org.clojure:data.json:jar:0.2.4:compile -[DEBUG] org.ow2.asm:asm:jar:5.0.3:compile -[DEBUG] net.java.truevfs:truevfs-kernel-impl:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-kernel-spec:jar:0.10.6:compile -[DEBUG] net.java.truecommons:truecommons-cio:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-io:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-services:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-logging:jar:2.3.4:compile -[DEBUG] javax.inject:javax.inject:jar:1:compile -[DEBUG] org.scala-lang:scala-library:jar:2.10.3:compile -[DEBUG] net.java.truevfs:truevfs-access:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-driver-file:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-driver-zip:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-comp-ibm437:jar:0.10.6:runtime -[DEBUG] net.java.truevfs:truevfs-comp-zipdriver:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-comp-zip:jar:0.10.6:compile -[DEBUG] org.apache.commons:commons-compress:jar:1.7:compile -[DEBUG] org.bouncycastle:bcprov-jdk16:jar:1.46:compile -[DEBUG] net.java.truevfs:truevfs-driver-jar:jar:0.10.6:compile -[DEBUG] net.java.truecommons:truecommons-key-disable:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-key-spec:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-shed:jar:2.3.4:compile -[DEBUG] org.clojars.pmonks:multigrep:jar:0.2.0:compile -[DEBUG] org.clojars.pmonks:bookmark-writer:jar:0.1.0:compile -[DEBUG] org.docx4j:docx4j:jar:3.0.1:compile -[DEBUG] org.plutext:jaxb-svg11:jar:1.0.2:compile -[DEBUG] org.plutext:jaxb-xslfo:jar:1.0.1:compile -[DEBUG] org.plutext:jaxb-xmldsig-core:jar:1.0.0:compile -[DEBUG] commons-lang:commons-lang:jar:2.4:compile -[DEBUG] org.apache.xmlgraphics:xmlgraphics-commons:jar:1.5:compile -[DEBUG] org.apache.xmlgraphics:fop:jar:1.1:compile -[DEBUG] org.apache.xmlgraphics:batik-svg-dom:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-anim:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-css:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-dom:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-parser:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-util:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-bridge:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-script:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-js:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-xml:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-awt-util:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-gvt:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-transcoder:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-svggen:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-extension:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-ext:jar:1.7:compile -[DEBUG] org.apache.avalon.framework:avalon-framework-api:jar:4.3.1:compile -[DEBUG] org.apache.avalon.framework:avalon-framework-impl:jar:4.3.1:compile -[DEBUG] xalan:xalan:jar:2.7.1:compile -[DEBUG] xalan:serializer:jar:2.7.1:compile -[DEBUG] net.arnx:wmf2svg:jar:0.9.0:compile -[DEBUG] org.apache.poi:poi-scratchpad:jar:3.8:compile -[DEBUG] org.apache.poi:poi:jar:3.8:compile -[DEBUG] org.antlr:antlr-runtime:jar:3.3:compile -[DEBUG] org.antlr:stringtemplate:jar:3.2.1:compile -[DEBUG] antlr:antlr:jar:2.7.7:compile -[DEBUG] org.clojars.pmonks:spinner:jar:0.2.0:compile -[DEBUG] Created new class realm extension>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0 -[DEBUG] Importing foreign packages into class realm extension>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0 -[DEBUG] Imported: < maven.api -[DEBUG] Populating class realm extension>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0 -[DEBUG] Included: org.alfresco.maven.plugin:alfresco-maven-plugin:jar:2.1.0 -[DEBUG] Included: org.sonatype.sisu:sisu-inject-bean:jar:2.3.0 -[DEBUG] Included: org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0 -[DEBUG] Included: org.sonatype.sisu:sisu-guava:jar:0.9.9 -[DEBUG] Included: org.apache.maven:maven-archiver:jar:2.5 -[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:3.0 -[DEBUG] Included: org.codehaus.plexus:plexus-interpolation:jar:1.15 -[DEBUG] Included: org.codehaus.plexus:plexus-archiver:jar:2.3 -[DEBUG] Included: junit:junit:jar:3.8.1 -[DEBUG] Included: org.codehaus.plexus:plexus-io:jar:2.0.6 -[DEBUG] Included: org.sonatype.aether:aether-util:jar:1.13.1 -[DEBUG] Included: org.codehaus.plexus:plexus-component-annotations:jar:1.5.5 -[DEBUG] Included: org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3 -[DEBUG] Included: org.sonatype.plexus:plexus-cipher:jar:1.4 -[DEBUG] Included: org.apache.httpcomponents:httpclient:jar:4.3 -[DEBUG] Included: org.apache.httpcomponents:httpcore:jar:4.3 -[DEBUG] Included: commons-logging:commons-logging:jar:1.1.3 -[DEBUG] Included: commons-codec:commons-codec:jar:1.6 -[DEBUG] Included: commons-net:commons-net:jar:3.3 -[DEBUG] Included: commons-io:commons-io:jar:2.1 -[DEBUG] Included: org.alfresco:alfresco-mmt:jar:5.0.d -[DEBUG] Included: org.alfrescolabs.alfresco-technical-validation:org.alfrescolabs.alfresco-technical-validation:jar:0.4.0 -[DEBUG] Included: org.clojure:clojure:jar:1.6.0 -[DEBUG] Included: org.clojure:tools.cli:jar:0.3.1 -[DEBUG] Included: org.clojure:tools.logging:jar:0.3.0 -[DEBUG] Included: clojurewerkz:neocons:jar:3.0.0 -[DEBUG] Included: cheshire:cheshire:jar:5.3.1 -[DEBUG] Included: com.fasterxml.jackson.core:jackson-core:jar:2.3.1 -[DEBUG] Included: com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.3.1 -[DEBUG] Included: tigris:tigris:jar:0.1.1 -[DEBUG] Included: clj-http:clj-http:jar:0.9.1 -[DEBUG] Included: org.apache.httpcomponents:httpmime:jar:4.3.2 -[DEBUG] Included: slingshot:slingshot:jar:0.10.3 -[DEBUG] Included: crouton:crouton:jar:0.1.1 -[DEBUG] Included: org.jsoup:jsoup:jar:1.7.1 -[DEBUG] Included: org.clojure:tools.reader:jar:0.8.3 -[DEBUG] Included: potemkin:potemkin:jar:0.3.4 -[DEBUG] Included: clj-tuple:clj-tuple:jar:0.1.2 -[DEBUG] Included: riddley:riddley:jar:0.1.6 -[DEBUG] Included: clojurewerkz:support:jar:0.20.0 -[DEBUG] Included: com.google.guava:guava:jar:14.0.1 -[DEBUG] Included: clojurewerkz:urly:jar:2.0.0-alpha5 -[DEBUG] Included: ch.qos.logback:logback-classic:jar:1.1.2 -[DEBUG] Included: ch.qos.logback:logback-core:jar:1.1.2 -[DEBUG] Included: org.slf4j:slf4j-api:jar:1.7.6 -[DEBUG] Included: me.raynes:conch:jar:0.7.0 -[DEBUG] Included: org.flatland:useful:jar:0.10.6 -[DEBUG] Included: org.clojure:tools.macro:jar:0.1.1 -[DEBUG] Included: jansi-clj:jansi-clj:jar:0.1.0 -[DEBUG] Included: org.fusesource.jansi:jansi:jar:1.11 -[DEBUG] Included: io.aviso:pretty:jar:0.1.12 -[DEBUG] Included: org.clojars.pmonks:depends:jar:0.3.0 -[DEBUG] Included: org.clojure:data.json:jar:0.2.4 -[DEBUG] Included: org.ow2.asm:asm:jar:5.0.3 -[DEBUG] Included: net.java.truevfs:truevfs-kernel-impl:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-kernel-spec:jar:0.10.6 -[DEBUG] Included: net.java.truecommons:truecommons-cio:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-io:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-services:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-logging:jar:2.3.4 -[DEBUG] Included: javax.inject:javax.inject:jar:1 -[DEBUG] Included: org.scala-lang:scala-library:jar:2.10.3 -[DEBUG] Included: net.java.truevfs:truevfs-access:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-driver-file:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-driver-zip:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-comp-ibm437:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-comp-zipdriver:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-comp-zip:jar:0.10.6 -[DEBUG] Included: org.apache.commons:commons-compress:jar:1.7 -[DEBUG] Included: org.bouncycastle:bcprov-jdk16:jar:1.46 -[DEBUG] Included: net.java.truevfs:truevfs-driver-jar:jar:0.10.6 -[DEBUG] Included: net.java.truecommons:truecommons-key-disable:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-key-spec:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-shed:jar:2.3.4 -[DEBUG] Included: org.clojars.pmonks:multigrep:jar:0.2.0 -[DEBUG] Included: org.clojars.pmonks:bookmark-writer:jar:0.1.0 -[DEBUG] Included: org.docx4j:docx4j:jar:3.0.1 -[DEBUG] Included: org.plutext:jaxb-svg11:jar:1.0.2 -[DEBUG] Included: org.plutext:jaxb-xslfo:jar:1.0.1 -[DEBUG] Included: org.plutext:jaxb-xmldsig-core:jar:1.0.0 -[DEBUG] Included: commons-lang:commons-lang:jar:2.4 -[DEBUG] Included: org.apache.xmlgraphics:xmlgraphics-commons:jar:1.5 -[DEBUG] Included: org.apache.xmlgraphics:fop:jar:1.1 -[DEBUG] Included: org.apache.xmlgraphics:batik-svg-dom:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-anim:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-css:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-dom:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-parser:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-util:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-bridge:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-script:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-js:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-xml:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-awt-util:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-gvt:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-transcoder:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-svggen:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-extension:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-ext:jar:1.7 -[DEBUG] Included: org.apache.avalon.framework:avalon-framework-api:jar:4.3.1 -[DEBUG] Included: org.apache.avalon.framework:avalon-framework-impl:jar:4.3.1 -[DEBUG] Included: xalan:xalan:jar:2.7.1 -[DEBUG] Included: xalan:serializer:jar:2.7.1 -[DEBUG] Included: net.arnx:wmf2svg:jar:0.9.0 -[DEBUG] Included: org.apache.poi:poi-scratchpad:jar:3.8 -[DEBUG] Included: org.apache.poi:poi:jar:3.8 -[DEBUG] Included: org.antlr:antlr-runtime:jar:3.3 -[DEBUG] Included: org.antlr:stringtemplate:jar:3.2.1 -[DEBUG] Included: antlr:antlr:jar:2.7.7 -[DEBUG] Included: org.clojars.pmonks:spinner:jar:0.2.0 -[DEBUG] Extension realms for project gov.nasa.jpl.mbee:share-amp:amp:1.0-SNAPSHOT: [ClassRealm[extension>org.apache.maven.archetype:archetype-packaging:2.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f], ClassRealm[extension>org.apache.maven.wagon:wagon-webdav-jackrabbit:2.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f], ClassRealm[extension>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0, parent: sun.misc.Launcher$AppClassLoader@4e25154f]] -[DEBUG] Created new class realm project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT -[DEBUG] Populating class realm project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT -[DEBUG] Included: org.apache.maven.archetype:archetype-packaging:jar:2.2 -[DEBUG] Looking up lifecyle mappings for packaging amp from ClassRealm[project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]] -[DEBUG] Extension realms for project gov.nasa.jpl.mbee:mms-ent:pom:1.0-SNAPSHOT: [ClassRealm[extension>org.apache.maven.archetype:archetype-packaging:2.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f], ClassRealm[extension>org.apache.maven.wagon:wagon-webdav-jackrabbit:2.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f], ClassRealm[extension>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0, parent: sun.misc.Launcher$AppClassLoader@4e25154f]] -[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]] -[DEBUG] Extension realms for project org.alfresco.maven:alfresco-sdk-parent:pom:2.1.0: [ClassRealm[extension>org.apache.maven.archetype:archetype-packaging:2.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f], ClassRealm[extension>org.apache.maven.wagon:wagon-webdav-jackrabbit:2.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f]] -[DEBUG] Created new class realm project>org.alfresco.maven:alfresco-sdk-parent:2.1.0 -[DEBUG] Populating class realm project>org.alfresco.maven:alfresco-sdk-parent:2.1.0 -[DEBUG] Included: org.apache.maven.archetype:archetype-packaging:jar:2.2 -[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[project>org.alfresco.maven:alfresco-sdk-parent:2.1.0, parent: ClassRealm[maven.api, parent: null]] -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=1, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=1, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=1, DefaultDependencyCollector.collectTime=0, DefaultDependencyCollector.transformTime=0} -[DEBUG] org.apache.maven.archetype:archetype-packaging:jar:2.2: -[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.1:runtime -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=19, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=14, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=17, DefaultDependencyCollector.collectTime=0, DefaultDependencyCollector.transformTime=0} -[DEBUG] org.apache.maven.wagon:wagon-webdav-jackrabbit:jar:2.2: -[DEBUG] org.apache.maven.wagon:wagon-http-shared:jar:2.2:compile -[DEBUG] nekohtml:xercesMinimal:jar:1.9.6.2:compile -[DEBUG] nekohtml:nekohtml:jar:1.9.6.2:compile -[DEBUG] commons-logging:commons-logging:jar:1.1.1:compile -[DEBUG] org.apache.jackrabbit:jackrabbit-webdav:jar:2.2.5:compile -[DEBUG] org.apache.jackrabbit:jackrabbit-jcr-commons:jar:2.2.5:compile -[DEBUG] org.slf4j:slf4j-api:jar:1.6.1:compile -[DEBUG] org.slf4j:jcl-over-slf4j:jar:1.6.1:test -[DEBUG] commons-httpclient:commons-httpclient:jar:3.1:compile -[DEBUG] commons-codec:commons-codec:jar:1.2:compile -[DEBUG] org.apache.maven.wagon:wagon-provider-api:jar:2.2:compile -[DEBUG] org.codehaus.plexus:plexus-utils:jar:3.0:compile -[DEBUG] Extension realms for project org.alfresco.maven:alfresco-sdk-aggregator:pom:2.1.0: [ClassRealm[extension>org.apache.maven.archetype:archetype-packaging:2.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f], ClassRealm[extension>org.apache.maven.wagon:wagon-webdav-jackrabbit:2.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f]] -[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[project>org.alfresco.maven:alfresco-sdk-parent:2.1.0, parent: ClassRealm[maven.api, parent: null]] -[DEBUG] === REACTOR BUILD PLAN ================================================ -[DEBUG] Project: gov.nasa.jpl.mbee:share-amp:amp:1.0-SNAPSHOT -[DEBUG] Tasks: [install] -[DEBUG] Style: Regular -[DEBUG] ======================================================================= -[INFO] -[INFO] ------------------------------------------------------------------------ -[INFO] Building Alfresco Share AMP Module 1.0-SNAPSHOT -[INFO] ------------------------------------------------------------------------ -[DEBUG] Resolving plugin version for org.apache.maven.plugins:maven-deploy-plugin -[DEBUG] Could not find metadata org.apache.maven.plugins:maven-deploy-plugin/maven-metadata.xml in local (C:\Users\Administrator\.m2\repository) -[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://artifacts.alfresco.com/nexus/content/groups/public -[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://oss.sonatype.org/content/repositories/snapshots -[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://artifacts.alfresco.com/nexus/content/groups/public-snapshots -[DEBUG] Using transporter WagonTransporter with priority -1.0 for http://oss.sonatype.org/content/groups/public -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for http://oss.sonatype.org/content/groups/public -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://artifacts.alfresco.com/nexus/content/groups/public-snapshots -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://artifacts.alfresco.com/nexus/content/groups/public -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://oss.sonatype.org/content/repositories/snapshots -Downloading: https://artifacts.alfresco.com/nexus/content/groups/public-snapshots/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml -Downloading: http://oss.sonatype.org/content/groups/public/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml -Downloading: https://oss.sonatype.org/content/repositories/snapshots/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml -Downloading: https://artifacts.alfresco.com/nexus/content/groups/public/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml - [DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\apache\maven\plugins\maven-deploy-plugin\resolver-status.properties -[DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\apache\maven\plugins\maven-deploy-plugin\resolver-status.properties -[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://repo.maven.apache.org/maven2 -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://repo.maven.apache.org/maven2 -Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml -709/709 B Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml (709 B at 8.9 KB/sec) -[DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\apache\maven\plugins\maven-deploy-plugin\resolver-status.properties - [DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\apache\maven\plugins\maven-deploy-plugin\resolver-status.properties - [DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\apache\maven\plugins\maven-deploy-plugin\resolver-status.properties -[DEBUG] Could not find metadata org.apache.maven.plugins:maven-deploy-plugin/maven-metadata.xml in sonatype-public (http://oss.sonatype.org/content/groups/public) -[DEBUG] Could not find metadata org.apache.maven.plugins:maven-deploy-plugin/maven-metadata.xml in sonatype-snapshots (https://oss.sonatype.org/content/repositories/snapshots) -[DEBUG] Could not find metadata org.apache.maven.plugins:maven-deploy-plugin/maven-metadata.xml in alfresco-plugin-public (https://artifacts.alfresco.com/nexus/content/groups/public) -[DEBUG] Could not find metadata org.apache.maven.plugins:maven-deploy-plugin/maven-metadata.xml in alfresco-plugin-public-snapshots (https://artifacts.alfresco.com/nexus/content/groups/public-snapshots) -[DEBUG] Resolved plugin version for org.apache.maven.plugins:maven-deploy-plugin to 2.8.2 from repository central (https://repo.maven.apache.org/maven2, default, releases) -[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy] -[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean] -[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy] -[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy] -[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean] -[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy] -[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy] -[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean] -[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy] -[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy] -[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean] -[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy] -[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy] -[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean] -[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy] -[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy] -[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean] -[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy] -[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy] -[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean] -[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy] -[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy] -[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean] -[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy] -[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy] -[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean] -[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy] -[DEBUG] === PROJECT BUILD PLAN ================================================ -[DEBUG] Project: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT -[DEBUG] Dependencies (collect): [] -[DEBUG] Dependencies (resolve): [compile, runtime, test] -[DEBUG] Repositories (dependencies): [alfresco-private-repository (https://artifacts.alfresco.com/nexus/content/groups/private, default, releases+snapshots), alfresco-public-repository (https://artifacts.alfresco.com/nexus/content/repositories/releases, default, releases+snapshots), alfresco-public (https://artifacts.alfresco.com/nexus/content/groups/public, default, releases+snapshots), alfresco-public-snapshots (https://artifacts.alfresco.com/nexus/content/groups/public-snapshots, default, releases+snapshots), sonatype-snapshots (https://oss.sonatype.org/content/repositories/snapshots/, default, snapshots), central (https://repo.maven.apache.org/maven2, default, releases)] -[DEBUG] Repositories (plugins) : [sonatype-public (http://oss.sonatype.org/content/groups/public, default, releases+snapshots), sonatype-snapshots (https://oss.sonatype.org/content/repositories/snapshots, default, releases+snapshots), alfresco-plugin-public (https://artifacts.alfresco.com/nexus/content/groups/public, default, releases+snapshots), alfresco-plugin-public-snapshots (https://artifacts.alfresco.com/nexus/content/groups/public-snapshots, default, releases+snapshots), central (https://repo.maven.apache.org/maven2, default, releases)] -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:set-version (default-set-version) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - ${maven.alfresco.customVersionSuffix} - - ${maven.alfresco.propertyName} - ${maven.alfresco.snapshotSuffix} - true - - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.apache.maven.plugins:maven-resources-plugin:2.7:resources (default-resources) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - - UTF-8 - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} - - ftl - acp - jpg - png - gif - svg - pdf - doc - docx - xls - xlsx - ppt - pptx - bin - lic - swf - zip - msg - jar - ttf - eot - woff - woff2 - css - ico - - - ${maven.resources.overwrite} - - - - ${maven.resources.supportMultiLineFiltering} - - - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress (compress-js) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - ${maven.yuicompressor.disableOptimizations} - ${file.encoding} - - - **/webscripts/** - **/site-webscripts/** - **/*.lib.js - **/*.css - - ${maven.yuicompressor.failOnWarning} - ${maven.yuicompressor.force} - ${maven.yuicompressor.gzip} - false - ${maven.yuicompressor.linebreakpos} - ${maven.yuicompressor.nocompress} - ${maven.yuicompressor.nomunge} - ${maven.yuicompressor.nosuffix} - ${project.build.outputDirectory} - ${maven.yuicompressor.preProcessAggregates} - ${maven.yuicompressor.preserveAllSemiColons} - ${project} - ${project.resources} - ${maven.yuicompressor.skip} - ${project.build.sourceDirectory}/../js - ${maven.yuicompressor.statistics} - ${maven.yuicompressor.suffix} - - ${maven.yuicompressor.useSmallestFile} - src/main/resources/META-INF - ${project.build.directory}/${project.build.finalName} - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:refresh (refresh-webscripts-repo-and-share) -[DEBUG] Style: Aggregating -[DEBUG] Configuration: - - - ${maven.alfresco.refresh.clearCacheShareUrl} - ${maven.alfresco.refresh.host} - ${maven.alfresco.refresh.mode} - ${maven.alfresco.refresh.password} - ${maven.alfresco.refresh.port} - ${maven.alfresco.refresh.repoUrl} - ${maven.alfresco.refresh.shareUrl} - ${maven.alfresco.refresh.username} - - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - - - - - ${maven.compiler.compilerId} - ${maven.compiler.compilerReuseStrategy} - ${maven.compiler.compilerVersion} - ${maven.compiler.debug} - ${maven.compiler.debuglevel} - ${encoding} - ${maven.compiler.executable} - ${maven.compiler.failOnError} - ${maven.compiler.forceJavacCompilerUse} - ${maven.compiler.fork} - - ${maven.compiler.maxmem} - ${maven.compiler.meminitial} - ${mojoExecution} - ${maven.compiler.optimize} - - - - - ${maven.compiler.showDeprecation} - ${maven.compiler.showWarnings} - ${maven.main.skip} - ${maven.compiler.skipMultiThreadWarning} - ${maven.compiler.source} - ${lastModGranularityMs} - ${maven.compiler.target} - ${maven.compiler.useIncrementalCompilation} - ${maven.compiler.verbose} - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.apache.maven.plugins:maven-resources-plugin:2.7:testResources (default-testResources) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - - UTF-8 - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} - - ftl - acp - jpg - png - gif - svg - pdf - doc - docx - xls - xlsx - ppt - pptx - bin - lic - swf - zip - msg - jar - ttf - eot - woff - woff2 - css - ico - - - ${maven.resources.overwrite} - - - - ${maven.test.skip} - ${maven.resources.supportMultiLineFiltering} - - - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.apache.maven.plugins:maven-resources-plugin:2.7:copy-resources (add-module-properties-to-test-classpath) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - - UTF-8 - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} - - ftl - acp - jpg - png - gif - svg - pdf - doc - docx - xls - xlsx - ppt - pptx - bin - lic - swf - zip - msg - jar - ttf - eot - woff - woff2 - css - ico - - C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes - ${maven.resources.overwrite} - - - - src/main/amp - - module.properties - - true - alfresco/module/share-amp - - - - ${maven.resources.supportMultiLineFiltering} - - - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.apache.maven.plugins:maven-resources-plugin:2.7:copy-resources (add-module-config-to-test-classpath) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - - UTF-8 - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} - - ftl - acp - jpg - png - gif - svg - pdf - doc - docx - xls - xlsx - ppt - pptx - bin - lic - swf - zip - msg - jar - ttf - eot - woff - woff2 - css - ico - - C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes - ${maven.resources.overwrite} - - - - src/main/amp/config - - **/* - - true - - - - ${maven.resources.supportMultiLineFiltering} - - - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.apache.maven.plugins:maven-compiler-plugin:3.2:testCompile (default-testCompile) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - - - - - ${maven.compiler.compilerId} - ${maven.compiler.compilerReuseStrategy} - ${maven.compiler.compilerVersion} - ${maven.compiler.debug} - ${maven.compiler.debuglevel} - ${encoding} - ${maven.compiler.executable} - ${maven.compiler.failOnError} - ${maven.compiler.forceJavacCompilerUse} - ${maven.compiler.fork} - - ${maven.compiler.maxmem} - ${maven.compiler.meminitial} - ${mojoExecution} - ${maven.compiler.optimize} - - - - ${maven.compiler.showDeprecation} - ${maven.compiler.showWarnings} - ${maven.test.skip} - ${maven.compiler.skipMultiThreadWarning} - ${maven.compiler.source} - ${lastModGranularityMs} - ${maven.compiler.target} - ${maven.compiler.testSource} - ${maven.compiler.testTarget} - ${maven.compiler.useIncrementalCompilation} - ${maven.compiler.verbose} - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.apache.maven.plugins:maven-surefire-plugin:2.18:test (default-test) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - ${maven.test.additionalClasspath} - -Xms256m -Xmx1524m -XX:MaxPermSize=256m -Duser.language=en - - ${childDelegation} - - ${maven.test.dependency.excludes} - ${maven.surefire.debug} - ${dependenciesToScan} - ${disableXmlReport} - ${enableAssertions} - ${excludedGroups} - ${surefire.failIfNoSpecifiedTests} - ${failIfNoTests} - ${forkCount} - ${forkMode} - ${surefire.timeout} - ${groups} - ${junitArtifactName} - ${jvm} - - ${objectFactory} - ${parallel} - - ${parallelOptimized} - ${surefire.parallel.forcedTimeout} - ${surefire.parallel.timeout} - ${perCoreThreadCount} - ${plugin.artifactMap} - - ${surefire.printSummary} - ${project.artifactMap} - ${maven.test.redirectTestOutputToFile} - - ${surefire.reportFormat} - ${surefire.reportNameSuffix} - - ${surefire.rerunFailingTestsCount} - ${reuseForks} - - ${maven.test.skip} - ${maven.test.skip.exec} - ${skipTests} - ${test} - - ${maven.test.failure.ignore} - ${testNGArtifactName} - - ${threadCount} - ${threadCountClasses} - ${threadCountMethods} - ${threadCountSuites} - ${trimStackTrace} - ${surefire.useFile} - ${surefire.useManifestOnlyJar} - ${surefire.useSystemClassLoader} - ${useUnlimitedThreads} - ${basedir} - - - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:amp (default-amp) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - ${maven.alfresco.ampBuildDirectory} - ${maven.alfresco.ampFinalDir} - ${maven.alfresco.ampFinalName} - ${maven.alfresco.attachClasses} - ${maven.alfresco.attachConfig} - - ${maven.alfresco.classifier} - ${maven.alfresco.includeDependencies} - ${maven.alfresco.includeWebResources} - - - -[DEBUG] ----------------------------------------------------------------------- -[DEBUG] Goal: org.apache.maven.plugins:maven-install-plugin:2.5.2:install (default-install) -[DEBUG] Style: Regular -[DEBUG] Configuration: - - - - ${createChecksum} - ${installAtEnd} - ${localRepository} - - - - - ${maven.install.skip} - ${updateReleaseInfo} - -[DEBUG] ======================================================================= -[DEBUG] Could not find metadata org.jvnet.staxex:stax-ex/maven-metadata.xml in local (C:\Users\Administrator\.m2\repository) -[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://artifacts.alfresco.com/nexus/content/groups/public -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://artifacts.alfresco.com/nexus/content/groups/public -Downloading: https://artifacts.alfresco.com/nexus/content/groups/public/org/jvnet/staxex/stax-ex/maven-metadata.xml -[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://artifacts.alfresco.com/nexus/content/repositories/releases -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://artifacts.alfresco.com/nexus/content/repositories/releases -Downloading: https://artifacts.alfresco.com/nexus/content/repositories/releases/org/jvnet/staxex/stax-ex/maven-metadata.xml -[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://artifacts.alfresco.com/nexus/content/groups/public-snapshots -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://artifacts.alfresco.com/nexus/content/groups/public-snapshots -Downloading: https://artifacts.alfresco.com/nexus/content/groups/public-snapshots/org/jvnet/staxex/stax-ex/maven-metadata.xml -[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://artifacts.alfresco.com/nexus/content/groups/private -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://artifacts.alfresco.com/nexus/content/groups/private with username=Formtek, password=*** -Downloading: https://artifacts.alfresco.com/nexus/content/groups/private/org/jvnet/staxex/stax-ex/maven-metadata.xml - [DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\resolver-status.properties -[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://repo.maven.apache.org/maven2 -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://repo.maven.apache.org/maven2 - Downloading: https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/maven-metadata.xml -[DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\resolver-status.properties -[DEBUG] Using transporter WagonTransporter with priority -1.0 for http://repository.jboss.org/nexus/content/groups/public/ -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for http://repository.jboss.org/nexus/content/groups/public/ -Downloading: http://repository.jboss.org/nexus/content/groups/public/org/jvnet/staxex/stax-ex/maven-metadata.xml - [DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\resolver-status.properties -[DEBUG] Using transporter WagonTransporter with priority -1.0 for http://download.java.net/maven/2/ -[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for http://download.java.net/maven/2/ -Downloading: http://download.java.net/maven/2/org/jvnet/staxex/stax-ex/maven-metadata.xml -769/769 B Downloaded: https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/maven-metadata.xml (769 B at 24.2 KB/sec) -[DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\resolver-status.properties -583/583 B Downloaded: http://repository.jboss.org/nexus/content/groups/public/org/jvnet/staxex/stax-ex/maven-metadata.xml (583 B at 2.6 KB/sec) -[DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\resolver-status.properties - [DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\resolver-status.properties - [DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\resolver-status.properties -[DEBUG] Could not find metadata org.jvnet.staxex:stax-ex/maven-metadata.xml in alfresco-private-repository (https://artifacts.alfresco.com/nexus/content/groups/private) -[DEBUG] Could not find metadata org.jvnet.staxex:stax-ex/maven-metadata.xml in alfresco-public-repository (https://artifacts.alfresco.com/nexus/content/repositories/releases) -[DEBUG] Could not find metadata org.jvnet.staxex:stax-ex/maven-metadata.xml in alfresco-public (https://artifacts.alfresco.com/nexus/content/groups/public) -[DEBUG] Could not find metadata org.jvnet.staxex:stax-ex/maven-metadata.xml in alfresco-public-snapshots (https://artifacts.alfresco.com/nexus/content/groups/public-snapshots) -[DEBUG] Could not find metadata org.jvnet.staxex:stax-ex/maven-metadata.xml in maven2-repository.dev.java.net (http://download.java.net/maven/2/) -[DEBUG] Could not find metadata org.jvnet.staxex:stax-ex/maven-metadata.xml in local (C:\Users\Administrator\.m2\repository) -[DEBUG] Skipped remote request for org.jvnet.staxex:stax-ex/maven-metadata.xml, already updated during this session. -[DEBUG] Failure to find org.jvnet.staxex:stax-ex/maven-metadata.xml in https://artifacts.alfresco.com/nexus/content/groups/private was cached in the local repository, resolution will not be reattempted until the update interval of alfresco-private-repository has elapsed or updates are forced -[DEBUG] Skipped remote request for org.jvnet.staxex:stax-ex/maven-metadata.xml, already updated during this session. -[DEBUG] Failure to find org.jvnet.staxex:stax-ex/maven-metadata.xml in https://artifacts.alfresco.com/nexus/content/repositories/releases was cached in the local repository, resolution will not be reattempted until the update interval of alfresco-public-repository has elapsed or updates are forced -[DEBUG] Skipped remote request for org.jvnet.staxex:stax-ex/maven-metadata.xml, already updated during this session. -[DEBUG] Failure to find org.jvnet.staxex:stax-ex/maven-metadata.xml in https://artifacts.alfresco.com/nexus/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of alfresco-public has elapsed or updates are forced -[DEBUG] Skipped remote request for org.jvnet.staxex:stax-ex/maven-metadata.xml, already updated during this session. -[DEBUG] Failure to find org.jvnet.staxex:stax-ex/maven-metadata.xml in https://artifacts.alfresco.com/nexus/content/groups/public-snapshots was cached in the local repository, resolution will not be reattempted until the update interval of alfresco-public-snapshots has elapsed or updates are forced -[DEBUG] Skipped remote request for org.jvnet.staxex:stax-ex/maven-metadata.xml, already updated during this session. -[DEBUG] Skipped remote request for org.jvnet.staxex:stax-ex/maven-metadata.xml, already updated during this session. -[DEBUG] Skipped remote request for org.jvnet.staxex:stax-ex/maven-metadata.xml, already updated during this session. -[DEBUG] Failure to find org.jvnet.staxex:stax-ex/maven-metadata.xml in http://download.java.net/maven/2/ was cached in the local repository, resolution will not be reattempted until the update interval of maven2-repository.dev.java.net has elapsed or updates are forced -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=657, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=166, ConflictIdSorter.conflictIdCycleCount=1, ConflictResolver.totalTime=15, ConflictResolver.conflictItemCount=312, DefaultDependencyCollector.collectTime=1500, DefaultDependencyCollector.transformTime=15} -[DEBUG] gov.nasa.jpl.mbee:share-amp:amp:1.0-SNAPSHOT -[DEBUG] org.alfresco:share:jar:classes:5.0.d:provided -[DEBUG] org.alfresco:alfresco-web-framework-commons:jar:classes:5.0.d:provided (scope managed from compile by org.alfresco:alfresco-platform-distribution:[unknown-version]) -[DEBUG] org.alfresco:alfresco-jlan-embed:jar:5.0.d:provided (scope managed from compile by org.alfresco:alfresco-platform-distribution:[unknown-version]) -[DEBUG] org.alfresco:alfresco-core:jar:5.0.d:provided (scope managed from compile by org.alfresco:alfresco-platform-distribution:[unknown-version]) -[DEBUG] commons-codec:commons-codec:jar:1.10:compile -[DEBUG] commons-httpclient:commons-httpclient:jar:3.1-HTTPCLIENT-1265:provided -[DEBUG] org.apache.commons:commons-math3:jar:3.3:provided -[DEBUG] org.safehaus.jug:jug:jar:asl:2.0.0:provided -[DEBUG] org.json:json:jar:20090211:provided -[DEBUG] org.springframework:spring-orm:jar:3.2.10.RELEASE:provided -[DEBUG] org.springframework:spring-jdbc:jar:3.2.10.RELEASE:provided -[DEBUG] org.springframework:spring-tx:jar:3.2.10.RELEASE:provided -[DEBUG] org.springframework.extensions.surf:spring-surf-core-configservice:jar:5.0.d:provided -[DEBUG] org.springframework.extensions.surf:spring-surf-core:jar:5.0.d:provided -[DEBUG] org.springframework:spring-context-support:jar:3.2.10.RELEASE:provided -[DEBUG] org.springframework:spring-web:jar:3.2.10.RELEASE:provided -[DEBUG] com.sun.xml.bind:jaxb-xjc:jar:2.2.6:provided -[DEBUG] com.sun.xml.bind:jaxb-impl:jar:2.2.6:provided -[DEBUG] dom4j:dom4j:jar:1.6.1:provided -[DEBUG] xml-apis:xml-apis:jar:1.4.01:compile (version managed from 1.0.b2 by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] org.codehaus.guessencoding:guessencoding:jar:1.0:provided -[DEBUG] javax.transaction:jta:jar:1.0.1b:provided -[DEBUG] com.hazelcast:hazelcast:jar:2.4:provided -[DEBUG] org.apache.chemistry.opencmis:chemistry-opencmis-client-impl:jar:0.11.0:provided -[DEBUG] org.apache.chemistry.opencmis:chemistry-opencmis-client-api:jar:0.11.0:provided -[DEBUG] org.apache.chemistry.opencmis:chemistry-opencmis-commons-api:jar:0.11.0:provided -[DEBUG] org.apache.chemistry.opencmis:chemistry-opencmis-commons-impl:jar:0.11.0:provided -[DEBUG] org.codehaus.woodstox:woodstox-core-asl:jar:4.2.0:provided -[DEBUG] javax.xml.stream:stax-api:jar:1.0-2:provided -[DEBUG] org.codehaus.woodstox:stax2-api:jar:3.1.1:provided -[DEBUG] org.jvnet.mimepull:mimepull:jar:1.9.4:provided -[DEBUG] com.sun.xml.ws:jaxws-rt:jar:2.1.7:provided -[DEBUG] javax.xml.ws:jaxws-api:jar:2.1:provided -[DEBUG] javax.xml.bind:jaxb-api:jar:2.1:provided -[DEBUG] com.sun.xml.messaging.saaj:saaj-impl:jar:1.3.3:provided -[DEBUG] javax.xml.soap:saaj-api:jar:1.3:provided -[DEBUG] com.sun.xml.stream.buffer:streambuffer:jar:0.9:provided -[DEBUG] javax.activation:activation:jar:1.1:provided -[DEBUG] org.jvnet.staxex:stax-ex:jar:1.2:provided -[DEBUG] com.sun.org.apache.xml.internal:resolver:jar:20050927:provided -[DEBUG] org.apache.chemistry.opencmis:chemistry-opencmis-client-bindings:jar:0.11.0:provided -[DEBUG] org.slf4j:slf4j-api:jar:1.7.7:provided (version managed from 1.7.5 by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] org.alfresco.cmis.client:alfresco-opencmis-extension:jar:1.0:provided -[DEBUG] org.springframework.extensions.surf:spring-cmis-framework:jar:5.0.d:provided -[DEBUG] org.springframework.extensions.surf:spring-webscripts:jar:5.0.d:provided -[DEBUG] commons-beanutils:commons-beanutils:jar:1.9.2:provided -[DEBUG] org.htmlparser:htmlparser:jar:2.1:provided -[DEBUG] org.htmlparser:htmllexer:jar:2.1:provided -[DEBUG] org.springframework:spring-webmvc:jar:3.2.10.RELEASE:provided -[DEBUG] org.mozilla:rhino:jar:1.7R4-alfresco-patched:provided -[DEBUG] com.googlecode.json-simple:json-simple:jar:1.1.1:provided -[DEBUG] org.tuckey:urlrewritefilter:jar:4.0.4:provided -[DEBUG] commons-fileupload:commons-fileupload:jar:1.3.1:provided -[DEBUG] commons-io:commons-io:jar:2.4:compile (version managed from 2.2 by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] jaxen:jaxen:jar:1.1.6:provided -[DEBUG] org.freemarker:freemarker:jar:2.3.20-alfresco-patched:provided -[DEBUG] stax:stax-api:jar:1.0.1:provided -[DEBUG] com.hazelcast:hazelcast-spring:jar:2.4:provided -[DEBUG] javax.servlet:jstl:jar:1.2:provided -[DEBUG] org.apache.myfaces.core:myfaces-api:jar:1.1.8:provided -[DEBUG] org.apache.myfaces.core:myfaces-impl:jar:1.1.8:provided -[DEBUG] commons-el:commons-el:jar:1.0:provided -[DEBUG] commons-lang:commons-lang:jar:2.6:provided (version managed from 2.1 by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] commons-collections:commons-collections:jar:3.2.1:compile (version managed from 3.1 by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] commons-digester:commons-digester:jar:2.1:provided (version managed from 1.8 by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] org.alfresco:aikau:jar:1.0.8.1:provided -[DEBUG] com.yahoo.platform.yui:yui:zip:2.9.0-alfresco-20141223:provided -[DEBUG] com.asual.lesscss:lesscss-engine:jar:1.5.0:provided -[DEBUG] org.springframework.extensions.surf:spring-surf-api:jar:5.0.d:provided -[DEBUG] org.springframework.extensions.surf:spring-surf:jar:5.0.d:provided -[DEBUG] com.yahoo.platform.yui:yuicompressor:jar:2.4.8-alfresco-patched:provided -[DEBUG] com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.2:provided -[DEBUG] org.apache.maven:maven-artifact:jar:3.0.3:provided -[DEBUG] org.codehaus.plexus:plexus-utils:jar:2.0.6:provided -[DEBUG] org.springframework.extensions.surf:spring-webscripts-api:jar:5.0.d:provided -[DEBUG] javax.servlet:servlet-api:jar:2.5:provided (scope managed from compile by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] org.alfresco:share-po:jar:5.0.d:test -[DEBUG] org.alfresco:webdrone:jar:2.7.3:test -[DEBUG] org.seleniumhq.selenium:selenium-server:jar:2.39.0:test -[DEBUG] org.bouncycastle:bcprov-jdk15on:jar:1.48:test -[DEBUG] org.bouncycastle:bcpkix-jdk15on:jar:1.48:test -[DEBUG] mx4j:mx4j-tools:jar:3.0.1:test -[DEBUG] org.seleniumhq.selenium:jetty-repacked:jar:7.6.1:test -[DEBUG] net.jcip:jcip-annotations:jar:1.0:test -[DEBUG] org.yaml:snakeyaml:jar:1.8:test -[DEBUG] org.sikuli:sikuli-api:jar:1.1.0:test -[DEBUG] org.sikuli:sikuli-core:jar:1.1.3:test -[DEBUG] com.googlecode.javacpp:javacpp:jar:0.1:test -[DEBUG] com.googlecode.javacv:javacv:jar:0.1:test -[DEBUG] com.googlecode.javacv:javacv:jar:macosx-x86_64:0.1:test -[DEBUG] com.googlecode.javacv:javacv:jar:windows-x86:0.1:test -[DEBUG] com.googlecode.javacv:javacv:jar:windows-x86_64:0.1:test -[DEBUG] com.googlecode.javacv:javacv:jar:linux-x86_64:0.1:test -[DEBUG] com.googlecode.javacv:javacv:jar:linux-x86:0.1:test -[DEBUG] org.antlr:stringtemplate:jar:4.0.2:test -[DEBUG] org.antlr:antlr-runtime:jar:3.3:test -[DEBUG] org.piccolo2d:piccolo2d-extras:jar:1.3.1:test -[DEBUG] org.piccolo2d:piccolo2d-core:jar:1.3.1:test -[DEBUG] com.jgoodies:looks:jar:2.2.2:test -[DEBUG] log4j:log4j:jar:1.2.17:provided (version managed from 1.2.16 by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] org.eclipse.jetty:jetty-server:jar:7.6.14.v20131031:test -[DEBUG] org.eclipse.jetty.orbit:javax.servlet:jar:2.5.0.v201103041518:test -[DEBUG] org.eclipse.jetty:jetty-continuation:jar:7.6.14.v20131031:test -[DEBUG] org.eclipse.jetty:jetty-http:jar:7.6.14.v20131031:compile -[DEBUG] org.eclipse.jetty:jetty-io:jar:7.6.14.v20131031:compile -[DEBUG] org.owasp.esapi:esapi:jar:2.1.0:test -[DEBUG] commons-configuration:commons-configuration:jar:1.5:test -[DEBUG] org.beanshell:bsh-core:jar:2.0b4:test -[DEBUG] org.owasp.antisamy:antisamy:jar:1.4.3:test -[DEBUG] org.apache.xmlgraphics:batik-css:jar:1.7:test -[DEBUG] org.apache.xmlgraphics:batik-util:jar:1.7:test -[DEBUG] org.springframework:spring-beans:jar:3.2.10.RELEASE:provided -[DEBUG] org.springframework:spring-core:jar:3.2.10.RELEASE:provided -[DEBUG] org.springframework:spring-context:jar:3.2.10.RELEASE:provided -[DEBUG] org.springframework:spring-aop:jar:3.2.10.RELEASE:provided -[DEBUG] aopalliance:aopalliance:jar:1.0:provided -[DEBUG] org.springframework:spring-expression:jar:3.2.10.RELEASE:provided -[DEBUG] joda-time:joda-time:jar:2.5:provided -[DEBUG] org.alfresco:share-po:jar:tests:5.0.d:test -[DEBUG] org.seleniumhq.selenium:selenium-java:jar:2.45.0-alfresco:compile -[DEBUG] org.seleniumhq.selenium:selenium-chrome-driver:jar:2.45.0-alfresco:compile -[DEBUG] org.seleniumhq.selenium:selenium-remote-driver:jar:2.45.0-alfresco:compile -[DEBUG] cglib:cglib-nodep:jar:2.1_3:compile -[DEBUG] com.google.code.gson:gson:jar:2.3.1:compile -[DEBUG] org.seleniumhq.selenium:selenium-api:jar:2.45.0-alfresco:compile -[DEBUG] com.google.guava:guava:jar:18.0:compile -[DEBUG] org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.45.0-alfresco:compile -[DEBUG] net.sourceforge.htmlunit:htmlunit:jar:2.15:compile -[DEBUG] xalan:xalan:jar:2.7.2:compile (version managed from 2.7.1 by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] xalan:serializer:jar:2.7.2:compile -[DEBUG] org.apache.commons:commons-lang3:jar:3.3.2:compile -[DEBUG] org.apache.httpcomponents:httpmime:jar:4.3.3:compile -[DEBUG] net.sourceforge.htmlunit:htmlunit-core-js:jar:2.15:compile -[DEBUG] xerces:xercesImpl:jar:2.10.0-alfresco-patched:compile (version managed from 2.11.0 by org.alfresco:alfresco-parent:5.0.d) -[DEBUG] net.sourceforge.nekohtml:nekohtml:jar:1.9.21:compile -[DEBUG] net.sourceforge.cssparser:cssparser:jar:0.9.14:compile -[DEBUG] org.w3c.css:sac:jar:1.3:compile -[DEBUG] org.eclipse.jetty:jetty-websocket:jar:8.1.15.v20140411:compile -[DEBUG] org.eclipse.jetty:jetty-util:jar:8.1.15.v20140411:compile -[DEBUG] org.apache.httpcomponents:httpclient:jar:4.3.6:compile -[DEBUG] org.apache.httpcomponents:httpcore:jar:4.3.3:compile -[DEBUG] org.seleniumhq.selenium:selenium-firefox-driver:jar:2.45.0-alfresco:compile -[DEBUG] org.apache.commons:commons-exec:jar:1.3:compile -[DEBUG] org.seleniumhq.selenium:selenium-ie-driver:jar:2.45.0-alfresco:compile -[DEBUG] net.java.dev.jna:jna:jar:3.4.0:compile -[DEBUG] net.java.dev.jna:platform:jar:3.4.0:compile -[DEBUG] org.seleniumhq.selenium:selenium-safari-driver:jar:2.45.0-alfresco:compile -[DEBUG] org.seleniumhq.selenium:selenium-support:jar:2.45.0-alfresco:compile -[DEBUG] org.webbitserver:webbit:jar:0.4.14:compile -[DEBUG] io.netty:netty:jar:3.5.2.Final:compile -[DEBUG] org.seleniumhq.selenium:selenium-leg-rc:jar:2.45.0-alfresco:compile -[DEBUG] org.alfresco.test:alfresco-testng:jar:1.1:test -[DEBUG] org.testng:testng:jar:6.8.8:test -[DEBUG] org.beanshell:bsh:jar:2.0b4:test -[DEBUG] com.beust:jcommander:jar:1.27:test -[DEBUG] commons-logging:commons-logging:jar:1.2:compile -[DEBUG] junit:junit:jar:4.11:test -[DEBUG] org.hamcrest:hamcrest-core:jar:1.3:test -[DEBUG] org.alfresco.maven:alfresco-rad:jar:2.1.0:test -[DEBUG] com.tradeshift:junit-remote:jar:3:test -[DEBUG] org.eclipse.jetty:jetty-servlet:jar:7.4.0.v20110414:test -[DEBUG] org.eclipse.jetty:jetty-security:jar:7.4.0.v20110414:test -[DEBUG] args4j:args4j:jar:2.0.16:test -[DEBUG] org.springframework:spring-test:jar:3.0.6.RELEASE:test -[INFO] -[INFO] --- alfresco-maven-plugin:2.1.0:set-version (default-set-version) @ share-amp --- -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=356, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=127, ConflictIdSorter.conflictIdCycleCount=3, ConflictResolver.totalTime=15, ConflictResolver.conflictItemCount=283, DefaultDependencyCollector.collectTime=16, DefaultDependencyCollector.transformTime=15} -[DEBUG] org.alfresco.maven.plugin:alfresco-maven-plugin:jar:2.1.0: -[DEBUG] org.apache.maven:maven-plugin-api:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-model:jar:3.0.4:compile -[DEBUG] org.sonatype.sisu:sisu-inject-plexus:jar:2.3.0:compile -[DEBUG] org.sonatype.sisu:sisu-inject-bean:jar:2.3.0:compile -[DEBUG] org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0:compile -[DEBUG] org.sonatype.sisu:sisu-guava:jar:0.9.9:compile -[DEBUG] org.apache.maven:maven-archiver:jar:2.5:compile -[DEBUG] org.codehaus.plexus:plexus-utils:jar:3.0:compile -[DEBUG] org.codehaus.plexus:plexus-interpolation:jar:1.15:compile -[DEBUG] org.codehaus.plexus:plexus-archiver:jar:2.3:compile -[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile -[DEBUG] junit:junit:jar:3.8.1:compile -[DEBUG] classworlds:classworlds:jar:1.1-alpha-2:compile -[DEBUG] org.codehaus.plexus:plexus-io:jar:2.0.6:compile -[DEBUG] org.apache.maven:maven-artifact:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-core:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-settings:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-settings-builder:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-repository-metadata:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-model-builder:jar:3.0.4:compile -[DEBUG] org.apache.maven:maven-aether-provider:jar:3.0.4:compile -[DEBUG] org.sonatype.aether:aether-spi:jar:1.13.1:compile -[DEBUG] org.sonatype.aether:aether-impl:jar:1.13.1:compile -[DEBUG] org.sonatype.aether:aether-api:jar:1.13.1:compile -[DEBUG] org.sonatype.aether:aether-util:jar:1.13.1:compile -[DEBUG] org.codehaus.plexus:plexus-classworlds:jar:2.4:compile -[DEBUG] org.codehaus.plexus:plexus-component-annotations:jar:1.5.5:compile -[DEBUG] org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile -[DEBUG] org.sonatype.plexus:plexus-cipher:jar:1.4:compile -[DEBUG] org.apache.httpcomponents:httpclient:jar:4.3:compile -[DEBUG] org.apache.httpcomponents:httpcore:jar:4.3:compile -[DEBUG] commons-logging:commons-logging:jar:1.1.3:compile -[DEBUG] commons-codec:commons-codec:jar:1.6:compile -[DEBUG] commons-net:commons-net:jar:3.3:compile -[DEBUG] commons-io:commons-io:jar:2.1:compile -[DEBUG] org.alfresco:alfresco-mmt:jar:5.0.d:compile -[DEBUG] org.alfrescolabs.alfresco-technical-validation:org.alfrescolabs.alfresco-technical-validation:jar:0.4.0:compile -[DEBUG] org.clojure:clojure:jar:1.6.0:compile -[DEBUG] org.clojure:tools.cli:jar:0.3.1:compile -[DEBUG] org.clojure:tools.logging:jar:0.3.0:compile -[DEBUG] clojurewerkz:neocons:jar:3.0.0:compile -[DEBUG] cheshire:cheshire:jar:5.3.1:compile -[DEBUG] com.fasterxml.jackson.core:jackson-core:jar:2.3.1:compile -[DEBUG] com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.3.1:compile -[DEBUG] tigris:tigris:jar:0.1.1:compile -[DEBUG] clj-http:clj-http:jar:0.9.1:compile -[DEBUG] org.apache.httpcomponents:httpmime:jar:4.3.2:compile -[DEBUG] slingshot:slingshot:jar:0.10.3:compile -[DEBUG] crouton:crouton:jar:0.1.1:compile -[DEBUG] org.jsoup:jsoup:jar:1.7.1:compile -[DEBUG] org.clojure:tools.reader:jar:0.8.3:compile -[DEBUG] potemkin:potemkin:jar:0.3.4:compile -[DEBUG] clj-tuple:clj-tuple:jar:0.1.2:compile -[DEBUG] riddley:riddley:jar:0.1.6:compile -[DEBUG] clojurewerkz:support:jar:0.20.0:compile -[DEBUG] com.google.guava:guava:jar:14.0.1:compile -[DEBUG] clojurewerkz:urly:jar:2.0.0-alpha5:compile -[DEBUG] ch.qos.logback:logback-classic:jar:1.1.2:compile -[DEBUG] ch.qos.logback:logback-core:jar:1.1.2:compile -[DEBUG] org.slf4j:slf4j-api:jar:1.7.6:compile -[DEBUG] me.raynes:conch:jar:0.7.0:compile -[DEBUG] org.flatland:useful:jar:0.10.6:compile -[DEBUG] org.clojure:tools.macro:jar:0.1.1:compile -[DEBUG] jansi-clj:jansi-clj:jar:0.1.0:compile -[DEBUG] org.fusesource.jansi:jansi:jar:1.11:compile -[DEBUG] io.aviso:pretty:jar:0.1.12:compile -[DEBUG] org.clojars.pmonks:depends:jar:0.3.0:compile -[DEBUG] org.clojure:data.json:jar:0.2.4:compile -[DEBUG] org.ow2.asm:asm:jar:5.0.3:compile -[DEBUG] net.java.truevfs:truevfs-kernel-impl:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-kernel-spec:jar:0.10.6:compile -[DEBUG] net.java.truecommons:truecommons-cio:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-io:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-services:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-logging:jar:2.3.4:compile -[DEBUG] javax.inject:javax.inject:jar:1:compile -[DEBUG] org.scala-lang:scala-library:jar:2.10.3:compile -[DEBUG] net.java.truevfs:truevfs-access:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-driver-file:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-driver-zip:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-comp-ibm437:jar:0.10.6:runtime -[DEBUG] net.java.truevfs:truevfs-comp-zipdriver:jar:0.10.6:compile -[DEBUG] net.java.truevfs:truevfs-comp-zip:jar:0.10.6:compile -[DEBUG] org.apache.commons:commons-compress:jar:1.7:compile -[DEBUG] org.bouncycastle:bcprov-jdk16:jar:1.46:compile -[DEBUG] net.java.truevfs:truevfs-driver-jar:jar:0.10.6:compile -[DEBUG] net.java.truecommons:truecommons-key-disable:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-key-spec:jar:2.3.4:compile -[DEBUG] net.java.truecommons:truecommons-shed:jar:2.3.4:compile -[DEBUG] org.clojars.pmonks:multigrep:jar:0.2.0:compile -[DEBUG] org.clojars.pmonks:bookmark-writer:jar:0.1.0:compile -[DEBUG] org.docx4j:docx4j:jar:3.0.1:compile -[DEBUG] org.plutext:jaxb-svg11:jar:1.0.2:compile -[DEBUG] org.plutext:jaxb-xslfo:jar:1.0.1:compile -[DEBUG] org.plutext:jaxb-xmldsig-core:jar:1.0.0:compile -[DEBUG] commons-lang:commons-lang:jar:2.4:compile -[DEBUG] org.apache.xmlgraphics:xmlgraphics-commons:jar:1.5:compile -[DEBUG] org.apache.xmlgraphics:fop:jar:1.1:compile -[DEBUG] org.apache.xmlgraphics:batik-svg-dom:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-anim:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-css:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-dom:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-parser:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-util:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-bridge:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-script:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-js:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-xml:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-awt-util:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-gvt:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-transcoder:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-svggen:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-extension:jar:1.7:compile -[DEBUG] org.apache.xmlgraphics:batik-ext:jar:1.7:compile -[DEBUG] org.apache.avalon.framework:avalon-framework-api:jar:4.3.1:compile -[DEBUG] org.apache.avalon.framework:avalon-framework-impl:jar:4.3.1:compile -[DEBUG] xalan:xalan:jar:2.7.1:compile -[DEBUG] xalan:serializer:jar:2.7.1:compile -[DEBUG] net.arnx:wmf2svg:jar:0.9.0:compile -[DEBUG] org.apache.poi:poi-scratchpad:jar:3.8:compile -[DEBUG] org.apache.poi:poi:jar:3.8:compile -[DEBUG] org.antlr:antlr-runtime:jar:3.3:compile -[DEBUG] org.antlr:stringtemplate:jar:3.2.1:compile -[DEBUG] antlr:antlr:jar:2.7.7:compile -[DEBUG] org.clojars.pmonks:spinner:jar:0.2.0:compile -[DEBUG] Created new class realm plugin>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0 -[DEBUG] Importing foreign packages into class realm plugin>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0 -[DEBUG] Imported: < project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT -[DEBUG] Populating class realm plugin>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0 -[DEBUG] Included: org.alfresco.maven.plugin:alfresco-maven-plugin:jar:2.1.0 -[DEBUG] Included: org.sonatype.sisu:sisu-inject-bean:jar:2.3.0 -[DEBUG] Included: org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0 -[DEBUG] Included: org.sonatype.sisu:sisu-guava:jar:0.9.9 -[DEBUG] Included: org.apache.maven:maven-archiver:jar:2.5 -[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:3.0 -[DEBUG] Included: org.codehaus.plexus:plexus-interpolation:jar:1.15 -[DEBUG] Included: org.codehaus.plexus:plexus-archiver:jar:2.3 -[DEBUG] Included: junit:junit:jar:3.8.1 -[DEBUG] Included: org.codehaus.plexus:plexus-io:jar:2.0.6 -[DEBUG] Included: org.sonatype.aether:aether-util:jar:1.13.1 -[DEBUG] Included: org.codehaus.plexus:plexus-component-annotations:jar:1.5.5 -[DEBUG] Included: org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3 -[DEBUG] Included: org.sonatype.plexus:plexus-cipher:jar:1.4 -[DEBUG] Included: org.apache.httpcomponents:httpclient:jar:4.3 -[DEBUG] Included: org.apache.httpcomponents:httpcore:jar:4.3 -[DEBUG] Included: commons-logging:commons-logging:jar:1.1.3 -[DEBUG] Included: commons-codec:commons-codec:jar:1.6 -[DEBUG] Included: commons-net:commons-net:jar:3.3 -[DEBUG] Included: commons-io:commons-io:jar:2.1 -[DEBUG] Included: org.alfresco:alfresco-mmt:jar:5.0.d -[DEBUG] Included: org.alfrescolabs.alfresco-technical-validation:org.alfrescolabs.alfresco-technical-validation:jar:0.4.0 -[DEBUG] Included: org.clojure:clojure:jar:1.6.0 -[DEBUG] Included: org.clojure:tools.cli:jar:0.3.1 -[DEBUG] Included: org.clojure:tools.logging:jar:0.3.0 -[DEBUG] Included: clojurewerkz:neocons:jar:3.0.0 -[DEBUG] Included: cheshire:cheshire:jar:5.3.1 -[DEBUG] Included: com.fasterxml.jackson.core:jackson-core:jar:2.3.1 -[DEBUG] Included: com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.3.1 -[DEBUG] Included: tigris:tigris:jar:0.1.1 -[DEBUG] Included: clj-http:clj-http:jar:0.9.1 -[DEBUG] Included: org.apache.httpcomponents:httpmime:jar:4.3.2 -[DEBUG] Included: slingshot:slingshot:jar:0.10.3 -[DEBUG] Included: crouton:crouton:jar:0.1.1 -[DEBUG] Included: org.jsoup:jsoup:jar:1.7.1 -[DEBUG] Included: org.clojure:tools.reader:jar:0.8.3 -[DEBUG] Included: potemkin:potemkin:jar:0.3.4 -[DEBUG] Included: clj-tuple:clj-tuple:jar:0.1.2 -[DEBUG] Included: riddley:riddley:jar:0.1.6 -[DEBUG] Included: clojurewerkz:support:jar:0.20.0 -[DEBUG] Included: com.google.guava:guava:jar:14.0.1 -[DEBUG] Included: clojurewerkz:urly:jar:2.0.0-alpha5 -[DEBUG] Included: ch.qos.logback:logback-classic:jar:1.1.2 -[DEBUG] Included: ch.qos.logback:logback-core:jar:1.1.2 -[DEBUG] Included: org.slf4j:slf4j-api:jar:1.7.6 -[DEBUG] Included: me.raynes:conch:jar:0.7.0 -[DEBUG] Included: org.flatland:useful:jar:0.10.6 -[DEBUG] Included: org.clojure:tools.macro:jar:0.1.1 -[DEBUG] Included: jansi-clj:jansi-clj:jar:0.1.0 -[DEBUG] Included: org.fusesource.jansi:jansi:jar:1.11 -[DEBUG] Included: io.aviso:pretty:jar:0.1.12 -[DEBUG] Included: org.clojars.pmonks:depends:jar:0.3.0 -[DEBUG] Included: org.clojure:data.json:jar:0.2.4 -[DEBUG] Included: org.ow2.asm:asm:jar:5.0.3 -[DEBUG] Included: net.java.truevfs:truevfs-kernel-impl:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-kernel-spec:jar:0.10.6 -[DEBUG] Included: net.java.truecommons:truecommons-cio:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-io:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-services:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-logging:jar:2.3.4 -[DEBUG] Included: javax.inject:javax.inject:jar:1 -[DEBUG] Included: org.scala-lang:scala-library:jar:2.10.3 -[DEBUG] Included: net.java.truevfs:truevfs-access:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-driver-file:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-driver-zip:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-comp-ibm437:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-comp-zipdriver:jar:0.10.6 -[DEBUG] Included: net.java.truevfs:truevfs-comp-zip:jar:0.10.6 -[DEBUG] Included: org.apache.commons:commons-compress:jar:1.7 -[DEBUG] Included: org.bouncycastle:bcprov-jdk16:jar:1.46 -[DEBUG] Included: net.java.truevfs:truevfs-driver-jar:jar:0.10.6 -[DEBUG] Included: net.java.truecommons:truecommons-key-disable:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-key-spec:jar:2.3.4 -[DEBUG] Included: net.java.truecommons:truecommons-shed:jar:2.3.4 -[DEBUG] Included: org.clojars.pmonks:multigrep:jar:0.2.0 -[DEBUG] Included: org.clojars.pmonks:bookmark-writer:jar:0.1.0 -[DEBUG] Included: org.docx4j:docx4j:jar:3.0.1 -[DEBUG] Included: org.plutext:jaxb-svg11:jar:1.0.2 -[DEBUG] Included: org.plutext:jaxb-xslfo:jar:1.0.1 -[DEBUG] Included: org.plutext:jaxb-xmldsig-core:jar:1.0.0 -[DEBUG] Included: commons-lang:commons-lang:jar:2.4 -[DEBUG] Included: org.apache.xmlgraphics:xmlgraphics-commons:jar:1.5 -[DEBUG] Included: org.apache.xmlgraphics:fop:jar:1.1 -[DEBUG] Included: org.apache.xmlgraphics:batik-svg-dom:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-anim:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-css:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-dom:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-parser:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-util:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-bridge:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-script:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-js:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-xml:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-awt-util:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-gvt:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-transcoder:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-svggen:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-extension:jar:1.7 -[DEBUG] Included: org.apache.xmlgraphics:batik-ext:jar:1.7 -[DEBUG] Included: org.apache.avalon.framework:avalon-framework-api:jar:4.3.1 -[DEBUG] Included: org.apache.avalon.framework:avalon-framework-impl:jar:4.3.1 -[DEBUG] Included: xalan:xalan:jar:2.7.1 -[DEBUG] Included: xalan:serializer:jar:2.7.1 -[DEBUG] Included: net.arnx:wmf2svg:jar:0.9.0 -[DEBUG] Included: org.apache.poi:poi-scratchpad:jar:3.8 -[DEBUG] Included: org.apache.poi:poi:jar:3.8 -[DEBUG] Included: org.antlr:antlr-runtime:jar:3.3 -[DEBUG] Included: org.antlr:stringtemplate:jar:3.2.1 -[DEBUG] Included: antlr:antlr:jar:2.7.7 -[DEBUG] Included: org.clojars.pmonks:spinner:jar:0.2.0 -[DEBUG] Excluded: org.apache.maven:maven-plugin-api:jar:3.0.4 -[DEBUG] Excluded: org.apache.maven:maven-model:jar:3.0.4 -[DEBUG] Excluded: org.sonatype.sisu:sisu-inject-plexus:jar:2.3.0 -[DEBUG] Excluded: org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 -[DEBUG] Excluded: classworlds:classworlds:jar:1.1-alpha-2 -[DEBUG] Excluded: org.apache.maven:maven-artifact:jar:3.0.4 -[DEBUG] Excluded: org.apache.maven:maven-core:jar:3.0.4 -[DEBUG] Excluded: org.apache.maven:maven-settings:jar:3.0.4 -[DEBUG] Excluded: org.apache.maven:maven-settings-builder:jar:3.0.4 -[DEBUG] Excluded: org.apache.maven:maven-repository-metadata:jar:3.0.4 -[DEBUG] Excluded: org.apache.maven:maven-model-builder:jar:3.0.4 -[DEBUG] Excluded: org.apache.maven:maven-aether-provider:jar:3.0.4 -[DEBUG] Excluded: org.sonatype.aether:aether-spi:jar:1.13.1 -[DEBUG] Excluded: org.sonatype.aether:aether-impl:jar:1.13.1 -[DEBUG] Excluded: org.sonatype.aether:aether-api:jar:1.13.1 -[DEBUG] Excluded: org.codehaus.plexus:plexus-classworlds:jar:2.4 -[DEBUG] Configuring mojo org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:set-version from plugin realm ClassRealm[plugin>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:set-version' with basic configurator --> -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (f) propertyName = noSnapshotVersion -[DEBUG] (f) snapshotSuffix = -SNAPSHOT -[DEBUG] (f) snapshotToTimestamp = true -[DEBUG] (f) version = 1.0-SNAPSHOT -[DEBUG] -- end configuration -- -[INFO] Removed -SNAPSHOT suffix from version - 1.0 -[INFO] Added timestamp to version - 1.0.1508131840 -[INFO] -[INFO] --- maven-resources-plugin:2.7:resources (default-resources) @ share-amp --- -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=143, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=36, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=88, DefaultDependencyCollector.collectTime=94, DefaultDependencyCollector.transformTime=0} -[DEBUG] org.apache.maven.plugins:maven-resources-plugin:jar:2.7: -[DEBUG] org.apache.maven:maven-plugin-api:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-project:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-profile:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-artifact-manager:jar:2.2.1:compile -[DEBUG] backport-util-concurrent:backport-util-concurrent:jar:3.1:compile -[DEBUG] org.apache.maven:maven-plugin-registry:jar:2.2.1:compile -[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile -[DEBUG] junit:junit:jar:3.8.1:compile -[DEBUG] org.apache.maven:maven-core:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-plugin-parameter-documenter:jar:2.2.1:compile -[DEBUG] org.slf4j:slf4j-jdk14:jar:1.5.6:runtime -[DEBUG] org.slf4j:slf4j-api:jar:1.5.6:runtime -[DEBUG] org.slf4j:jcl-over-slf4j:jar:1.5.6:runtime -[DEBUG] org.apache.maven.reporting:maven-reporting-api:jar:2.2.1:compile -[DEBUG] org.apache.maven.doxia:doxia-sink-api:jar:1.1:compile -[DEBUG] org.apache.maven.doxia:doxia-logging-api:jar:1.1:compile -[DEBUG] org.apache.maven:maven-repository-metadata:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-error-diagnostics:jar:2.2.1:compile -[DEBUG] commons-cli:commons-cli:jar:1.2:compile -[DEBUG] org.apache.maven:maven-plugin-descriptor:jar:2.2.1:compile -[DEBUG] org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4:compile -[DEBUG] classworlds:classworlds:jar:1.1:compile -[DEBUG] org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile -[DEBUG] org.sonatype.plexus:plexus-cipher:jar:1.4:compile -[DEBUG] org.apache.maven:maven-artifact:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-settings:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-model:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-monitor:jar:2.2.1:compile -[DEBUG] org.codehaus.plexus:plexus-utils:jar:3.0.15:compile -[DEBUG] org.apache.maven.shared:maven-filtering:jar:1.2:compile -[DEBUG] org.apache.maven.shared:maven-shared-utils:jar:0.3:compile -[DEBUG] com.google.code.findbugs:jsr305:jar:2.0.1:compile -[DEBUG] org.sonatype.plexus:plexus-build-api:jar:0.0.4:compile -[DEBUG] org.codehaus.plexus:plexus-interpolation:jar:1.19:compile -[DEBUG] Created new class realm plugin>org.apache.maven.plugins:maven-resources-plugin:2.7 -[DEBUG] Importing foreign packages into class realm plugin>org.apache.maven.plugins:maven-resources-plugin:2.7 -[DEBUG] Imported: < project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT -[DEBUG] Populating class realm plugin>org.apache.maven.plugins:maven-resources-plugin:2.7 -[DEBUG] Included: org.apache.maven.plugins:maven-resources-plugin:jar:2.7 -[DEBUG] Included: backport-util-concurrent:backport-util-concurrent:jar:3.1 -[DEBUG] Included: junit:junit:jar:3.8.1 -[DEBUG] Included: org.slf4j:slf4j-jdk14:jar:1.5.6 -[DEBUG] Included: org.slf4j:slf4j-api:jar:1.5.6 -[DEBUG] Included: org.slf4j:jcl-over-slf4j:jar:1.5.6 -[DEBUG] Included: org.apache.maven.reporting:maven-reporting-api:jar:2.2.1 -[DEBUG] Included: org.apache.maven.doxia:doxia-sink-api:jar:1.1 -[DEBUG] Included: org.apache.maven.doxia:doxia-logging-api:jar:1.1 -[DEBUG] Included: commons-cli:commons-cli:jar:1.2 -[DEBUG] Included: org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4 -[DEBUG] Included: org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3 -[DEBUG] Included: org.sonatype.plexus:plexus-cipher:jar:1.4 -[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:3.0.15 -[DEBUG] Included: org.apache.maven.shared:maven-filtering:jar:1.2 -[DEBUG] Included: org.apache.maven.shared:maven-shared-utils:jar:0.3 -[DEBUG] Included: com.google.code.findbugs:jsr305:jar:2.0.1 -[DEBUG] Included: org.sonatype.plexus:plexus-build-api:jar:0.0.4 -[DEBUG] Included: org.codehaus.plexus:plexus-interpolation:jar:1.19 -[DEBUG] Excluded: org.apache.maven:maven-plugin-api:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-project:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-profile:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-artifact-manager:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-plugin-registry:jar:2.2.1 -[DEBUG] Excluded: org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 -[DEBUG] Excluded: org.apache.maven:maven-core:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-plugin-parameter-documenter:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-repository-metadata:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-error-diagnostics:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-plugin-descriptor:jar:2.2.1 -[DEBUG] Excluded: classworlds:classworlds:jar:1.1 -[DEBUG] Excluded: org.apache.maven:maven-artifact:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-settings:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-model:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-monitor:jar:2.2.1 -[DEBUG] Configuring mojo org.apache.maven.plugins:maven-resources-plugin:2.7:resources from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-resources-plugin:2.7, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-resources-plugin:2.7:resources' with basic configurator --> -[DEBUG] (f) buildFilters = [] -[DEBUG] (f) encoding = UTF-8 -[DEBUG] (f) escapeWindowsPaths = true -[DEBUG] (s) includeEmptyDirs = false -[DEBUG] (f) nonFilteredFileExtensions = [ftl, acp, jpg, png, gif, svg, pdf, doc, docx, xls, xlsx, ppt, pptx, bin, lic, swf, zip, msg, jar, ttf, eot, woff, woff2, css, ico] -[DEBUG] (s) outputDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\classes -[DEBUG] (s) overwrite = false -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (s) resources = [Resource {targetPath: null, filtering: true, FileSet {directory: C:\MMSWorkSpace\mms-ent\share-amp\src\main\resources, PatternSet [includes: {}, excludes: {}]}}, Resource {targetPath: ../share-amp, filtering: true, FileSet {directory: C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp, PatternSet [includes: {}, excludes: {}]}}] -[DEBUG] (f) session = org.apache.maven.execution.MavenSession@3ba46e63 -[DEBUG] (f) supportMultiLineFiltering = false -[DEBUG] (f) useBuildFilters = true -[DEBUG] (s) useDefaultDelimiters = true -[DEBUG] -- end configuration -- -[DEBUG] properties used {file.encoding.pkg=sun.io, env.PROMPT=$P$G, java.home=c:\Program Files\Java\jdk1.8.0_51\jre, app.testing.jvm.args=-Xms256m -Xmx1524m -XX:MaxPermSize=256m -Duser.language=en, stagingDirectory=../../target/staging/poms/alfresco-sdk-parent, classworlds.conf=c:\Program Files\apache-maven-3.2.5\bin\m2.conf, share.client.url=http://localhost:8080/share, app.log.root.level=WARN, java.endorsed.dirs=c:\Program Files\Java\jdk1.8.0_51\jre\lib\endorsed, alfresco.db.password=alfresco, env.USERNAME=Administrator, maven.jar.version=2.5, app.amp.excludes=, maven.war.version=2.5, sun.os.patch.level=, java.vendor.url=http://java.oracle.com/, env.COMPUTERNAME=WIN-K276QR1LFRT, env.=C:=C:\MMSWorkSpace\mms-ent\share-amp, maven.tomcat.port=8080, maven.dependency.version=2.9, maven.resources.version=2.7, java.version=1.8.0_51, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, env.USERPROFILE=C:\Users\Administrator, alfresco.groupId=org.alfresco, maven.alfresco.version=2.1.0, user.name=Administrator, sun.io.unicode.encoding=UnicodeLittle, sun.jnu.encoding=Cp1252, java.runtime.name=Java(TM) SE Runtime Environment, env.LOCALAPPDATA=C:\Users\Administrator\AppData\Local, env.COMMONPROGRAMW6432=C:\Program Files\Common Files, java.specification.name=Java Platform API Specification, user.timezone=UTC, user.script=, path.separator=;, env.MAVEN_CMD_LINE_ARGS=install -U -X, env.PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 63 Stepping 2, GenuineIntel, alfresco.db.url=jdbc:h2:./alf_data_dev/h2_data/alf_dev;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0, file.encoding=Cp1252, env.HOME=C:\Users\Administrator, app.amp.output.folder=../share-amp, sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher install -U -X, env.NUMBER_OF_PROCESSORS=4, env.APPDATA=C:\Users\Administrator\AppData\Roaming, maven.install.version=2.5.2, env.WINDIR=C:\Windows, app.filtering.enabled=true, java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\2\, user.language=en, app.slf4j.scope=runtime, line.separator= -, app.amp.overlay.excludes=, app.log.dir=C:\MMSWorkSpace\mms-ent\share-amp\target/, env.COMMONPROGRAMFILES=C:\Program Files\Common Files, env=local, alfresco.community.default.version=5.0.d, alfresco.data.location=alf_data_dev, maven.tomcat.version=2.2, java.vm.info=mixed mode, maven.buildhelper.version=1.9.1, sun.desktop=windows, alfresco.db.username=alfresco, java.vm.specification.name=Java Virtual Machine Specification, env.M2_HOME=c:\Program Files\apache-maven-3.2.5, env.PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, env.USERDOMAIN_ROAMINGPROFILE=WIN-K276QR1LFRT, app.slf4j.version=1.5.11, env.LOGONSERVER=\\WIN-K276QR1LFRT, env.PSMODULEPATH=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\AWS Tools\PowerShell\, java.awt.printerjob=sun.awt.windows.WPrinterJob, alfresco.client.contextPath=/alfresco, maven.clean.version=2.6.1, env.PUBLIC=C:\Users\Public, env.USERDOMAIN=WIN-K276QR1LFRT, env.PROCESSOR_LEVEL=6, env.PROGRAMFILES(X86)=C:\Program Files (x86), env.=EXITCODE=00000000, os.name=Windows Server 2012 R2, java.specification.vendor=Oracle Corporation, alfresco.db.params=AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0, alfresco.repo.artifactId=alfresco, env.TMP=C:\Users\ADMINI~1\AppData\Local\Temp\2, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, env.OS=Windows_NT, java.library.path=c:\Program Files\Java\jdk1.8.0_51\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;c:\python27;c:\program files\apache-maven-3.2.5\bin;., env.PROGRAMW6432=C:\Program Files, env.PATH=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;c:\python27;c:\program files\apache-maven-3.2.5\bin, alfresco.version=5.0.d, java.class.version=52.0, app.properties.test.include=**, alfresco.db.name=alf_dev, env.HOMEDRIVE=C:, env.SYSTEMROOT=C:\Windows, maven.compiler.version=3.2, env.COMSPEC=C:\Windows\system32\cmd.exe, sun.boot.library.path=c:\Program Files\Java\jdk1.8.0_51\jre\bin, project.build.sourceEncoding=UTF-8, env.SYSTEMDRIVE=C:, app.amp.folder=src/main/amp, env.PROCESSOR_REVISION=3f02, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, user.variant=, maven.enforcer.plugin=1.4, share.client.contextPath=/share, app.amp.client.war.folder=C:\MMSWorkSpace\mms-ent\share-amp\target/share-amp-war, alfresco.sdk.parent.version=1.0-SNAPSHOT, env.PROGRAMFILES=C:\Program Files, java.vm.specification.version=1.8, env.MAVEN_JAVA_EXE="c:\Program Files\Java\jdk1.8.0_51\bin\java.exe", springloaded.version=1.2.3.RELEASE, env.PROGRAMDATA=C:\ProgramData, awt.toolkit=sun.awt.windows.WToolkit, sun.cpu.isalist=amd64, sun.stderr.encoding=cp437, alfresco.db.datasource.class=org.h2.jdbcx.JdbcDataSource, java.ext.dirs=c:\Program Files\Java\jdk1.8.0_51\jre\lib\ext;C:\Windows\Sun\Java\lib\ext, os.version=6.3, env.ERROR_CODE=0, user.home=C:\Users\Administrator, maven.release.version=2.5.1, java.vm.vendor=Oracle Corporation, env.JAVA_HOME=c:\Program Files\Java\jdk1.8.0_51, app.properties.test.folder=src/test/properties/local, user.dir=C:\MMSWorkSpace\mms-ent\share-amp, app.properties.include=**, env.COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files, env.FP_NO_HOST_CHECK=NO, sun.cpu.endian=little, env.ALLUSERSPROFILE=C:\ProgramData, env.CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher, env.PROCESSOR_ARCHITECTURE=AMD64, maven.antrun.version=1.7, java.vm.version=25.51-b03, java.class.path=c:\Program Files\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar, org.slf4j.simpleLogger.defaultLogLevel=debug, env.HOMEPATH=\Users\Administrator, os.arch=amd64, maven.build.version=Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T17:29:23+00:00), env.SESSIONNAME=RDP-Tcp#6, sun.java.launcher=SUN_STANDARD, java.vm.specification.vendor=Oracle Corporation, alfresco.enterprise.default.version=5.0.1, noSnapshotVersion=1.0.1508131840, file.separator=\, h2.version=1.4.185, java.runtime.version=1.8.0_51-b16, sun.boot.class.path=c:\Program Files\Java\jdk1.8.0_51\jre\lib\resources.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\rt.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\sunrsasign.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jsse.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jce.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\charsets.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jfr.jar;c:\Program Files\Java\jdk1.8.0_51\jre\classes, maven.replacer.version=1.5.3, scm.url.base=https://github.com/Alfresco/alfresco-sdk, maven.surefire.version=2.18, maven.version=3.2.5, env.TEMP=C:\Users\ADMINI~1\AppData\Local\Temp\2, maven.archetype.version=2.2, user.country=US, alfresco.rm.version=2.3, app.amp.client.war.artifactId=share, env.CLIENTNAME=USER-HP, maven.home=c:\Program Files\apache-maven-3.2.5, maven.compiler.target=1.8, alfresco.share.artifactId=share, java.vendor=Oracle Corporation, env.CLASSWORLDS_JAR="c:\Program Files\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar", app.properties.folder=src/main/properties/local, maven.compiler.source=1.8, java.specification.version=1.8, sun.arch.data.model=64} -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[DEBUG] resource with targetPath null -directory C:\MMSWorkSpace\mms-ent\share-amp\src\main\resources -excludes [] -includes [] -[DEBUG] ignoreDelta true -[INFO] Copying 1 resource -[DEBUG] file share-config-custom.xml.sample has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\resources\META-INF\share-config-custom.xml.sample to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\META-INF\share-config-custom.xml.sample -[DEBUG] resource with targetPath ../share-amp -directory C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp -excludes [] -includes [] -[DEBUG] ignoreDelta true -[INFO] Copying 15 resources to ../share-amp -[DEBUG] file file-mapping.properties has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\file-mapping.properties to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\file-mapping.properties -[DEBUG] file module.properties has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\module.properties to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\module.properties -[DEBUG] file docweb.css has a non filtered file extension -[DEBUG] copy C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\components\dashlets\docweb.css to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\dashlets\docweb.css -[DEBUG] file docweb.js has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\components\dashlets\docweb.js to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\dashlets\docweb.js -[DEBUG] file login.css has a non filtered file extension -[DEBUG] copy C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\components\guest\login.css to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\guest\login.css -[DEBUG] file search-min.js has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\components\search\search-min.js to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\search\search-min.js -[DEBUG] file page-min.js has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\components\wiki\page-min.js to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\wiki\page-min.js -[DEBUG] file base.css has a non filtered file extension -[DEBUG] copy C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\css\base.css to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\css\base.css -[DEBUG] file demoamp.css has a non filtered file extension -[DEBUG] copy C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\css\demoamp.css to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\css\demoamp.css -[DEBUG] file yui-layout.css has a non filtered file extension -[DEBUG] copy C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\css\yui-layout.css to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\css\yui-layout.css -[DEBUG] file Header.css has a non filtered file extension -[DEBUG] copy C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\js\alfresco\header\css\Header.css to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\js\alfresco\header\css\Header.css -[DEBUG] file demoamp.jsp has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\jsp\demoamp.jsp to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\jsp\demoamp.jsp -[DEBUG] file README-licenses.txt has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\licenses\README-licenses.txt to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\licenses\README-licenses.txt -[DEBUG] file demoamp.js has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\scripts\demoamp.js to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\scripts\demoamp.js -[DEBUG] file liverebel.xml has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\WEB-INF\classes\liverebel.xml to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\WEB-INF\classes\liverebel.xml -[DEBUG] no use filter components -[INFO] -[INFO] --- yuicompressor-maven-plugin:1.5.1:compress (compress-js) @ share-amp --- -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=4, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=4, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=4, DefaultDependencyCollector.collectTime=0, DefaultDependencyCollector.transformTime=0} -[DEBUG] net.alchim31.maven:yuicompressor-maven-plugin:jar:1.5.1: -[DEBUG] com.yahoo.platform.yui:yuicompressor:jar:2.4.7:compile -[DEBUG] org.sonatype.plexus:plexus-build-api:jar:0.0.7:compile -[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.5.8:compile -[DEBUG] Created new class realm plugin>net.alchim31.maven:yuicompressor-maven-plugin:1.5.1 -[DEBUG] Importing foreign packages into class realm plugin>net.alchim31.maven:yuicompressor-maven-plugin:1.5.1 -[DEBUG] Imported: < project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT -[DEBUG] Populating class realm plugin>net.alchim31.maven:yuicompressor-maven-plugin:1.5.1 -[DEBUG] Included: net.alchim31.maven:yuicompressor-maven-plugin:jar:1.5.1 -[DEBUG] Included: com.yahoo.platform.yui:yuicompressor:jar:2.4.7 -[DEBUG] Included: org.sonatype.plexus:plexus-build-api:jar:0.0.7 -[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:1.5.8 -[DEBUG] Configuring mojo net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress from plugin realm ClassRealm[plugin>net.alchim31.maven:yuicompressor-maven-plugin:1.5.1, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress' with basic configurator --> -[DEBUG] (f) disableOptimizations = false -[DEBUG] (f) encoding = Cp1252 -[DEBUG] (f) excludeResources = false -[DEBUG] (f) excludes = [**/webscripts/**, **/site-webscripts/**, **/*.lib.js, **/*.css] -[DEBUG] (f) failOnWarning = false -[DEBUG] (f) force = false -[DEBUG] (f) gzip = false -[DEBUG] (f) jswarn = false -[DEBUG] (f) linebreakpos = -1 -[DEBUG] (f) nocompress = false -[DEBUG] (f) nomunge = false -[DEBUG] (f) nosuffix = false -[DEBUG] (f) outputDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\classes -[DEBUG] (f) preProcessAggregates = false -[DEBUG] (f) preserveAllSemiColons = false -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (f) resources = [Resource {targetPath: null, filtering: true, FileSet {directory: C:\MMSWorkSpace\mms-ent\share-amp\src\main\resources, PatternSet [includes: {}, excludes: {}]}}, Resource {targetPath: ../share-amp, filtering: true, FileSet {directory: C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp, PatternSet [includes: {}, excludes: {}]}}] -[DEBUG] (f) skip = false -[DEBUG] (f) sourceDirectory = C:\MMSWorkSpace\mms-ent\share-amp\src\main\java\..\js -[DEBUG] (f) statistics = true -[DEBUG] (f) suffix = -min -[DEBUG] (f) useProcessedResources = false -[DEBUG] (f) useSmallestFile = true -[DEBUG] (f) warSourceDirectory = C:\MMSWorkSpace\mms-ent\share-amp\src\main\resources\META-INF -[DEBUG] (f) webappDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\share-amp -[DEBUG] -- end configuration -- -[DEBUG] compress file :C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\components\dashlets\docweb.js to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\dashlets\docweb-min.js -[DEBUG] only compress if input file is younger than existing output file -[INFO] nothing to do, C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\dashlets\docweb-min.js is younger than original, use 'force' option or clean your target -[DEBUG] compress file :C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\components\search\search-min.js to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\search\search-min-min.js -[DEBUG] only compress if input file is younger than existing output file -[INFO] nothing to do, C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\search\search-min-min.js is younger than original, use 'force' option or clean your target -[DEBUG] compress file :C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\components\wiki\page-min.js to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\wiki\page-min-min.js -[DEBUG] only compress if input file is younger than existing output file -[INFO] nothing to do, C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\components\wiki\page-min-min.js is younger than original, use 'force' option or clean your target -[DEBUG] compress file :C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\web\scripts\demoamp.js to C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\scripts\demoamp-min.js -[DEBUG] only compress if input file is younger than existing output file -[INFO] nothing to do, C:\MMSWorkSpace\mms-ent\share-amp\target\classes\..\share-amp\web\scripts\demoamp-min.js is younger than original, use 'force' option or clean your target -[INFO] nb warnings: 0, nb errors: 0 -[INFO] -[INFO] --- alfresco-maven-plugin:2.1.0:refresh (refresh-webscripts-repo-and-share) @ share-amp --- -[DEBUG] Configuring mojo org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:refresh from plugin realm ClassRealm[plugin>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:refresh' with basic configurator --> -[DEBUG] (f) alfrescoClientWar = share -[DEBUG] (f) clearCacheShareUrl = /share/page/caches/dependency/clear -[DEBUG] (f) refreshHost = localhost -[DEBUG] (f) refreshMode = auto -[DEBUG] (f) refreshPassword = admin -[DEBUG] (f) refreshPort = 8080 -[DEBUG] (f) refreshRepoUrl = /alfresco/service/index -[DEBUG] (f) refreshShareUrl = /share/page/index -[DEBUG] (f) refreshUsername = admin -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] -- end configuration -- -[WARNING] Connection failed to localhost:8080, null webapp refresh aborted -[INFO] -[INFO] --- maven-compiler-plugin:3.2:compile (default-compile) @ share-amp --- -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=160, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=43, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=63, DefaultDependencyCollector.collectTime=47, DefaultDependencyCollector.transformTime=0} -[DEBUG] org.apache.maven.plugins:maven-compiler-plugin:jar:3.2: -[DEBUG] org.apache.maven:maven-plugin-api:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-artifact:jar:2.0.9:compile -[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.5.1:compile -[DEBUG] org.apache.maven:maven-core:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-settings:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-profile:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-model:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-repository-metadata:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-error-diagnostics:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-project:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-plugin-registry:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-plugin-descriptor:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-artifact-manager:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-monitor:jar:2.0.9:compile -[DEBUG] org.apache.maven:maven-toolchain:jar:1.0:compile -[DEBUG] org.apache.maven.shared:maven-shared-utils:jar:0.1:compile -[DEBUG] com.google.code.findbugs:jsr305:jar:2.0.1:compile -[DEBUG] org.apache.maven.shared:maven-shared-incremental:jar:1.1:compile -[DEBUG] org.codehaus.plexus:plexus-component-annotations:jar:1.5.5:compile -[DEBUG] org.codehaus.plexus:plexus-compiler-api:jar:2.4:compile -[DEBUG] org.codehaus.plexus:plexus-compiler-manager:jar:2.4:compile -[DEBUG] org.codehaus.plexus:plexus-compiler-javac:jar:2.4:runtime -[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.5.5:compile -[DEBUG] org.codehaus.plexus:plexus-classworlds:jar:2.2.2:compile -[DEBUG] org.apache.xbean:xbean-reflect:jar:3.4:compile -[DEBUG] log4j:log4j:jar:1.2.12:compile -[DEBUG] commons-logging:commons-logging-api:jar:1.1:compile -[DEBUG] com.google.collections:google-collections:jar:1.0:compile -[DEBUG] junit:junit:jar:3.8.2:compile -[DEBUG] Created new class realm plugin>org.apache.maven.plugins:maven-compiler-plugin:3.2 -[DEBUG] Importing foreign packages into class realm plugin>org.apache.maven.plugins:maven-compiler-plugin:3.2 -[DEBUG] Imported: < project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT -[DEBUG] Populating class realm plugin>org.apache.maven.plugins:maven-compiler-plugin:3.2 -[DEBUG] Included: org.apache.maven.plugins:maven-compiler-plugin:jar:3.2 -[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:1.5.1 -[DEBUG] Included: org.apache.maven.shared:maven-shared-utils:jar:0.1 -[DEBUG] Included: com.google.code.findbugs:jsr305:jar:2.0.1 -[DEBUG] Included: org.apache.maven.shared:maven-shared-incremental:jar:1.1 -[DEBUG] Included: org.codehaus.plexus:plexus-component-annotations:jar:1.5.5 -[DEBUG] Included: org.codehaus.plexus:plexus-compiler-api:jar:2.4 -[DEBUG] Included: org.codehaus.plexus:plexus-compiler-manager:jar:2.4 -[DEBUG] Included: org.codehaus.plexus:plexus-compiler-javac:jar:2.4 -[DEBUG] Included: org.apache.xbean:xbean-reflect:jar:3.4 -[DEBUG] Included: log4j:log4j:jar:1.2.12 -[DEBUG] Included: commons-logging:commons-logging-api:jar:1.1 -[DEBUG] Included: com.google.collections:google-collections:jar:1.0 -[DEBUG] Included: junit:junit:jar:3.8.2 -[DEBUG] Excluded: org.apache.maven:maven-plugin-api:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-artifact:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-core:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-settings:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-profile:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-model:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-repository-metadata:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-error-diagnostics:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-project:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-plugin-registry:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-plugin-descriptor:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-artifact-manager:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-monitor:jar:2.0.9 -[DEBUG] Excluded: org.apache.maven:maven-toolchain:jar:1.0 -[DEBUG] Excluded: org.codehaus.plexus:plexus-container-default:jar:1.5.5 -[DEBUG] Excluded: org.codehaus.plexus:plexus-classworlds:jar:2.2.2 -[DEBUG] Configuring mojo org.apache.maven.plugins:maven-compiler-plugin:3.2:compile from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:3.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-compiler-plugin:3.2:compile' with basic configurator --> -[DEBUG] (f) basedir = C:\MMSWorkSpace\mms-ent\share-amp -[DEBUG] (f) buildDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target -[DEBUG] (f) classpathElements = [C:\MMSWorkSpace\mms-ent\share-amp\target\classes, C:\Users\Administrator\.m2\repository\org\alfresco\share\5.0.d\share-5.0.d-classes.jar, C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-web-framework-commons\5.0.d\alfresco-web-framework-commons-5.0.d-classes.jar, C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-jlan-embed\5.0.d\alfresco-jlan-embed-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-core\5.0.d\alfresco-core-5.0.d.jar, C:\Users\Administrator\.m2\repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar, C:\Users\Administrator\.m2\repository\commons-httpclient\commons-httpclient\3.1-HTTPCLIENT-1265\commons-httpclient-3.1-HTTPCLIENT-1265.jar, C:\Users\Administrator\.m2\repository\org\apache\commons\commons-math3\3.3\commons-math3-3.3.jar, C:\Users\Administrator\.m2\repository\org\safehaus\jug\jug\2.0.0\jug-2.0.0-asl.jar, C:\Users\Administrator\.m2\repository\org\json\json\20090211\json-20090211.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-orm\3.2.10.RELEASE\spring-orm-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-jdbc\3.2.10.RELEASE\spring-jdbc-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-tx\3.2.10.RELEASE\spring-tx-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-core-configservice\5.0.d\spring-surf-core-configservice-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-core\5.0.d\spring-surf-core-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-context-support\3.2.10.RELEASE\spring-context-support-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-web\3.2.10.RELEASE\spring-web-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\bind\jaxb-xjc\2.2.6\jaxb-xjc-2.2.6.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.6\jaxb-impl-2.2.6.jar, C:\Users\Administrator\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar, C:\Users\Administrator\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar, C:\Users\Administrator\.m2\repository\org\codehaus\guessencoding\guessencoding\1.0\guessencoding-1.0.jar, C:\Users\Administrator\.m2\repository\javax\transaction\jta\1.0.1b\jta-1.0.1b.jar, C:\Users\Administrator\.m2\repository\com\hazelcast\hazelcast\2.4\hazelcast-2.4.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-impl\0.11.0\chemistry-opencmis-client-impl-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-api\0.11.0\chemistry-opencmis-client-api-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-commons-api\0.11.0\chemistry-opencmis-commons-api-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-commons-impl\0.11.0\chemistry-opencmis-commons-impl-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\codehaus\woodstox\woodstox-core-asl\4.2.0\woodstox-core-asl-4.2.0.jar, C:\Users\Administrator\.m2\repository\javax\xml\stream\stax-api\1.0-2\stax-api-1.0-2.jar, C:\Users\Administrator\.m2\repository\org\codehaus\woodstox\stax2-api\3.1.1\stax2-api-3.1.1.jar, C:\Users\Administrator\.m2\repository\org\jvnet\mimepull\mimepull\1.9.4\mimepull-1.9.4.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\ws\jaxws-rt\2.1.7\jaxws-rt-2.1.7.jar, C:\Users\Administrator\.m2\repository\javax\xml\ws\jaxws-api\2.1\jaxws-api-2.1.jar, C:\Users\Administrator\.m2\repository\javax\xml\bind\jaxb-api\2.1\jaxb-api-2.1.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\messaging\saaj\saaj-impl\1.3.3\saaj-impl-1.3.3.jar, C:\Users\Administrator\.m2\repository\javax\xml\soap\saaj-api\1.3\saaj-api-1.3.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\stream\buffer\streambuffer\0.9\streambuffer-0.9.jar, C:\Users\Administrator\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar, C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\1.2\stax-ex-1.2.jar, C:\Users\Administrator\.m2\repository\com\sun\org\apache\xml\internal\resolver\20050927\resolver-20050927.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-bindings\0.11.0\chemistry-opencmis-client-bindings-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\1.7.7\slf4j-api-1.7.7.jar, C:\Users\Administrator\.m2\repository\org\alfresco\cmis\client\alfresco-opencmis-extension\1.0\alfresco-opencmis-extension-1.0.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-cmis-framework\5.0.d\spring-cmis-framework-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-webscripts\5.0.d\spring-webscripts-5.0.d.jar, C:\Users\Administrator\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar, C:\Users\Administrator\.m2\repository\org\htmlparser\htmlparser\2.1\htmlparser-2.1.jar, C:\Users\Administrator\.m2\repository\org\htmlparser\htmllexer\2.1\htmllexer-2.1.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-webmvc\3.2.10.RELEASE\spring-webmvc-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\mozilla\rhino\1.7R4-alfresco-patched\rhino-1.7R4-alfresco-patched.jar, C:\Users\Administrator\.m2\repository\com\googlecode\json-simple\json-simple\1.1.1\json-simple-1.1.1.jar, C:\Users\Administrator\.m2\repository\org\tuckey\urlrewritefilter\4.0.4\urlrewritefilter-4.0.4.jar, C:\Users\Administrator\.m2\repository\commons-fileupload\commons-fileupload\1.3.1\commons-fileupload-1.3.1.jar, C:\Users\Administrator\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar, C:\Users\Administrator\.m2\repository\jaxen\jaxen\1.1.6\jaxen-1.1.6.jar, C:\Users\Administrator\.m2\repository\org\freemarker\freemarker\2.3.20-alfresco-patched\freemarker-2.3.20-alfresco-patched.jar, C:\Users\Administrator\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar, C:\Users\Administrator\.m2\repository\com\hazelcast\hazelcast-spring\2.4\hazelcast-spring-2.4.jar, C:\Users\Administrator\.m2\repository\javax\servlet\jstl\1.2\jstl-1.2.jar, C:\Users\Administrator\.m2\repository\org\apache\myfaces\core\myfaces-api\1.1.8\myfaces-api-1.1.8.jar, C:\Users\Administrator\.m2\repository\org\apache\myfaces\core\myfaces-impl\1.1.8\myfaces-impl-1.1.8.jar, C:\Users\Administrator\.m2\repository\commons-el\commons-el\1.0\commons-el-1.0.jar, C:\Users\Administrator\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar, C:\Users\Administrator\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar, C:\Users\Administrator\.m2\repository\commons-digester\commons-digester\2.1\commons-digester-2.1.jar, C:\Users\Administrator\.m2\repository\org\alfresco\aikau\1.0.8.1\aikau-1.0.8.1.jar, C:\Users\Administrator\.m2\repository\com\asual\lesscss\lesscss-engine\1.5.0\lesscss-engine-1.5.0.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-api\5.0.d\spring-surf-api-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf\5.0.d\spring-surf-5.0.d.jar, C:\Users\Administrator\.m2\repository\com\yahoo\platform\yui\yuicompressor\2.4.8-alfresco-patched\yuicompressor-2.4.8-alfresco-patched.jar, C:\Users\Administrator\.m2\repository\com\googlecode\concurrentlinkedhashmap\concurrentlinkedhashmap-lru\1.2\concurrentlinkedhashmap-lru-1.2.jar, C:\Users\Administrator\.m2\repository\org\apache\maven\maven-artifact\3.0.3\maven-artifact-3.0.3.jar, C:\Users\Administrator\.m2\repository\org\codehaus\plexus\plexus-utils\2.0.6\plexus-utils-2.0.6.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-webscripts-api\5.0.d\spring-webscripts-api-5.0.d.jar, C:\Users\Administrator\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar, C:\Users\Administrator\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-http\7.6.14.v20131031\jetty-http-7.6.14.v20131031.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-io\7.6.14.v20131031\jetty-io-7.6.14.v20131031.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-beans\3.2.10.RELEASE\spring-beans-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-core\3.2.10.RELEASE\spring-core-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-context\3.2.10.RELEASE\spring-context-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-aop\3.2.10.RELEASE\spring-aop-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-expression\3.2.10.RELEASE\spring-expression-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\joda-time\joda-time\2.5\joda-time-2.5.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-java\2.45.0-alfresco\selenium-java-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.45.0-alfresco\selenium-chrome-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.45.0-alfresco\selenium-remote-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar, C:\Users\Administrator\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-api\2.45.0-alfresco\selenium-api-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\com\google\guava\guava\18.0\guava-18.0.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-htmlunit-driver\2.45.0-alfresco\selenium-htmlunit-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\net\sourceforge\htmlunit\htmlunit\2.15\htmlunit-2.15.jar, C:\Users\Administrator\.m2\repository\xalan\xalan\2.7.2\xalan-2.7.2.jar, C:\Users\Administrator\.m2\repository\xalan\serializer\2.7.2\serializer-2.7.2.jar, C:\Users\Administrator\.m2\repository\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar, C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpmime\4.3.3\httpmime-4.3.3.jar, C:\Users\Administrator\.m2\repository\net\sourceforge\htmlunit\htmlunit-core-js\2.15\htmlunit-core-js-2.15.jar, C:\Users\Administrator\.m2\repository\xerces\xercesImpl\2.10.0-alfresco-patched\xercesImpl-2.10.0-alfresco-patched.jar, C:\Users\Administrator\.m2\repository\net\sourceforge\nekohtml\nekohtml\1.9.21\nekohtml-1.9.21.jar, C:\Users\Administrator\.m2\repository\net\sourceforge\cssparser\cssparser\0.9.14\cssparser-0.9.14.jar, C:\Users\Administrator\.m2\repository\org\w3c\css\sac\1.3\sac-1.3.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-websocket\8.1.15.v20140411\jetty-websocket-8.1.15.v20140411.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-util\8.1.15.v20140411\jetty-util-8.1.15.v20140411.jar, C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpclient\4.3.6\httpclient-4.3.6.jar, C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpcore\4.3.3\httpcore-4.3.3.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.45.0-alfresco\selenium-firefox-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.45.0-alfresco\selenium-ie-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\net\java\dev\jna\jna\3.4.0\jna-3.4.0.jar, C:\Users\Administrator\.m2\repository\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.45.0-alfresco\selenium-safari-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-support\2.45.0-alfresco\selenium-support-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\webbitserver\webbit\0.4.14\webbit-0.4.14.jar, C:\Users\Administrator\.m2\repository\io\netty\netty\3.5.2.Final\netty-3.5.2.Final.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.45.0-alfresco\selenium-leg-rc-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar] -[DEBUG] (f) compileSourceRoots = [C:\MMSWorkSpace\mms-ent\share-amp\src\main\java] -[DEBUG] (f) compilerId = javac -[DEBUG] (f) debug = true -[DEBUG] (f) encoding = UTF-8 -[DEBUG] (f) failOnError = true -[DEBUG] (f) forceJavacCompilerUse = false -[DEBUG] (f) fork = false -[DEBUG] (f) generatedSourcesDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\generated-sources\annotations -[DEBUG] (f) mojoExecution = org.apache.maven.plugins:maven-compiler-plugin:3.2:compile {execution: default-compile} -[DEBUG] (f) optimize = false -[DEBUG] (f) outputDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\classes -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (f) projectArtifact = gov.nasa.jpl.mbee:share-amp:amp:1.0-SNAPSHOT -[DEBUG] (f) session = org.apache.maven.execution.MavenSession@3ba46e63 -[DEBUG] (f) showDeprecation = false -[DEBUG] (f) showWarnings = false -[DEBUG] (f) skipMultiThreadWarning = false -[DEBUG] (f) source = 1.8 -[DEBUG] (f) staleMillis = 0 -[DEBUG] (f) target = 1.8 -[DEBUG] (f) useIncrementalCompilation = true -[DEBUG] (f) verbose = false -[DEBUG] -- end configuration -- -[DEBUG] Using compiler 'javac'. -[DEBUG] Source directories: [C:\MMSWorkSpace\mms-ent\share-amp\src\main\java] -[DEBUG] Classpath: [C:\MMSWorkSpace\mms-ent\share-amp\target\classes - C:\Users\Administrator\.m2\repository\org\alfresco\share\5.0.d\share-5.0.d-classes.jar - C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-web-framework-commons\5.0.d\alfresco-web-framework-commons-5.0.d-classes.jar - C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-jlan-embed\5.0.d\alfresco-jlan-embed-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-core\5.0.d\alfresco-core-5.0.d.jar - C:\Users\Administrator\.m2\repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar - C:\Users\Administrator\.m2\repository\commons-httpclient\commons-httpclient\3.1-HTTPCLIENT-1265\commons-httpclient-3.1-HTTPCLIENT-1265.jar - C:\Users\Administrator\.m2\repository\org\apache\commons\commons-math3\3.3\commons-math3-3.3.jar - C:\Users\Administrator\.m2\repository\org\safehaus\jug\jug\2.0.0\jug-2.0.0-asl.jar - C:\Users\Administrator\.m2\repository\org\json\json\20090211\json-20090211.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-orm\3.2.10.RELEASE\spring-orm-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-jdbc\3.2.10.RELEASE\spring-jdbc-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-tx\3.2.10.RELEASE\spring-tx-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-core-configservice\5.0.d\spring-surf-core-configservice-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-core\5.0.d\spring-surf-core-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-context-support\3.2.10.RELEASE\spring-context-support-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-web\3.2.10.RELEASE\spring-web-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\bind\jaxb-xjc\2.2.6\jaxb-xjc-2.2.6.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.6\jaxb-impl-2.2.6.jar - C:\Users\Administrator\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar - C:\Users\Administrator\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar - C:\Users\Administrator\.m2\repository\org\codehaus\guessencoding\guessencoding\1.0\guessencoding-1.0.jar - C:\Users\Administrator\.m2\repository\javax\transaction\jta\1.0.1b\jta-1.0.1b.jar - C:\Users\Administrator\.m2\repository\com\hazelcast\hazelcast\2.4\hazelcast-2.4.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-impl\0.11.0\chemistry-opencmis-client-impl-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-api\0.11.0\chemistry-opencmis-client-api-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-commons-api\0.11.0\chemistry-opencmis-commons-api-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-commons-impl\0.11.0\chemistry-opencmis-commons-impl-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\codehaus\woodstox\woodstox-core-asl\4.2.0\woodstox-core-asl-4.2.0.jar - C:\Users\Administrator\.m2\repository\javax\xml\stream\stax-api\1.0-2\stax-api-1.0-2.jar - C:\Users\Administrator\.m2\repository\org\codehaus\woodstox\stax2-api\3.1.1\stax2-api-3.1.1.jar - C:\Users\Administrator\.m2\repository\org\jvnet\mimepull\mimepull\1.9.4\mimepull-1.9.4.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\ws\jaxws-rt\2.1.7\jaxws-rt-2.1.7.jar - C:\Users\Administrator\.m2\repository\javax\xml\ws\jaxws-api\2.1\jaxws-api-2.1.jar - C:\Users\Administrator\.m2\repository\javax\xml\bind\jaxb-api\2.1\jaxb-api-2.1.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\messaging\saaj\saaj-impl\1.3.3\saaj-impl-1.3.3.jar - C:\Users\Administrator\.m2\repository\javax\xml\soap\saaj-api\1.3\saaj-api-1.3.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\stream\buffer\streambuffer\0.9\streambuffer-0.9.jar - C:\Users\Administrator\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar - C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\1.2\stax-ex-1.2.jar - C:\Users\Administrator\.m2\repository\com\sun\org\apache\xml\internal\resolver\20050927\resolver-20050927.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-bindings\0.11.0\chemistry-opencmis-client-bindings-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\1.7.7\slf4j-api-1.7.7.jar - C:\Users\Administrator\.m2\repository\org\alfresco\cmis\client\alfresco-opencmis-extension\1.0\alfresco-opencmis-extension-1.0.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-cmis-framework\5.0.d\spring-cmis-framework-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-webscripts\5.0.d\spring-webscripts-5.0.d.jar - C:\Users\Administrator\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar - C:\Users\Administrator\.m2\repository\org\htmlparser\htmlparser\2.1\htmlparser-2.1.jar - C:\Users\Administrator\.m2\repository\org\htmlparser\htmllexer\2.1\htmllexer-2.1.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-webmvc\3.2.10.RELEASE\spring-webmvc-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\mozilla\rhino\1.7R4-alfresco-patched\rhino-1.7R4-alfresco-patched.jar - C:\Users\Administrator\.m2\repository\com\googlecode\json-simple\json-simple\1.1.1\json-simple-1.1.1.jar - C:\Users\Administrator\.m2\repository\org\tuckey\urlrewritefilter\4.0.4\urlrewritefilter-4.0.4.jar - C:\Users\Administrator\.m2\repository\commons-fileupload\commons-fileupload\1.3.1\commons-fileupload-1.3.1.jar - C:\Users\Administrator\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar - C:\Users\Administrator\.m2\repository\jaxen\jaxen\1.1.6\jaxen-1.1.6.jar - C:\Users\Administrator\.m2\repository\org\freemarker\freemarker\2.3.20-alfresco-patched\freemarker-2.3.20-alfresco-patched.jar - C:\Users\Administrator\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar - C:\Users\Administrator\.m2\repository\com\hazelcast\hazelcast-spring\2.4\hazelcast-spring-2.4.jar - C:\Users\Administrator\.m2\repository\javax\servlet\jstl\1.2\jstl-1.2.jar - C:\Users\Administrator\.m2\repository\org\apache\myfaces\core\myfaces-api\1.1.8\myfaces-api-1.1.8.jar - C:\Users\Administrator\.m2\repository\org\apache\myfaces\core\myfaces-impl\1.1.8\myfaces-impl-1.1.8.jar - C:\Users\Administrator\.m2\repository\commons-el\commons-el\1.0\commons-el-1.0.jar - C:\Users\Administrator\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar - C:\Users\Administrator\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar - C:\Users\Administrator\.m2\repository\commons-digester\commons-digester\2.1\commons-digester-2.1.jar - C:\Users\Administrator\.m2\repository\org\alfresco\aikau\1.0.8.1\aikau-1.0.8.1.jar - C:\Users\Administrator\.m2\repository\com\asual\lesscss\lesscss-engine\1.5.0\lesscss-engine-1.5.0.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-api\5.0.d\spring-surf-api-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf\5.0.d\spring-surf-5.0.d.jar - C:\Users\Administrator\.m2\repository\com\yahoo\platform\yui\yuicompressor\2.4.8-alfresco-patched\yuicompressor-2.4.8-alfresco-patched.jar - C:\Users\Administrator\.m2\repository\com\googlecode\concurrentlinkedhashmap\concurrentlinkedhashmap-lru\1.2\concurrentlinkedhashmap-lru-1.2.jar - C:\Users\Administrator\.m2\repository\org\apache\maven\maven-artifact\3.0.3\maven-artifact-3.0.3.jar - C:\Users\Administrator\.m2\repository\org\codehaus\plexus\plexus-utils\2.0.6\plexus-utils-2.0.6.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-webscripts-api\5.0.d\spring-webscripts-api-5.0.d.jar - C:\Users\Administrator\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar - C:\Users\Administrator\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-http\7.6.14.v20131031\jetty-http-7.6.14.v20131031.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-io\7.6.14.v20131031\jetty-io-7.6.14.v20131031.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-beans\3.2.10.RELEASE\spring-beans-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-core\3.2.10.RELEASE\spring-core-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-context\3.2.10.RELEASE\spring-context-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-aop\3.2.10.RELEASE\spring-aop-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-expression\3.2.10.RELEASE\spring-expression-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\joda-time\joda-time\2.5\joda-time-2.5.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-java\2.45.0-alfresco\selenium-java-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.45.0-alfresco\selenium-chrome-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.45.0-alfresco\selenium-remote-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar - C:\Users\Administrator\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-api\2.45.0-alfresco\selenium-api-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\com\google\guava\guava\18.0\guava-18.0.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-htmlunit-driver\2.45.0-alfresco\selenium-htmlunit-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\net\sourceforge\htmlunit\htmlunit\2.15\htmlunit-2.15.jar - C:\Users\Administrator\.m2\repository\xalan\xalan\2.7.2\xalan-2.7.2.jar - C:\Users\Administrator\.m2\repository\xalan\serializer\2.7.2\serializer-2.7.2.jar - C:\Users\Administrator\.m2\repository\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar - C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpmime\4.3.3\httpmime-4.3.3.jar - C:\Users\Administrator\.m2\repository\net\sourceforge\htmlunit\htmlunit-core-js\2.15\htmlunit-core-js-2.15.jar - C:\Users\Administrator\.m2\repository\xerces\xercesImpl\2.10.0-alfresco-patched\xercesImpl-2.10.0-alfresco-patched.jar - C:\Users\Administrator\.m2\repository\net\sourceforge\nekohtml\nekohtml\1.9.21\nekohtml-1.9.21.jar - C:\Users\Administrator\.m2\repository\net\sourceforge\cssparser\cssparser\0.9.14\cssparser-0.9.14.jar - C:\Users\Administrator\.m2\repository\org\w3c\css\sac\1.3\sac-1.3.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-websocket\8.1.15.v20140411\jetty-websocket-8.1.15.v20140411.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-util\8.1.15.v20140411\jetty-util-8.1.15.v20140411.jar - C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpclient\4.3.6\httpclient-4.3.6.jar - C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpcore\4.3.3\httpcore-4.3.3.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.45.0-alfresco\selenium-firefox-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.45.0-alfresco\selenium-ie-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\net\java\dev\jna\jna\3.4.0\jna-3.4.0.jar - C:\Users\Administrator\.m2\repository\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.45.0-alfresco\selenium-safari-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-support\2.45.0-alfresco\selenium-support-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\webbitserver\webbit\0.4.14\webbit-0.4.14.jar - C:\Users\Administrator\.m2\repository\io\netty\netty\3.5.2.Final\netty-3.5.2.Final.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.45.0-alfresco\selenium-leg-rc-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar] -[DEBUG] Output directory: C:\MMSWorkSpace\mms-ent\share-amp\target\classes -[DEBUG] Adding C:\MMSWorkSpace\mms-ent\share-amp\target\generated-sources\annotations to compile source roots: - C:\MMSWorkSpace\mms-ent\share-amp\src\main\java -[DEBUG] New compile source roots: - C:\MMSWorkSpace\mms-ent\share-amp\src\main\java - C:\MMSWorkSpace\mms-ent\share-amp\target\generated-sources\annotations -[DEBUG] CompilerReuseStrategy: reuseCreated -[DEBUG] useIncrementalCompilation enabled -[INFO] Nothing to compile - all classes are up to date -[INFO] -[INFO] --- maven-resources-plugin:2.7:testResources (default-testResources) @ share-amp --- -[DEBUG] Configuring mojo org.apache.maven.plugins:maven-resources-plugin:2.7:testResources from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-resources-plugin:2.7, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-resources-plugin:2.7:testResources' with basic configurator --> -[DEBUG] (f) buildFilters = [] -[DEBUG] (f) encoding = UTF-8 -[DEBUG] (f) escapeWindowsPaths = true -[DEBUG] (s) includeEmptyDirs = false -[DEBUG] (f) nonFilteredFileExtensions = [ftl, acp, jpg, png, gif, svg, pdf, doc, docx, xls, xlsx, ppt, pptx, bin, lic, swf, zip, msg, jar, ttf, eot, woff, woff2, css, ico] -[DEBUG] (s) outputDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes -[DEBUG] (s) overwrite = false -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (s) resources = [Resource {targetPath: null, filtering: true, FileSet {directory: C:\MMSWorkSpace\mms-ent\share-amp\src\test\resources, PatternSet [includes: {}, excludes: {}]}}] -[DEBUG] (f) session = org.apache.maven.execution.MavenSession@3ba46e63 -[DEBUG] (f) supportMultiLineFiltering = false -[DEBUG] (f) useBuildFilters = true -[DEBUG] (s) useDefaultDelimiters = true -[DEBUG] -- end configuration -- -[DEBUG] properties used {file.encoding.pkg=sun.io, env.PROMPT=$P$G, java.home=c:\Program Files\Java\jdk1.8.0_51\jre, app.testing.jvm.args=-Xms256m -Xmx1524m -XX:MaxPermSize=256m -Duser.language=en, stagingDirectory=../../target/staging/poms/alfresco-sdk-parent, classworlds.conf=c:\Program Files\apache-maven-3.2.5\bin\m2.conf, share.client.url=http://localhost:8080/share, app.log.root.level=WARN, java.endorsed.dirs=c:\Program Files\Java\jdk1.8.0_51\jre\lib\endorsed, alfresco.db.password=alfresco, env.USERNAME=Administrator, maven.jar.version=2.5, app.amp.excludes=, maven.war.version=2.5, sun.os.patch.level=, java.vendor.url=http://java.oracle.com/, env.COMPUTERNAME=WIN-K276QR1LFRT, env.=C:=C:\MMSWorkSpace\mms-ent\share-amp, maven.tomcat.port=8080, maven.dependency.version=2.9, maven.resources.version=2.7, java.version=1.8.0_51, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, env.USERPROFILE=C:\Users\Administrator, alfresco.groupId=org.alfresco, maven.alfresco.version=2.1.0, user.name=Administrator, sun.io.unicode.encoding=UnicodeLittle, sun.jnu.encoding=Cp1252, java.runtime.name=Java(TM) SE Runtime Environment, env.LOCALAPPDATA=C:\Users\Administrator\AppData\Local, env.COMMONPROGRAMW6432=C:\Program Files\Common Files, java.specification.name=Java Platform API Specification, user.timezone=UTC, user.script=, path.separator=;, env.MAVEN_CMD_LINE_ARGS=install -U -X, env.PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 63 Stepping 2, GenuineIntel, alfresco.db.url=jdbc:h2:./alf_data_dev/h2_data/alf_dev;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0, file.encoding=Cp1252, env.HOME=C:\Users\Administrator, app.amp.output.folder=../share-amp, sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher install -U -X, env.NUMBER_OF_PROCESSORS=4, env.APPDATA=C:\Users\Administrator\AppData\Roaming, maven.install.version=2.5.2, env.WINDIR=C:\Windows, app.filtering.enabled=true, java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\2\, user.language=en, app.slf4j.scope=runtime, line.separator= -, app.amp.overlay.excludes=, app.log.dir=C:\MMSWorkSpace\mms-ent\share-amp\target/, env.COMMONPROGRAMFILES=C:\Program Files\Common Files, env=local, alfresco.community.default.version=5.0.d, alfresco.data.location=alf_data_dev, maven.tomcat.version=2.2, java.vm.info=mixed mode, maven.buildhelper.version=1.9.1, sun.desktop=windows, alfresco.db.username=alfresco, java.vm.specification.name=Java Virtual Machine Specification, env.M2_HOME=c:\Program Files\apache-maven-3.2.5, env.PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, env.USERDOMAIN_ROAMINGPROFILE=WIN-K276QR1LFRT, app.slf4j.version=1.5.11, env.LOGONSERVER=\\WIN-K276QR1LFRT, env.PSMODULEPATH=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\AWS Tools\PowerShell\, java.awt.printerjob=sun.awt.windows.WPrinterJob, alfresco.client.contextPath=/alfresco, maven.clean.version=2.6.1, env.PUBLIC=C:\Users\Public, env.USERDOMAIN=WIN-K276QR1LFRT, env.PROCESSOR_LEVEL=6, env.PROGRAMFILES(X86)=C:\Program Files (x86), env.=EXITCODE=00000000, os.name=Windows Server 2012 R2, java.specification.vendor=Oracle Corporation, alfresco.db.params=AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0, alfresco.repo.artifactId=alfresco, env.TMP=C:\Users\ADMINI~1\AppData\Local\Temp\2, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, env.OS=Windows_NT, java.library.path=c:\Program Files\Java\jdk1.8.0_51\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;c:\python27;c:\program files\apache-maven-3.2.5\bin;., env.PROGRAMW6432=C:\Program Files, env.PATH=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;c:\python27;c:\program files\apache-maven-3.2.5\bin, alfresco.version=5.0.d, java.class.version=52.0, app.properties.test.include=**, alfresco.db.name=alf_dev, env.HOMEDRIVE=C:, env.SYSTEMROOT=C:\Windows, maven.compiler.version=3.2, env.COMSPEC=C:\Windows\system32\cmd.exe, sun.boot.library.path=c:\Program Files\Java\jdk1.8.0_51\jre\bin, project.build.sourceEncoding=UTF-8, env.SYSTEMDRIVE=C:, app.amp.folder=src/main/amp, env.PROCESSOR_REVISION=3f02, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, user.variant=, maven.enforcer.plugin=1.4, share.client.contextPath=/share, app.amp.client.war.folder=C:\MMSWorkSpace\mms-ent\share-amp\target/share-amp-war, alfresco.sdk.parent.version=1.0-SNAPSHOT, env.PROGRAMFILES=C:\Program Files, java.vm.specification.version=1.8, env.MAVEN_JAVA_EXE="c:\Program Files\Java\jdk1.8.0_51\bin\java.exe", springloaded.version=1.2.3.RELEASE, env.PROGRAMDATA=C:\ProgramData, awt.toolkit=sun.awt.windows.WToolkit, sun.cpu.isalist=amd64, sun.stderr.encoding=cp437, alfresco.db.datasource.class=org.h2.jdbcx.JdbcDataSource, java.ext.dirs=c:\Program Files\Java\jdk1.8.0_51\jre\lib\ext;C:\Windows\Sun\Java\lib\ext, os.version=6.3, env.ERROR_CODE=0, user.home=C:\Users\Administrator, maven.release.version=2.5.1, java.vm.vendor=Oracle Corporation, env.JAVA_HOME=c:\Program Files\Java\jdk1.8.0_51, app.properties.test.folder=src/test/properties/local, user.dir=C:\MMSWorkSpace\mms-ent\share-amp, app.properties.include=**, env.COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files, env.FP_NO_HOST_CHECK=NO, sun.cpu.endian=little, env.ALLUSERSPROFILE=C:\ProgramData, env.CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher, env.PROCESSOR_ARCHITECTURE=AMD64, maven.antrun.version=1.7, java.vm.version=25.51-b03, java.class.path=c:\Program Files\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar, org.slf4j.simpleLogger.defaultLogLevel=debug, env.HOMEPATH=\Users\Administrator, os.arch=amd64, maven.build.version=Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T17:29:23+00:00), env.SESSIONNAME=RDP-Tcp#6, sun.java.launcher=SUN_STANDARD, java.vm.specification.vendor=Oracle Corporation, alfresco.enterprise.default.version=5.0.1, noSnapshotVersion=1.0.1508131840, file.separator=\, h2.version=1.4.185, java.runtime.version=1.8.0_51-b16, sun.boot.class.path=c:\Program Files\Java\jdk1.8.0_51\jre\lib\resources.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\rt.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\sunrsasign.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jsse.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jce.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\charsets.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jfr.jar;c:\Program Files\Java\jdk1.8.0_51\jre\classes, maven.replacer.version=1.5.3, scm.url.base=https://github.com/Alfresco/alfresco-sdk, maven.surefire.version=2.18, maven.version=3.2.5, env.TEMP=C:\Users\ADMINI~1\AppData\Local\Temp\2, maven.archetype.version=2.2, user.country=US, alfresco.rm.version=2.3, app.amp.client.war.artifactId=share, env.CLIENTNAME=USER-HP, maven.home=c:\Program Files\apache-maven-3.2.5, maven.compiler.target=1.8, alfresco.share.artifactId=share, java.vendor=Oracle Corporation, env.CLASSWORLDS_JAR="c:\Program Files\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar", app.properties.folder=src/main/properties/local, maven.compiler.source=1.8, java.specification.version=1.8, sun.arch.data.model=64} -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[DEBUG] resource with targetPath null -directory C:\MMSWorkSpace\mms-ent\share-amp\src\test\resources -excludes [] -includes [] -[DEBUG] ignoreDelta true -[INFO] Copying 1 resource -[DEBUG] file log4j.properties has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\test\resources\resources\log4j.properties to C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes\resources\log4j.properties -[DEBUG] no use filter components -[INFO] -[INFO] --- maven-resources-plugin:2.7:copy-resources (add-module-properties-to-test-classpath) @ share-amp --- -[DEBUG] Configuring mojo org.apache.maven.plugins:maven-resources-plugin:2.7:copy-resources from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-resources-plugin:2.7, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-resources-plugin:2.7:copy-resources' with basic configurator --> -[DEBUG] (f) buildFilters = [] -[DEBUG] (f) encoding = UTF-8 -[DEBUG] (f) escapeWindowsPaths = true -[DEBUG] (s) includeEmptyDirs = false -[DEBUG] (f) nonFilteredFileExtensions = [ftl, acp, jpg, png, gif, svg, pdf, doc, docx, xls, xlsx, ppt, pptx, bin, lic, swf, zip, msg, jar, ttf, eot, woff, woff2, css, ico] -[DEBUG] (s) outputDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes -[DEBUG] (s) overwrite = false -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (s) directory = src/main/amp -[DEBUG] (s) includes = [module.properties] -[DEBUG] (s) filtering = true -[DEBUG] (s) targetPath = alfresco/module/share-amp -[DEBUG] (s) resources = [Resource {targetPath: alfresco/module/share-amp, filtering: true, FileSet {directory: src/main/amp, PatternSet [includes: {module.properties}, excludes: {}]}}] -[DEBUG] (f) session = org.apache.maven.execution.MavenSession@3ba46e63 -[DEBUG] (f) supportMultiLineFiltering = false -[DEBUG] (f) useBuildFilters = true -[DEBUG] (s) useDefaultDelimiters = true -[DEBUG] -- end configuration -- -[DEBUG] properties used {file.encoding.pkg=sun.io, env.PROMPT=$P$G, java.home=c:\Program Files\Java\jdk1.8.0_51\jre, app.testing.jvm.args=-Xms256m -Xmx1524m -XX:MaxPermSize=256m -Duser.language=en, stagingDirectory=../../target/staging/poms/alfresco-sdk-parent, classworlds.conf=c:\Program Files\apache-maven-3.2.5\bin\m2.conf, share.client.url=http://localhost:8080/share, app.log.root.level=WARN, java.endorsed.dirs=c:\Program Files\Java\jdk1.8.0_51\jre\lib\endorsed, alfresco.db.password=alfresco, env.USERNAME=Administrator, maven.jar.version=2.5, app.amp.excludes=, maven.war.version=2.5, sun.os.patch.level=, java.vendor.url=http://java.oracle.com/, env.COMPUTERNAME=WIN-K276QR1LFRT, env.=C:=C:\MMSWorkSpace\mms-ent\share-amp, maven.tomcat.port=8080, maven.dependency.version=2.9, maven.resources.version=2.7, java.version=1.8.0_51, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, env.USERPROFILE=C:\Users\Administrator, alfresco.groupId=org.alfresco, maven.alfresco.version=2.1.0, user.name=Administrator, sun.io.unicode.encoding=UnicodeLittle, sun.jnu.encoding=Cp1252, java.runtime.name=Java(TM) SE Runtime Environment, env.LOCALAPPDATA=C:\Users\Administrator\AppData\Local, env.COMMONPROGRAMW6432=C:\Program Files\Common Files, java.specification.name=Java Platform API Specification, user.timezone=UTC, user.script=, path.separator=;, env.MAVEN_CMD_LINE_ARGS=install -U -X, env.PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 63 Stepping 2, GenuineIntel, alfresco.db.url=jdbc:h2:./alf_data_dev/h2_data/alf_dev;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0, file.encoding=Cp1252, env.HOME=C:\Users\Administrator, app.amp.output.folder=../share-amp, sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher install -U -X, env.NUMBER_OF_PROCESSORS=4, env.APPDATA=C:\Users\Administrator\AppData\Roaming, maven.install.version=2.5.2, env.WINDIR=C:\Windows, app.filtering.enabled=true, java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\2\, user.language=en, app.slf4j.scope=runtime, line.separator= -, app.amp.overlay.excludes=, app.log.dir=C:\MMSWorkSpace\mms-ent\share-amp\target/, env.COMMONPROGRAMFILES=C:\Program Files\Common Files, env=local, alfresco.community.default.version=5.0.d, alfresco.data.location=alf_data_dev, maven.tomcat.version=2.2, java.vm.info=mixed mode, maven.buildhelper.version=1.9.1, sun.desktop=windows, alfresco.db.username=alfresco, java.vm.specification.name=Java Virtual Machine Specification, env.M2_HOME=c:\Program Files\apache-maven-3.2.5, env.PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, env.USERDOMAIN_ROAMINGPROFILE=WIN-K276QR1LFRT, app.slf4j.version=1.5.11, env.LOGONSERVER=\\WIN-K276QR1LFRT, env.PSMODULEPATH=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\AWS Tools\PowerShell\, java.awt.printerjob=sun.awt.windows.WPrinterJob, alfresco.client.contextPath=/alfresco, maven.clean.version=2.6.1, env.PUBLIC=C:\Users\Public, env.USERDOMAIN=WIN-K276QR1LFRT, env.PROCESSOR_LEVEL=6, env.PROGRAMFILES(X86)=C:\Program Files (x86), env.=EXITCODE=00000000, os.name=Windows Server 2012 R2, java.specification.vendor=Oracle Corporation, alfresco.db.params=AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0, alfresco.repo.artifactId=alfresco, env.TMP=C:\Users\ADMINI~1\AppData\Local\Temp\2, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, env.OS=Windows_NT, java.library.path=c:\Program Files\Java\jdk1.8.0_51\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;c:\python27;c:\program files\apache-maven-3.2.5\bin;., env.PROGRAMW6432=C:\Program Files, env.PATH=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;c:\python27;c:\program files\apache-maven-3.2.5\bin, alfresco.version=5.0.d, java.class.version=52.0, app.properties.test.include=**, alfresco.db.name=alf_dev, env.HOMEDRIVE=C:, env.SYSTEMROOT=C:\Windows, maven.compiler.version=3.2, env.COMSPEC=C:\Windows\system32\cmd.exe, sun.boot.library.path=c:\Program Files\Java\jdk1.8.0_51\jre\bin, project.build.sourceEncoding=UTF-8, env.SYSTEMDRIVE=C:, app.amp.folder=src/main/amp, env.PROCESSOR_REVISION=3f02, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, user.variant=, maven.enforcer.plugin=1.4, share.client.contextPath=/share, app.amp.client.war.folder=C:\MMSWorkSpace\mms-ent\share-amp\target/share-amp-war, alfresco.sdk.parent.version=1.0-SNAPSHOT, env.PROGRAMFILES=C:\Program Files, java.vm.specification.version=1.8, env.MAVEN_JAVA_EXE="c:\Program Files\Java\jdk1.8.0_51\bin\java.exe", springloaded.version=1.2.3.RELEASE, env.PROGRAMDATA=C:\ProgramData, awt.toolkit=sun.awt.windows.WToolkit, sun.cpu.isalist=amd64, sun.stderr.encoding=cp437, alfresco.db.datasource.class=org.h2.jdbcx.JdbcDataSource, java.ext.dirs=c:\Program Files\Java\jdk1.8.0_51\jre\lib\ext;C:\Windows\Sun\Java\lib\ext, os.version=6.3, env.ERROR_CODE=0, user.home=C:\Users\Administrator, maven.release.version=2.5.1, java.vm.vendor=Oracle Corporation, env.JAVA_HOME=c:\Program Files\Java\jdk1.8.0_51, app.properties.test.folder=src/test/properties/local, user.dir=C:\MMSWorkSpace\mms-ent\share-amp, app.properties.include=**, env.COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files, env.FP_NO_HOST_CHECK=NO, sun.cpu.endian=little, env.ALLUSERSPROFILE=C:\ProgramData, env.CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher, env.PROCESSOR_ARCHITECTURE=AMD64, maven.antrun.version=1.7, java.vm.version=25.51-b03, java.class.path=c:\Program Files\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar, org.slf4j.simpleLogger.defaultLogLevel=debug, env.HOMEPATH=\Users\Administrator, os.arch=amd64, maven.build.version=Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T17:29:23+00:00), env.SESSIONNAME=RDP-Tcp#6, sun.java.launcher=SUN_STANDARD, java.vm.specification.vendor=Oracle Corporation, alfresco.enterprise.default.version=5.0.1, noSnapshotVersion=1.0.1508131840, file.separator=\, h2.version=1.4.185, java.runtime.version=1.8.0_51-b16, sun.boot.class.path=c:\Program Files\Java\jdk1.8.0_51\jre\lib\resources.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\rt.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\sunrsasign.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jsse.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jce.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\charsets.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jfr.jar;c:\Program Files\Java\jdk1.8.0_51\jre\classes, maven.replacer.version=1.5.3, scm.url.base=https://github.com/Alfresco/alfresco-sdk, maven.surefire.version=2.18, maven.version=3.2.5, env.TEMP=C:\Users\ADMINI~1\AppData\Local\Temp\2, maven.archetype.version=2.2, user.country=US, alfresco.rm.version=2.3, app.amp.client.war.artifactId=share, env.CLIENTNAME=USER-HP, maven.home=c:\Program Files\apache-maven-3.2.5, maven.compiler.target=1.8, alfresco.share.artifactId=share, java.vendor=Oracle Corporation, env.CLASSWORLDS_JAR="c:\Program Files\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar", app.properties.folder=src/main/properties/local, maven.compiler.source=1.8, java.specification.version=1.8, sun.arch.data.model=64} -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[DEBUG] resource with targetPath alfresco/module/share-amp -directory src/main/amp -excludes [] -includes [module.properties] -[DEBUG] ignoreDelta true -[INFO] Copying 1 resource to alfresco/module/share-amp -[DEBUG] file module.properties has a filtered file extension -[DEBUG] filtering C:\MMSWorkSpace\mms-ent\share-amp\src\main\amp\module.properties to C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes\alfresco\module\share-amp\module.properties -[DEBUG] no use filter components -[INFO] -[INFO] --- maven-resources-plugin:2.7:copy-resources (add-module-config-to-test-classpath) @ share-amp --- -[DEBUG] Configuring mojo org.apache.maven.plugins:maven-resources-plugin:2.7:copy-resources from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-resources-plugin:2.7, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-resources-plugin:2.7:copy-resources' with basic configurator --> -[DEBUG] (f) buildFilters = [] -[DEBUG] (f) encoding = UTF-8 -[DEBUG] (f) escapeWindowsPaths = true -[DEBUG] (s) includeEmptyDirs = false -[DEBUG] (f) nonFilteredFileExtensions = [ftl, acp, jpg, png, gif, svg, pdf, doc, docx, xls, xlsx, ppt, pptx, bin, lic, swf, zip, msg, jar, ttf, eot, woff, woff2, css, ico] -[DEBUG] (s) outputDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes -[DEBUG] (s) overwrite = false -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (s) directory = src/main/amp/config -[DEBUG] (s) includes = [**/*] -[DEBUG] (s) filtering = true -[DEBUG] (s) resources = [Resource {targetPath: null, filtering: true, FileSet {directory: src/main/amp/config, PatternSet [includes: {**/*}, excludes: {}]}}] -[DEBUG] (f) session = org.apache.maven.execution.MavenSession@3ba46e63 -[DEBUG] (f) supportMultiLineFiltering = false -[DEBUG] (f) useBuildFilters = true -[DEBUG] (s) useDefaultDelimiters = true -[DEBUG] -- end configuration -- -[DEBUG] properties used {file.encoding.pkg=sun.io, env.PROMPT=$P$G, java.home=c:\Program Files\Java\jdk1.8.0_51\jre, app.testing.jvm.args=-Xms256m -Xmx1524m -XX:MaxPermSize=256m -Duser.language=en, stagingDirectory=../../target/staging/poms/alfresco-sdk-parent, classworlds.conf=c:\Program Files\apache-maven-3.2.5\bin\m2.conf, share.client.url=http://localhost:8080/share, app.log.root.level=WARN, java.endorsed.dirs=c:\Program Files\Java\jdk1.8.0_51\jre\lib\endorsed, alfresco.db.password=alfresco, env.USERNAME=Administrator, maven.jar.version=2.5, app.amp.excludes=, maven.war.version=2.5, sun.os.patch.level=, java.vendor.url=http://java.oracle.com/, env.COMPUTERNAME=WIN-K276QR1LFRT, env.=C:=C:\MMSWorkSpace\mms-ent\share-amp, maven.tomcat.port=8080, maven.dependency.version=2.9, maven.resources.version=2.7, java.version=1.8.0_51, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, env.USERPROFILE=C:\Users\Administrator, alfresco.groupId=org.alfresco, maven.alfresco.version=2.1.0, user.name=Administrator, sun.io.unicode.encoding=UnicodeLittle, sun.jnu.encoding=Cp1252, java.runtime.name=Java(TM) SE Runtime Environment, env.LOCALAPPDATA=C:\Users\Administrator\AppData\Local, env.COMMONPROGRAMW6432=C:\Program Files\Common Files, java.specification.name=Java Platform API Specification, user.timezone=UTC, user.script=, path.separator=;, env.MAVEN_CMD_LINE_ARGS=install -U -X, env.PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 63 Stepping 2, GenuineIntel, alfresco.db.url=jdbc:h2:./alf_data_dev/h2_data/alf_dev;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0, file.encoding=Cp1252, env.HOME=C:\Users\Administrator, app.amp.output.folder=../share-amp, sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher install -U -X, env.NUMBER_OF_PROCESSORS=4, env.APPDATA=C:\Users\Administrator\AppData\Roaming, maven.install.version=2.5.2, env.WINDIR=C:\Windows, app.filtering.enabled=true, java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\2\, user.language=en, app.slf4j.scope=runtime, line.separator= -, app.amp.overlay.excludes=, app.log.dir=C:\MMSWorkSpace\mms-ent\share-amp\target/, env.COMMONPROGRAMFILES=C:\Program Files\Common Files, env=local, alfresco.community.default.version=5.0.d, alfresco.data.location=alf_data_dev, maven.tomcat.version=2.2, java.vm.info=mixed mode, maven.buildhelper.version=1.9.1, sun.desktop=windows, alfresco.db.username=alfresco, java.vm.specification.name=Java Virtual Machine Specification, env.M2_HOME=c:\Program Files\apache-maven-3.2.5, env.PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, env.USERDOMAIN_ROAMINGPROFILE=WIN-K276QR1LFRT, app.slf4j.version=1.5.11, env.LOGONSERVER=\\WIN-K276QR1LFRT, env.PSMODULEPATH=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\AWS Tools\PowerShell\, java.awt.printerjob=sun.awt.windows.WPrinterJob, alfresco.client.contextPath=/alfresco, maven.clean.version=2.6.1, env.PUBLIC=C:\Users\Public, env.USERDOMAIN=WIN-K276QR1LFRT, env.PROCESSOR_LEVEL=6, env.PROGRAMFILES(X86)=C:\Program Files (x86), env.=EXITCODE=00000000, os.name=Windows Server 2012 R2, java.specification.vendor=Oracle Corporation, alfresco.db.params=AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0, alfresco.repo.artifactId=alfresco, env.TMP=C:\Users\ADMINI~1\AppData\Local\Temp\2, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, env.OS=Windows_NT, java.library.path=c:\Program Files\Java\jdk1.8.0_51\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;c:\python27;c:\program files\apache-maven-3.2.5\bin;., env.PROGRAMW6432=C:\Program Files, env.PATH=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;c:\python27;c:\program files\apache-maven-3.2.5\bin, alfresco.version=5.0.d, java.class.version=52.0, app.properties.test.include=**, alfresco.db.name=alf_dev, env.HOMEDRIVE=C:, env.SYSTEMROOT=C:\Windows, maven.compiler.version=3.2, env.COMSPEC=C:\Windows\system32\cmd.exe, sun.boot.library.path=c:\Program Files\Java\jdk1.8.0_51\jre\bin, project.build.sourceEncoding=UTF-8, env.SYSTEMDRIVE=C:, app.amp.folder=src/main/amp, env.PROCESSOR_REVISION=3f02, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, user.variant=, maven.enforcer.plugin=1.4, share.client.contextPath=/share, app.amp.client.war.folder=C:\MMSWorkSpace\mms-ent\share-amp\target/share-amp-war, alfresco.sdk.parent.version=1.0-SNAPSHOT, env.PROGRAMFILES=C:\Program Files, java.vm.specification.version=1.8, env.MAVEN_JAVA_EXE="c:\Program Files\Java\jdk1.8.0_51\bin\java.exe", springloaded.version=1.2.3.RELEASE, env.PROGRAMDATA=C:\ProgramData, awt.toolkit=sun.awt.windows.WToolkit, sun.cpu.isalist=amd64, sun.stderr.encoding=cp437, alfresco.db.datasource.class=org.h2.jdbcx.JdbcDataSource, java.ext.dirs=c:\Program Files\Java\jdk1.8.0_51\jre\lib\ext;C:\Windows\Sun\Java\lib\ext, os.version=6.3, env.ERROR_CODE=0, user.home=C:\Users\Administrator, maven.release.version=2.5.1, java.vm.vendor=Oracle Corporation, env.JAVA_HOME=c:\Program Files\Java\jdk1.8.0_51, app.properties.test.folder=src/test/properties/local, user.dir=C:\MMSWorkSpace\mms-ent\share-amp, app.properties.include=**, env.COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files, env.FP_NO_HOST_CHECK=NO, sun.cpu.endian=little, env.ALLUSERSPROFILE=C:\ProgramData, env.CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher, env.PROCESSOR_ARCHITECTURE=AMD64, maven.antrun.version=1.7, java.vm.version=25.51-b03, java.class.path=c:\Program Files\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar, org.slf4j.simpleLogger.defaultLogLevel=debug, env.HOMEPATH=\Users\Administrator, os.arch=amd64, maven.build.version=Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T17:29:23+00:00), env.SESSIONNAME=RDP-Tcp#6, sun.java.launcher=SUN_STANDARD, java.vm.specification.vendor=Oracle Corporation, alfresco.enterprise.default.version=5.0.1, noSnapshotVersion=1.0.1508131840, file.separator=\, h2.version=1.4.185, java.runtime.version=1.8.0_51-b16, sun.boot.class.path=c:\Program Files\Java\jdk1.8.0_51\jre\lib\resources.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\rt.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\sunrsasign.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jsse.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jce.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\charsets.jar;c:\Program Files\Java\jdk1.8.0_51\jre\lib\jfr.jar;c:\Program Files\Java\jdk1.8.0_51\jre\classes, maven.replacer.version=1.5.3, scm.url.base=https://github.com/Alfresco/alfresco-sdk, maven.surefire.version=2.18, maven.version=3.2.5, env.TEMP=C:\Users\ADMINI~1\AppData\Local\Temp\2, maven.archetype.version=2.2, user.country=US, alfresco.rm.version=2.3, app.amp.client.war.artifactId=share, env.CLIENTNAME=USER-HP, maven.home=c:\Program Files\apache-maven-3.2.5, maven.compiler.target=1.8, alfresco.share.artifactId=share, java.vendor=Oracle Corporation, env.CLASSWORLDS_JAR="c:\Program Files\apache-maven-3.2.5\boot\plexus-classworlds-2.5.2.jar", app.properties.folder=src/main/properties/local, maven.compiler.source=1.8, java.specification.version=1.8, sun.arch.data.model=64} -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[DEBUG] resource with targetPath null -directory src/main/amp/config -excludes [] -includes [**/*] -[DEBUG] ignoreDelta true -[INFO] Copying 0 resource -[DEBUG] no use filter components -[INFO] -[INFO] --- maven-compiler-plugin:3.2:testCompile (default-testCompile) @ share-amp --- -[DEBUG] Configuring mojo org.apache.maven.plugins:maven-compiler-plugin:3.2:testCompile from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:3.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-compiler-plugin:3.2:testCompile' with basic configurator --> -[DEBUG] (f) basedir = C:\MMSWorkSpace\mms-ent\share-amp -[DEBUG] (f) buildDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target -[DEBUG] (f) classpathElements = [C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes, C:\MMSWorkSpace\mms-ent\share-amp\target\classes, C:\Users\Administrator\.m2\repository\org\alfresco\share\5.0.d\share-5.0.d-classes.jar, C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-web-framework-commons\5.0.d\alfresco-web-framework-commons-5.0.d-classes.jar, C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-jlan-embed\5.0.d\alfresco-jlan-embed-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-core\5.0.d\alfresco-core-5.0.d.jar, C:\Users\Administrator\.m2\repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar, C:\Users\Administrator\.m2\repository\commons-httpclient\commons-httpclient\3.1-HTTPCLIENT-1265\commons-httpclient-3.1-HTTPCLIENT-1265.jar, C:\Users\Administrator\.m2\repository\org\apache\commons\commons-math3\3.3\commons-math3-3.3.jar, C:\Users\Administrator\.m2\repository\org\safehaus\jug\jug\2.0.0\jug-2.0.0-asl.jar, C:\Users\Administrator\.m2\repository\org\json\json\20090211\json-20090211.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-orm\3.2.10.RELEASE\spring-orm-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-jdbc\3.2.10.RELEASE\spring-jdbc-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-tx\3.2.10.RELEASE\spring-tx-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-core-configservice\5.0.d\spring-surf-core-configservice-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-core\5.0.d\spring-surf-core-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-context-support\3.2.10.RELEASE\spring-context-support-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-web\3.2.10.RELEASE\spring-web-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\bind\jaxb-xjc\2.2.6\jaxb-xjc-2.2.6.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.6\jaxb-impl-2.2.6.jar, C:\Users\Administrator\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar, C:\Users\Administrator\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar, C:\Users\Administrator\.m2\repository\org\codehaus\guessencoding\guessencoding\1.0\guessencoding-1.0.jar, C:\Users\Administrator\.m2\repository\javax\transaction\jta\1.0.1b\jta-1.0.1b.jar, C:\Users\Administrator\.m2\repository\com\hazelcast\hazelcast\2.4\hazelcast-2.4.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-impl\0.11.0\chemistry-opencmis-client-impl-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-api\0.11.0\chemistry-opencmis-client-api-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-commons-api\0.11.0\chemistry-opencmis-commons-api-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-commons-impl\0.11.0\chemistry-opencmis-commons-impl-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\codehaus\woodstox\woodstox-core-asl\4.2.0\woodstox-core-asl-4.2.0.jar, C:\Users\Administrator\.m2\repository\javax\xml\stream\stax-api\1.0-2\stax-api-1.0-2.jar, C:\Users\Administrator\.m2\repository\org\codehaus\woodstox\stax2-api\3.1.1\stax2-api-3.1.1.jar, C:\Users\Administrator\.m2\repository\org\jvnet\mimepull\mimepull\1.9.4\mimepull-1.9.4.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\ws\jaxws-rt\2.1.7\jaxws-rt-2.1.7.jar, C:\Users\Administrator\.m2\repository\javax\xml\ws\jaxws-api\2.1\jaxws-api-2.1.jar, C:\Users\Administrator\.m2\repository\javax\xml\bind\jaxb-api\2.1\jaxb-api-2.1.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\messaging\saaj\saaj-impl\1.3.3\saaj-impl-1.3.3.jar, C:\Users\Administrator\.m2\repository\javax\xml\soap\saaj-api\1.3\saaj-api-1.3.jar, C:\Users\Administrator\.m2\repository\com\sun\xml\stream\buffer\streambuffer\0.9\streambuffer-0.9.jar, C:\Users\Administrator\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar, C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\1.2\stax-ex-1.2.jar, C:\Users\Administrator\.m2\repository\com\sun\org\apache\xml\internal\resolver\20050927\resolver-20050927.jar, C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-bindings\0.11.0\chemistry-opencmis-client-bindings-0.11.0.jar, C:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\1.7.7\slf4j-api-1.7.7.jar, C:\Users\Administrator\.m2\repository\org\alfresco\cmis\client\alfresco-opencmis-extension\1.0\alfresco-opencmis-extension-1.0.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-cmis-framework\5.0.d\spring-cmis-framework-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-webscripts\5.0.d\spring-webscripts-5.0.d.jar, C:\Users\Administrator\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar, C:\Users\Administrator\.m2\repository\org\htmlparser\htmlparser\2.1\htmlparser-2.1.jar, C:\Users\Administrator\.m2\repository\org\htmlparser\htmllexer\2.1\htmllexer-2.1.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-webmvc\3.2.10.RELEASE\spring-webmvc-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\mozilla\rhino\1.7R4-alfresco-patched\rhino-1.7R4-alfresco-patched.jar, C:\Users\Administrator\.m2\repository\com\googlecode\json-simple\json-simple\1.1.1\json-simple-1.1.1.jar, C:\Users\Administrator\.m2\repository\org\tuckey\urlrewritefilter\4.0.4\urlrewritefilter-4.0.4.jar, C:\Users\Administrator\.m2\repository\commons-fileupload\commons-fileupload\1.3.1\commons-fileupload-1.3.1.jar, C:\Users\Administrator\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar, C:\Users\Administrator\.m2\repository\jaxen\jaxen\1.1.6\jaxen-1.1.6.jar, C:\Users\Administrator\.m2\repository\org\freemarker\freemarker\2.3.20-alfresco-patched\freemarker-2.3.20-alfresco-patched.jar, C:\Users\Administrator\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar, C:\Users\Administrator\.m2\repository\com\hazelcast\hazelcast-spring\2.4\hazelcast-spring-2.4.jar, C:\Users\Administrator\.m2\repository\javax\servlet\jstl\1.2\jstl-1.2.jar, C:\Users\Administrator\.m2\repository\org\apache\myfaces\core\myfaces-api\1.1.8\myfaces-api-1.1.8.jar, C:\Users\Administrator\.m2\repository\org\apache\myfaces\core\myfaces-impl\1.1.8\myfaces-impl-1.1.8.jar, C:\Users\Administrator\.m2\repository\commons-el\commons-el\1.0\commons-el-1.0.jar, C:\Users\Administrator\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar, C:\Users\Administrator\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar, C:\Users\Administrator\.m2\repository\commons-digester\commons-digester\2.1\commons-digester-2.1.jar, C:\Users\Administrator\.m2\repository\org\alfresco\aikau\1.0.8.1\aikau-1.0.8.1.jar, C:\Users\Administrator\.m2\repository\com\asual\lesscss\lesscss-engine\1.5.0\lesscss-engine-1.5.0.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-api\5.0.d\spring-surf-api-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf\5.0.d\spring-surf-5.0.d.jar, C:\Users\Administrator\.m2\repository\com\yahoo\platform\yui\yuicompressor\2.4.8-alfresco-patched\yuicompressor-2.4.8-alfresco-patched.jar, C:\Users\Administrator\.m2\repository\com\googlecode\concurrentlinkedhashmap\concurrentlinkedhashmap-lru\1.2\concurrentlinkedhashmap-lru-1.2.jar, C:\Users\Administrator\.m2\repository\org\apache\maven\maven-artifact\3.0.3\maven-artifact-3.0.3.jar, C:\Users\Administrator\.m2\repository\org\codehaus\plexus\plexus-utils\2.0.6\plexus-utils-2.0.6.jar, C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-webscripts-api\5.0.d\spring-webscripts-api-5.0.d.jar, C:\Users\Administrator\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar, C:\Users\Administrator\.m2\repository\org\alfresco\share-po\5.0.d\share-po-5.0.d.jar, C:\Users\Administrator\.m2\repository\org\alfresco\webdrone\2.7.3\webdrone-2.7.3.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-server\2.39.0\selenium-server-2.39.0.jar, C:\Users\Administrator\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.48\bcprov-jdk15on-1.48.jar, C:\Users\Administrator\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.48\bcpkix-jdk15on-1.48.jar, C:\Users\Administrator\.m2\repository\mx4j\mx4j-tools\3.0.1\mx4j-tools-3.0.1.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\jetty-repacked\7.6.1\jetty-repacked-7.6.1.jar, C:\Users\Administrator\.m2\repository\net\jcip\jcip-annotations\1.0\jcip-annotations-1.0.jar, C:\Users\Administrator\.m2\repository\org\yaml\snakeyaml\1.8\snakeyaml-1.8.jar, C:\Users\Administrator\.m2\repository\org\sikuli\sikuli-api\1.1.0\sikuli-api-1.1.0.jar, C:\Users\Administrator\.m2\repository\org\sikuli\sikuli-core\1.1.3\sikuli-core-1.1.3.jar, C:\Users\Administrator\.m2\repository\com\googlecode\javacpp\javacpp\0.1\javacpp-0.1.jar, C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1.jar, C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-macosx-x86_64.jar, C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-windows-x86.jar, C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-windows-x86_64.jar, C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-linux-x86_64.jar, C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-linux-x86.jar, C:\Users\Administrator\.m2\repository\org\antlr\stringtemplate\4.0.2\stringtemplate-4.0.2.jar, C:\Users\Administrator\.m2\repository\org\antlr\antlr-runtime\3.3\antlr-runtime-3.3.jar, C:\Users\Administrator\.m2\repository\org\piccolo2d\piccolo2d-extras\1.3.1\piccolo2d-extras-1.3.1.jar, C:\Users\Administrator\.m2\repository\org\piccolo2d\piccolo2d-core\1.3.1\piccolo2d-core-1.3.1.jar, C:\Users\Administrator\.m2\repository\com\jgoodies\looks\2.2.2\looks-2.2.2.jar, C:\Users\Administrator\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-server\7.6.14.v20131031\jetty-server-7.6.14.v20131031.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\orbit\javax.servlet\2.5.0.v201103041518\javax.servlet-2.5.0.v201103041518.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-continuation\7.6.14.v20131031\jetty-continuation-7.6.14.v20131031.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-http\7.6.14.v20131031\jetty-http-7.6.14.v20131031.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-io\7.6.14.v20131031\jetty-io-7.6.14.v20131031.jar, C:\Users\Administrator\.m2\repository\org\owasp\esapi\esapi\2.1.0\esapi-2.1.0.jar, C:\Users\Administrator\.m2\repository\commons-configuration\commons-configuration\1.5\commons-configuration-1.5.jar, C:\Users\Administrator\.m2\repository\org\beanshell\bsh-core\2.0b4\bsh-core-2.0b4.jar, C:\Users\Administrator\.m2\repository\org\owasp\antisamy\antisamy\1.4.3\antisamy-1.4.3.jar, C:\Users\Administrator\.m2\repository\org\apache\xmlgraphics\batik-css\1.7\batik-css-1.7.jar, C:\Users\Administrator\.m2\repository\org\apache\xmlgraphics\batik-util\1.7\batik-util-1.7.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-beans\3.2.10.RELEASE\spring-beans-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-core\3.2.10.RELEASE\spring-core-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-context\3.2.10.RELEASE\spring-context-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-aop\3.2.10.RELEASE\spring-aop-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-expression\3.2.10.RELEASE\spring-expression-3.2.10.RELEASE.jar, C:\Users\Administrator\.m2\repository\joda-time\joda-time\2.5\joda-time-2.5.jar, C:\Users\Administrator\.m2\repository\org\alfresco\share-po\5.0.d\share-po-5.0.d-tests.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-java\2.45.0-alfresco\selenium-java-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.45.0-alfresco\selenium-chrome-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.45.0-alfresco\selenium-remote-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar, C:\Users\Administrator\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-api\2.45.0-alfresco\selenium-api-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\com\google\guava\guava\18.0\guava-18.0.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-htmlunit-driver\2.45.0-alfresco\selenium-htmlunit-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\net\sourceforge\htmlunit\htmlunit\2.15\htmlunit-2.15.jar, C:\Users\Administrator\.m2\repository\xalan\xalan\2.7.2\xalan-2.7.2.jar, C:\Users\Administrator\.m2\repository\xalan\serializer\2.7.2\serializer-2.7.2.jar, C:\Users\Administrator\.m2\repository\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar, C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpmime\4.3.3\httpmime-4.3.3.jar, C:\Users\Administrator\.m2\repository\net\sourceforge\htmlunit\htmlunit-core-js\2.15\htmlunit-core-js-2.15.jar, C:\Users\Administrator\.m2\repository\xerces\xercesImpl\2.10.0-alfresco-patched\xercesImpl-2.10.0-alfresco-patched.jar, C:\Users\Administrator\.m2\repository\net\sourceforge\nekohtml\nekohtml\1.9.21\nekohtml-1.9.21.jar, C:\Users\Administrator\.m2\repository\net\sourceforge\cssparser\cssparser\0.9.14\cssparser-0.9.14.jar, C:\Users\Administrator\.m2\repository\org\w3c\css\sac\1.3\sac-1.3.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-websocket\8.1.15.v20140411\jetty-websocket-8.1.15.v20140411.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-util\8.1.15.v20140411\jetty-util-8.1.15.v20140411.jar, C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpclient\4.3.6\httpclient-4.3.6.jar, C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpcore\4.3.3\httpcore-4.3.3.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.45.0-alfresco\selenium-firefox-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.45.0-alfresco\selenium-ie-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\net\java\dev\jna\jna\3.4.0\jna-3.4.0.jar, C:\Users\Administrator\.m2\repository\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.45.0-alfresco\selenium-safari-driver-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-support\2.45.0-alfresco\selenium-support-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\webbitserver\webbit\0.4.14\webbit-0.4.14.jar, C:\Users\Administrator\.m2\repository\io\netty\netty\3.5.2.Final\netty-3.5.2.Final.jar, C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.45.0-alfresco\selenium-leg-rc-2.45.0-alfresco.jar, C:\Users\Administrator\.m2\repository\org\alfresco\test\alfresco-testng\1.1\alfresco-testng-1.1.jar, C:\Users\Administrator\.m2\repository\org\testng\testng\6.8.8\testng-6.8.8.jar, C:\Users\Administrator\.m2\repository\org\beanshell\bsh\2.0b4\bsh-2.0b4.jar, C:\Users\Administrator\.m2\repository\com\beust\jcommander\1.27\jcommander-1.27.jar, C:\Users\Administrator\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar, C:\Users\Administrator\.m2\repository\junit\junit\4.11\junit-4.11.jar, C:\Users\Administrator\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar, C:\Users\Administrator\.m2\repository\org\alfresco\maven\alfresco-rad\2.1.0\alfresco-rad-2.1.0.jar, C:\Users\Administrator\.m2\repository\com\tradeshift\junit-remote\3\junit-remote-3.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-servlet\7.4.0.v20110414\jetty-servlet-7.4.0.v20110414.jar, C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-security\7.4.0.v20110414\jetty-security-7.4.0.v20110414.jar, C:\Users\Administrator\.m2\repository\args4j\args4j\2.0.16\args4j-2.0.16.jar, C:\Users\Administrator\.m2\repository\org\springframework\spring-test\3.0.6.RELEASE\spring-test-3.0.6.RELEASE.jar] -[DEBUG] (f) compileSourceRoots = [C:\MMSWorkSpace\mms-ent\share-amp\src\test\java] -[DEBUG] (f) compilerId = javac -[DEBUG] (f) debug = true -[DEBUG] (f) encoding = UTF-8 -[DEBUG] (f) failOnError = true -[DEBUG] (f) forceJavacCompilerUse = false -[DEBUG] (f) fork = false -[DEBUG] (f) generatedTestSourcesDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\generated-test-sources\test-annotations -[DEBUG] (f) mojoExecution = org.apache.maven.plugins:maven-compiler-plugin:3.2:testCompile {execution: default-testCompile} -[DEBUG] (f) optimize = false -[DEBUG] (f) outputDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (f) session = org.apache.maven.execution.MavenSession@3ba46e63 -[DEBUG] (f) showDeprecation = false -[DEBUG] (f) showWarnings = false -[DEBUG] (f) skipMultiThreadWarning = false -[DEBUG] (f) source = 1.8 -[DEBUG] (f) staleMillis = 0 -[DEBUG] (f) target = 1.8 -[DEBUG] (f) useIncrementalCompilation = true -[DEBUG] (f) verbose = false -[DEBUG] -- end configuration -- -[DEBUG] Using compiler 'javac'. -[DEBUG] Source directories: [C:\MMSWorkSpace\mms-ent\share-amp\src\test\java] -[DEBUG] Classpath: [C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes - C:\MMSWorkSpace\mms-ent\share-amp\target\classes - C:\Users\Administrator\.m2\repository\org\alfresco\share\5.0.d\share-5.0.d-classes.jar - C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-web-framework-commons\5.0.d\alfresco-web-framework-commons-5.0.d-classes.jar - C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-jlan-embed\5.0.d\alfresco-jlan-embed-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\alfresco\alfresco-core\5.0.d\alfresco-core-5.0.d.jar - C:\Users\Administrator\.m2\repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar - C:\Users\Administrator\.m2\repository\commons-httpclient\commons-httpclient\3.1-HTTPCLIENT-1265\commons-httpclient-3.1-HTTPCLIENT-1265.jar - C:\Users\Administrator\.m2\repository\org\apache\commons\commons-math3\3.3\commons-math3-3.3.jar - C:\Users\Administrator\.m2\repository\org\safehaus\jug\jug\2.0.0\jug-2.0.0-asl.jar - C:\Users\Administrator\.m2\repository\org\json\json\20090211\json-20090211.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-orm\3.2.10.RELEASE\spring-orm-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-jdbc\3.2.10.RELEASE\spring-jdbc-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-tx\3.2.10.RELEASE\spring-tx-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-core-configservice\5.0.d\spring-surf-core-configservice-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-core\5.0.d\spring-surf-core-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-context-support\3.2.10.RELEASE\spring-context-support-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-web\3.2.10.RELEASE\spring-web-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\bind\jaxb-xjc\2.2.6\jaxb-xjc-2.2.6.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.6\jaxb-impl-2.2.6.jar - C:\Users\Administrator\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar - C:\Users\Administrator\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar - C:\Users\Administrator\.m2\repository\org\codehaus\guessencoding\guessencoding\1.0\guessencoding-1.0.jar - C:\Users\Administrator\.m2\repository\javax\transaction\jta\1.0.1b\jta-1.0.1b.jar - C:\Users\Administrator\.m2\repository\com\hazelcast\hazelcast\2.4\hazelcast-2.4.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-impl\0.11.0\chemistry-opencmis-client-impl-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-api\0.11.0\chemistry-opencmis-client-api-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-commons-api\0.11.0\chemistry-opencmis-commons-api-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-commons-impl\0.11.0\chemistry-opencmis-commons-impl-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\codehaus\woodstox\woodstox-core-asl\4.2.0\woodstox-core-asl-4.2.0.jar - C:\Users\Administrator\.m2\repository\javax\xml\stream\stax-api\1.0-2\stax-api-1.0-2.jar - C:\Users\Administrator\.m2\repository\org\codehaus\woodstox\stax2-api\3.1.1\stax2-api-3.1.1.jar - C:\Users\Administrator\.m2\repository\org\jvnet\mimepull\mimepull\1.9.4\mimepull-1.9.4.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\ws\jaxws-rt\2.1.7\jaxws-rt-2.1.7.jar - C:\Users\Administrator\.m2\repository\javax\xml\ws\jaxws-api\2.1\jaxws-api-2.1.jar - C:\Users\Administrator\.m2\repository\javax\xml\bind\jaxb-api\2.1\jaxb-api-2.1.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\messaging\saaj\saaj-impl\1.3.3\saaj-impl-1.3.3.jar - C:\Users\Administrator\.m2\repository\javax\xml\soap\saaj-api\1.3\saaj-api-1.3.jar - C:\Users\Administrator\.m2\repository\com\sun\xml\stream\buffer\streambuffer\0.9\streambuffer-0.9.jar - C:\Users\Administrator\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar - C:\Users\Administrator\.m2\repository\org\jvnet\staxex\stax-ex\1.2\stax-ex-1.2.jar - C:\Users\Administrator\.m2\repository\com\sun\org\apache\xml\internal\resolver\20050927\resolver-20050927.jar - C:\Users\Administrator\.m2\repository\org\apache\chemistry\opencmis\chemistry-opencmis-client-bindings\0.11.0\chemistry-opencmis-client-bindings-0.11.0.jar - C:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\1.7.7\slf4j-api-1.7.7.jar - C:\Users\Administrator\.m2\repository\org\alfresco\cmis\client\alfresco-opencmis-extension\1.0\alfresco-opencmis-extension-1.0.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-cmis-framework\5.0.d\spring-cmis-framework-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-webscripts\5.0.d\spring-webscripts-5.0.d.jar - C:\Users\Administrator\.m2\repository\commons-beanutils\commons-beanutils\1.9.2\commons-beanutils-1.9.2.jar - C:\Users\Administrator\.m2\repository\org\htmlparser\htmlparser\2.1\htmlparser-2.1.jar - C:\Users\Administrator\.m2\repository\org\htmlparser\htmllexer\2.1\htmllexer-2.1.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-webmvc\3.2.10.RELEASE\spring-webmvc-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\mozilla\rhino\1.7R4-alfresco-patched\rhino-1.7R4-alfresco-patched.jar - C:\Users\Administrator\.m2\repository\com\googlecode\json-simple\json-simple\1.1.1\json-simple-1.1.1.jar - C:\Users\Administrator\.m2\repository\org\tuckey\urlrewritefilter\4.0.4\urlrewritefilter-4.0.4.jar - C:\Users\Administrator\.m2\repository\commons-fileupload\commons-fileupload\1.3.1\commons-fileupload-1.3.1.jar - C:\Users\Administrator\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar - C:\Users\Administrator\.m2\repository\jaxen\jaxen\1.1.6\jaxen-1.1.6.jar - C:\Users\Administrator\.m2\repository\org\freemarker\freemarker\2.3.20-alfresco-patched\freemarker-2.3.20-alfresco-patched.jar - C:\Users\Administrator\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar - C:\Users\Administrator\.m2\repository\com\hazelcast\hazelcast-spring\2.4\hazelcast-spring-2.4.jar - C:\Users\Administrator\.m2\repository\javax\servlet\jstl\1.2\jstl-1.2.jar - C:\Users\Administrator\.m2\repository\org\apache\myfaces\core\myfaces-api\1.1.8\myfaces-api-1.1.8.jar - C:\Users\Administrator\.m2\repository\org\apache\myfaces\core\myfaces-impl\1.1.8\myfaces-impl-1.1.8.jar - C:\Users\Administrator\.m2\repository\commons-el\commons-el\1.0\commons-el-1.0.jar - C:\Users\Administrator\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar - C:\Users\Administrator\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar - C:\Users\Administrator\.m2\repository\commons-digester\commons-digester\2.1\commons-digester-2.1.jar - C:\Users\Administrator\.m2\repository\org\alfresco\aikau\1.0.8.1\aikau-1.0.8.1.jar - C:\Users\Administrator\.m2\repository\com\asual\lesscss\lesscss-engine\1.5.0\lesscss-engine-1.5.0.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf-api\5.0.d\spring-surf-api-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-surf\5.0.d\spring-surf-5.0.d.jar - C:\Users\Administrator\.m2\repository\com\yahoo\platform\yui\yuicompressor\2.4.8-alfresco-patched\yuicompressor-2.4.8-alfresco-patched.jar - C:\Users\Administrator\.m2\repository\com\googlecode\concurrentlinkedhashmap\concurrentlinkedhashmap-lru\1.2\concurrentlinkedhashmap-lru-1.2.jar - C:\Users\Administrator\.m2\repository\org\apache\maven\maven-artifact\3.0.3\maven-artifact-3.0.3.jar - C:\Users\Administrator\.m2\repository\org\codehaus\plexus\plexus-utils\2.0.6\plexus-utils-2.0.6.jar - C:\Users\Administrator\.m2\repository\org\springframework\extensions\surf\spring-webscripts-api\5.0.d\spring-webscripts-api-5.0.d.jar - C:\Users\Administrator\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar - C:\Users\Administrator\.m2\repository\org\alfresco\share-po\5.0.d\share-po-5.0.d.jar - C:\Users\Administrator\.m2\repository\org\alfresco\webdrone\2.7.3\webdrone-2.7.3.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-server\2.39.0\selenium-server-2.39.0.jar - C:\Users\Administrator\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.48\bcprov-jdk15on-1.48.jar - C:\Users\Administrator\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.48\bcpkix-jdk15on-1.48.jar - C:\Users\Administrator\.m2\repository\mx4j\mx4j-tools\3.0.1\mx4j-tools-3.0.1.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\jetty-repacked\7.6.1\jetty-repacked-7.6.1.jar - C:\Users\Administrator\.m2\repository\net\jcip\jcip-annotations\1.0\jcip-annotations-1.0.jar - C:\Users\Administrator\.m2\repository\org\yaml\snakeyaml\1.8\snakeyaml-1.8.jar - C:\Users\Administrator\.m2\repository\org\sikuli\sikuli-api\1.1.0\sikuli-api-1.1.0.jar - C:\Users\Administrator\.m2\repository\org\sikuli\sikuli-core\1.1.3\sikuli-core-1.1.3.jar - C:\Users\Administrator\.m2\repository\com\googlecode\javacpp\javacpp\0.1\javacpp-0.1.jar - C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1.jar - C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-macosx-x86_64.jar - C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-windows-x86.jar - C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-windows-x86_64.jar - C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-linux-x86_64.jar - C:\Users\Administrator\.m2\repository\com\googlecode\javacv\javacv\0.1\javacv-0.1-linux-x86.jar - C:\Users\Administrator\.m2\repository\org\antlr\stringtemplate\4.0.2\stringtemplate-4.0.2.jar - C:\Users\Administrator\.m2\repository\org\antlr\antlr-runtime\3.3\antlr-runtime-3.3.jar - C:\Users\Administrator\.m2\repository\org\piccolo2d\piccolo2d-extras\1.3.1\piccolo2d-extras-1.3.1.jar - C:\Users\Administrator\.m2\repository\org\piccolo2d\piccolo2d-core\1.3.1\piccolo2d-core-1.3.1.jar - C:\Users\Administrator\.m2\repository\com\jgoodies\looks\2.2.2\looks-2.2.2.jar - C:\Users\Administrator\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-server\7.6.14.v20131031\jetty-server-7.6.14.v20131031.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\orbit\javax.servlet\2.5.0.v201103041518\javax.servlet-2.5.0.v201103041518.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-continuation\7.6.14.v20131031\jetty-continuation-7.6.14.v20131031.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-http\7.6.14.v20131031\jetty-http-7.6.14.v20131031.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-io\7.6.14.v20131031\jetty-io-7.6.14.v20131031.jar - C:\Users\Administrator\.m2\repository\org\owasp\esapi\esapi\2.1.0\esapi-2.1.0.jar - C:\Users\Administrator\.m2\repository\commons-configuration\commons-configuration\1.5\commons-configuration-1.5.jar - C:\Users\Administrator\.m2\repository\org\beanshell\bsh-core\2.0b4\bsh-core-2.0b4.jar - C:\Users\Administrator\.m2\repository\org\owasp\antisamy\antisamy\1.4.3\antisamy-1.4.3.jar - C:\Users\Administrator\.m2\repository\org\apache\xmlgraphics\batik-css\1.7\batik-css-1.7.jar - C:\Users\Administrator\.m2\repository\org\apache\xmlgraphics\batik-util\1.7\batik-util-1.7.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-beans\3.2.10.RELEASE\spring-beans-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-core\3.2.10.RELEASE\spring-core-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-context\3.2.10.RELEASE\spring-context-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-aop\3.2.10.RELEASE\spring-aop-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-expression\3.2.10.RELEASE\spring-expression-3.2.10.RELEASE.jar - C:\Users\Administrator\.m2\repository\joda-time\joda-time\2.5\joda-time-2.5.jar - C:\Users\Administrator\.m2\repository\org\alfresco\share-po\5.0.d\share-po-5.0.d-tests.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-java\2.45.0-alfresco\selenium-java-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\2.45.0-alfresco\selenium-chrome-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\2.45.0-alfresco\selenium-remote-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar - C:\Users\Administrator\.m2\repository\com\google\code\gson\gson\2.3.1\gson-2.3.1.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-api\2.45.0-alfresco\selenium-api-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\com\google\guava\guava\18.0\guava-18.0.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-htmlunit-driver\2.45.0-alfresco\selenium-htmlunit-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\net\sourceforge\htmlunit\htmlunit\2.15\htmlunit-2.15.jar - C:\Users\Administrator\.m2\repository\xalan\xalan\2.7.2\xalan-2.7.2.jar - C:\Users\Administrator\.m2\repository\xalan\serializer\2.7.2\serializer-2.7.2.jar - C:\Users\Administrator\.m2\repository\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar - C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpmime\4.3.3\httpmime-4.3.3.jar - C:\Users\Administrator\.m2\repository\net\sourceforge\htmlunit\htmlunit-core-js\2.15\htmlunit-core-js-2.15.jar - C:\Users\Administrator\.m2\repository\xerces\xercesImpl\2.10.0-alfresco-patched\xercesImpl-2.10.0-alfresco-patched.jar - C:\Users\Administrator\.m2\repository\net\sourceforge\nekohtml\nekohtml\1.9.21\nekohtml-1.9.21.jar - C:\Users\Administrator\.m2\repository\net\sourceforge\cssparser\cssparser\0.9.14\cssparser-0.9.14.jar - C:\Users\Administrator\.m2\repository\org\w3c\css\sac\1.3\sac-1.3.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-websocket\8.1.15.v20140411\jetty-websocket-8.1.15.v20140411.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-util\8.1.15.v20140411\jetty-util-8.1.15.v20140411.jar - C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpclient\4.3.6\httpclient-4.3.6.jar - C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpcore\4.3.3\httpcore-4.3.3.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\2.45.0-alfresco\selenium-firefox-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\2.45.0-alfresco\selenium-ie-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\net\java\dev\jna\jna\3.4.0\jna-3.4.0.jar - C:\Users\Administrator\.m2\repository\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\2.45.0-alfresco\selenium-safari-driver-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-support\2.45.0-alfresco\selenium-support-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\webbitserver\webbit\0.4.14\webbit-0.4.14.jar - C:\Users\Administrator\.m2\repository\io\netty\netty\3.5.2.Final\netty-3.5.2.Final.jar - C:\Users\Administrator\.m2\repository\org\seleniumhq\selenium\selenium-leg-rc\2.45.0-alfresco\selenium-leg-rc-2.45.0-alfresco.jar - C:\Users\Administrator\.m2\repository\org\alfresco\test\alfresco-testng\1.1\alfresco-testng-1.1.jar - C:\Users\Administrator\.m2\repository\org\testng\testng\6.8.8\testng-6.8.8.jar - C:\Users\Administrator\.m2\repository\org\beanshell\bsh\2.0b4\bsh-2.0b4.jar - C:\Users\Administrator\.m2\repository\com\beust\jcommander\1.27\jcommander-1.27.jar - C:\Users\Administrator\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar - C:\Users\Administrator\.m2\repository\junit\junit\4.11\junit-4.11.jar - C:\Users\Administrator\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar - C:\Users\Administrator\.m2\repository\org\alfresco\maven\alfresco-rad\2.1.0\alfresco-rad-2.1.0.jar - C:\Users\Administrator\.m2\repository\com\tradeshift\junit-remote\3\junit-remote-3.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-servlet\7.4.0.v20110414\jetty-servlet-7.4.0.v20110414.jar - C:\Users\Administrator\.m2\repository\org\eclipse\jetty\jetty-security\7.4.0.v20110414\jetty-security-7.4.0.v20110414.jar - C:\Users\Administrator\.m2\repository\args4j\args4j\2.0.16\args4j-2.0.16.jar - C:\Users\Administrator\.m2\repository\org\springframework\spring-test\3.0.6.RELEASE\spring-test-3.0.6.RELEASE.jar] -[DEBUG] Output directory: C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes -[DEBUG] Adding C:\MMSWorkSpace\mms-ent\share-amp\target\generated-test-sources\test-annotations to test-compile source roots: - C:\MMSWorkSpace\mms-ent\share-amp\src\test\java -[DEBUG] New test-compile source roots: - C:\MMSWorkSpace\mms-ent\share-amp\src\test\java - C:\MMSWorkSpace\mms-ent\share-amp\target\generated-test-sources\test-annotations -[DEBUG] CompilerReuseStrategy: reuseCreated -[DEBUG] useIncrementalCompilation enabled -[INFO] Nothing to compile - all classes are up to date -[INFO] -[INFO] --- maven-surefire-plugin:2.18:test (default-test) @ share-amp --- -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=112, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=33, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=79, DefaultDependencyCollector.collectTime=16, DefaultDependencyCollector.transformTime=0} -[DEBUG] org.apache.maven.plugins:maven-surefire-plugin:jar:2.18: -[DEBUG] org.apache.maven:maven-plugin-api:jar:2.2.1:compile -[DEBUG] org.apache.maven.surefire:maven-surefire-common:jar:2.18:compile -[DEBUG] org.apache.maven.surefire:surefire-booter:jar:2.18:compile -[DEBUG] org.apache.maven:maven-artifact:jar:2.2.1:compile -[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.5.15:compile -[DEBUG] org.apache.maven:maven-plugin-descriptor:jar:2.2.1:compile -[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile -[DEBUG] junit:junit:jar:3.8.1:test -[DEBUG] org.apache.maven:maven-project:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-settings:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-profile:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-artifact-manager:jar:2.2.1:compile -[DEBUG] backport-util-concurrent:backport-util-concurrent:jar:3.1:compile -[DEBUG] org.apache.maven:maven-plugin-registry:jar:2.2.1:compile -[DEBUG] org.codehaus.plexus:plexus-interpolation:jar:1.11:compile -[DEBUG] org.apache.maven:maven-model:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-core:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-plugin-parameter-documenter:jar:2.2.1:compile -[DEBUG] org.slf4j:slf4j-jdk14:jar:1.5.6:runtime -[DEBUG] org.slf4j:slf4j-api:jar:1.5.6:runtime -[DEBUG] org.slf4j:jcl-over-slf4j:jar:1.5.6:runtime -[DEBUG] org.apache.maven.reporting:maven-reporting-api:jar:3.0:compile -[DEBUG] org.apache.maven:maven-repository-metadata:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-error-diagnostics:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-monitor:jar:2.2.1:compile -[DEBUG] classworlds:classworlds:jar:1.1:compile -[DEBUG] org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile -[DEBUG] org.sonatype.plexus:plexus-cipher:jar:1.4:compile -[DEBUG] org.apache.commons:commons-lang3:jar:3.1:compile -[DEBUG] org.apache.maven.surefire:surefire-api:jar:2.18:compile -[DEBUG] org.apache.maven:maven-toolchain:jar:2.2.1:compile -[DEBUG] org.apache.maven.plugin-tools:maven-plugin-annotations:jar:3.3:compile -[DEBUG] Created new class realm plugin>org.apache.maven.plugins:maven-surefire-plugin:2.18 -[DEBUG] Importing foreign packages into class realm plugin>org.apache.maven.plugins:maven-surefire-plugin:2.18 -[DEBUG] Imported: < project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT -[DEBUG] Populating class realm plugin>org.apache.maven.plugins:maven-surefire-plugin:2.18 -[DEBUG] Included: org.apache.maven.plugins:maven-surefire-plugin:jar:2.18 -[DEBUG] Included: org.apache.maven.surefire:maven-surefire-common:jar:2.18 -[DEBUG] Included: org.apache.maven.surefire:surefire-booter:jar:2.18 -[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:1.5.15 -[DEBUG] Included: backport-util-concurrent:backport-util-concurrent:jar:3.1 -[DEBUG] Included: org.codehaus.plexus:plexus-interpolation:jar:1.11 -[DEBUG] Included: org.slf4j:slf4j-jdk14:jar:1.5.6 -[DEBUG] Included: org.slf4j:slf4j-api:jar:1.5.6 -[DEBUG] Included: org.slf4j:jcl-over-slf4j:jar:1.5.6 -[DEBUG] Included: org.apache.maven.reporting:maven-reporting-api:jar:3.0 -[DEBUG] Included: org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3 -[DEBUG] Included: org.sonatype.plexus:plexus-cipher:jar:1.4 -[DEBUG] Included: org.apache.commons:commons-lang3:jar:3.1 -[DEBUG] Included: org.apache.maven.surefire:surefire-api:jar:2.18 -[DEBUG] Included: org.apache.maven.plugin-tools:maven-plugin-annotations:jar:3.3 -[DEBUG] Excluded: org.apache.maven:maven-plugin-api:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-artifact:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-plugin-descriptor:jar:2.2.1 -[DEBUG] Excluded: org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 -[DEBUG] Excluded: junit:junit:jar:3.8.1 -[DEBUG] Excluded: org.apache.maven:maven-project:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-settings:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-profile:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-artifact-manager:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-plugin-registry:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-model:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-core:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-plugin-parameter-documenter:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-repository-metadata:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-error-diagnostics:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-monitor:jar:2.2.1 -[DEBUG] Excluded: classworlds:classworlds:jar:1.1 -[DEBUG] Excluded: org.apache.maven:maven-toolchain:jar:2.2.1 -[DEBUG] Configuring mojo org.apache.maven.plugins:maven-surefire-plugin:2.18:test from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-surefire-plugin:2.18, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-surefire-plugin:2.18:test' with basic configurator --> -[DEBUG] (s) additionalClasspathElements = [] -[DEBUG] (s) argLine = -Xms256m -Xmx1524m -XX:MaxPermSize=256m -Duser.language=en -[DEBUG] (s) basedir = C:\MMSWorkSpace\mms-ent\share-amp -[DEBUG] (s) childDelegation = false -[DEBUG] (s) classesDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\classes -[DEBUG] (s) classpathDependencyExcludes = [] -[DEBUG] (s) dependenciesToScan = [] -[DEBUG] (s) disableXmlReport = false -[DEBUG] (s) enableAssertions = true -[DEBUG] (f) forkCount = 1 -[DEBUG] (s) forkMode = once -[DEBUG] (s) junitArtifactName = junit:junit -[DEBUG] (s) localRepository = id: local - url: file:///C:/Users/Administrator/.m2/repository/ - layout: default -snapshots: [enabled => true, update => always] - releases: [enabled => true, update => always] - -[DEBUG] (f) parallelMavenExecution = false -[DEBUG] (s) parallelOptimized = true -[DEBUG] (s) perCoreThreadCount = true -[DEBUG] (s) pluginArtifactMap = {org.apache.maven.plugins:maven-surefire-plugin=org.apache.maven.plugins:maven-surefire-plugin:maven-plugin:2.18:, org.apache.maven.surefire:maven-surefire-common=org.apache.maven.surefire:maven-surefire-common:jar:2.18:compile, org.apache.maven.surefire:surefire-booter=org.apache.maven.surefire:surefire-booter:jar:2.18:compile, org.codehaus.plexus:plexus-utils=org.codehaus.plexus:plexus-utils:jar:1.5.15:compile, backport-util-concurrent:backport-util-concurrent=backport-util-concurrent:backport-util-concurrent:jar:3.1:compile, org.codehaus.plexus:plexus-interpolation=org.codehaus.plexus:plexus-interpolation:jar:1.11:compile, org.slf4j:slf4j-jdk14=org.slf4j:slf4j-jdk14:jar:1.5.6:runtime, org.slf4j:slf4j-api=org.slf4j:slf4j-api:jar:1.5.6:runtime, org.slf4j:jcl-over-slf4j=org.slf4j:jcl-over-slf4j:jar:1.5.6:runtime, org.apache.maven.reporting:maven-reporting-api=org.apache.maven.reporting:maven-reporting-api:jar:3.0:compile, org.sonatype.plexus:plexus-sec-dispatcher=org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile, org.sonatype.plexus:plexus-cipher=org.sonatype.plexus:plexus-cipher:jar:1.4:compile, org.apache.commons:commons-lang3=org.apache.commons:commons-lang3:jar:3.1:compile, org.apache.maven.surefire:surefire-api=org.apache.maven.surefire:surefire-api:jar:2.18:compile, org.apache.maven.plugin-tools:maven-plugin-annotations=org.apache.maven.plugin-tools:maven-plugin-annotations:jar:3.3:compile} -[DEBUG] (f) pluginDescriptor = Component Descriptor: role: 'org.apache.maven.plugin.Mojo', implementation: 'org.apache.maven.plugin.surefire.HelpMojo', role hint: 'org.apache.maven.plugins:maven-surefire-plugin:2.18:help' -role: 'org.apache.maven.plugin.Mojo', implementation: 'org.apache.maven.plugin.surefire.SurefirePlugin', role hint: 'org.apache.maven.plugins:maven-surefire-plugin:2.18:test' ---- -[DEBUG] (s) printSummary = true -[DEBUG] (s) projectArtifactMap = {org.alfresco:share=org.alfresco:share:jar:classes:5.0.d:provided, org.alfresco:alfresco-web-framework-commons=org.alfresco:alfresco-web-framework-commons:jar:classes:5.0.d:provided, org.alfresco:alfresco-jlan-embed=org.alfresco:alfresco-jlan-embed:jar:5.0.d:provided, org.alfresco:alfresco-core=org.alfresco:alfresco-core:jar:5.0.d:provided, commons-codec:commons-codec=commons-codec:commons-codec:jar:1.10:compile, commons-httpclient:commons-httpclient=commons-httpclient:commons-httpclient:jar:3.1-HTTPCLIENT-1265:provided, org.apache.commons:commons-math3=org.apache.commons:commons-math3:jar:3.3:provided, org.safehaus.jug:jug=org.safehaus.jug:jug:jar:asl:2.0.0:provided, org.json:json=org.json:json:jar:20090211:provided, org.springframework:spring-orm=org.springframework:spring-orm:jar:3.2.10.RELEASE:provided, org.springframework:spring-jdbc=org.springframework:spring-jdbc:jar:3.2.10.RELEASE:provided, org.springframework:spring-tx=org.springframework:spring-tx:jar:3.2.10.RELEASE:provided, org.springframework.extensions.surf:spring-surf-core-configservice=org.springframework.extensions.surf:spring-surf-core-configservice:jar:5.0.d:provided, org.springframework.extensions.surf:spring-surf-core=org.springframework.extensions.surf:spring-surf-core:jar:5.0.d:provided, org.springframework:spring-context-support=org.springframework:spring-context-support:jar:3.2.10.RELEASE:provided, org.springframework:spring-web=org.springframework:spring-web:jar:3.2.10.RELEASE:provided, com.sun.xml.bind:jaxb-xjc=com.sun.xml.bind:jaxb-xjc:jar:2.2.6:provided, com.sun.xml.bind:jaxb-impl=com.sun.xml.bind:jaxb-impl:jar:2.2.6:provided, dom4j:dom4j=dom4j:dom4j:jar:1.6.1:provided, xml-apis:xml-apis=xml-apis:xml-apis:jar:1.4.01:compile, org.codehaus.guessencoding:guessencoding=org.codehaus.guessencoding:guessencoding:jar:1.0:provided, javax.transaction:jta=javax.transaction:jta:jar:1.0.1b:provided, com.hazelcast:hazelcast=com.hazelcast:hazelcast:jar:2.4:provided, org.apache.chemistry.opencmis:chemistry-opencmis-client-impl=org.apache.chemistry.opencmis:chemistry-opencmis-client-impl:jar:0.11.0:provided, org.apache.chemistry.opencmis:chemistry-opencmis-client-api=org.apache.chemistry.opencmis:chemistry-opencmis-client-api:jar:0.11.0:provided, org.apache.chemistry.opencmis:chemistry-opencmis-commons-api=org.apache.chemistry.opencmis:chemistry-opencmis-commons-api:jar:0.11.0:provided, org.apache.chemistry.opencmis:chemistry-opencmis-commons-impl=org.apache.chemistry.opencmis:chemistry-opencmis-commons-impl:jar:0.11.0:provided, org.codehaus.woodstox:woodstox-core-asl=org.codehaus.woodstox:woodstox-core-asl:jar:4.2.0:provided, javax.xml.stream:stax-api=javax.xml.stream:stax-api:jar:1.0-2:provided, org.codehaus.woodstox:stax2-api=org.codehaus.woodstox:stax2-api:jar:3.1.1:provided, org.jvnet.mimepull:mimepull=org.jvnet.mimepull:mimepull:jar:1.9.4:provided, com.sun.xml.ws:jaxws-rt=com.sun.xml.ws:jaxws-rt:jar:2.1.7:provided, javax.xml.ws:jaxws-api=javax.xml.ws:jaxws-api:jar:2.1:provided, javax.xml.bind:jaxb-api=javax.xml.bind:jaxb-api:jar:2.1:provided, com.sun.xml.messaging.saaj:saaj-impl=com.sun.xml.messaging.saaj:saaj-impl:jar:1.3.3:provided, javax.xml.soap:saaj-api=javax.xml.soap:saaj-api:jar:1.3:provided, com.sun.xml.stream.buffer:streambuffer=com.sun.xml.stream.buffer:streambuffer:jar:0.9:provided, javax.activation:activation=javax.activation:activation:jar:1.1:provided, org.jvnet.staxex:stax-ex=org.jvnet.staxex:stax-ex:jar:1.2:provided, com.sun.org.apache.xml.internal:resolver=com.sun.org.apache.xml.internal:resolver:jar:20050927:provided, org.apache.chemistry.opencmis:chemistry-opencmis-client-bindings=org.apache.chemistry.opencmis:chemistry-opencmis-client-bindings:jar:0.11.0:provided, org.slf4j:slf4j-api=org.slf4j:slf4j-api:jar:1.7.7:provided, org.alfresco.cmis.client:alfresco-opencmis-extension=org.alfresco.cmis.client:alfresco-opencmis-extension:jar:1.0:provided, org.springframework.extensions.surf:spring-cmis-framework=org.springframework.extensions.surf:spring-cmis-framework:jar:5.0.d:provided, org.springframework.extensions.surf:spring-webscripts=org.springframework.extensions.surf:spring-webscripts:jar:5.0.d:provided, commons-beanutils:commons-beanutils=commons-beanutils:commons-beanutils:jar:1.9.2:provided, org.htmlparser:htmlparser=org.htmlparser:htmlparser:jar:2.1:provided, org.htmlparser:htmllexer=org.htmlparser:htmllexer:jar:2.1:provided, org.springframework:spring-webmvc=org.springframework:spring-webmvc:jar:3.2.10.RELEASE:provided, org.mozilla:rhino=org.mozilla:rhino:jar:1.7R4-alfresco-patched:provided, com.googlecode.json-simple:json-simple=com.googlecode.json-simple:json-simple:jar:1.1.1:provided, org.tuckey:urlrewritefilter=org.tuckey:urlrewritefilter:jar:4.0.4:provided, commons-fileupload:commons-fileupload=commons-fileupload:commons-fileupload:jar:1.3.1:provided, commons-io:commons-io=commons-io:commons-io:jar:2.4:compile, jaxen:jaxen=jaxen:jaxen:jar:1.1.6:provided, org.freemarker:freemarker=org.freemarker:freemarker:jar:2.3.20-alfresco-patched:provided, stax:stax-api=stax:stax-api:jar:1.0.1:provided, com.hazelcast:hazelcast-spring=com.hazelcast:hazelcast-spring:jar:2.4:provided, javax.servlet:jstl=javax.servlet:jstl:jar:1.2:provided, org.apache.myfaces.core:myfaces-api=org.apache.myfaces.core:myfaces-api:jar:1.1.8:provided, org.apache.myfaces.core:myfaces-impl=org.apache.myfaces.core:myfaces-impl:jar:1.1.8:provided, commons-el:commons-el=commons-el:commons-el:jar:1.0:provided, commons-lang:commons-lang=commons-lang:commons-lang:jar:2.6:provided, commons-collections:commons-collections=commons-collections:commons-collections:jar:3.2.1:compile, commons-digester:commons-digester=commons-digester:commons-digester:jar:2.1:provided, org.alfresco:aikau=org.alfresco:aikau:jar:1.0.8.1:provided, com.yahoo.platform.yui:yui=com.yahoo.platform.yui:yui:zip:2.9.0-alfresco-20141223:provided, com.asual.lesscss:lesscss-engine=com.asual.lesscss:lesscss-engine:jar:1.5.0:provided, org.springframework.extensions.surf:spring-surf-api=org.springframework.extensions.surf:spring-surf-api:jar:5.0.d:provided, org.springframework.extensions.surf:spring-surf=org.springframework.extensions.surf:spring-surf:jar:5.0.d:provided, com.yahoo.platform.yui:yuicompressor=com.yahoo.platform.yui:yuicompressor:jar:2.4.8-alfresco-patched:provided, com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru=com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.2:provided, org.apache.maven:maven-artifact=org.apache.maven:maven-artifact:jar:3.0.3:provided, org.codehaus.plexus:plexus-utils=org.codehaus.plexus:plexus-utils:jar:2.0.6:provided, org.springframework.extensions.surf:spring-webscripts-api=org.springframework.extensions.surf:spring-webscripts-api:jar:5.0.d:provided, javax.servlet:servlet-api=javax.servlet:servlet-api:jar:2.5:provided, org.alfresco:share-po=org.alfresco:share-po:jar:tests:5.0.d:test, org.alfresco:webdrone=org.alfresco:webdrone:jar:2.7.3:test, org.seleniumhq.selenium:selenium-server=org.seleniumhq.selenium:selenium-server:jar:2.39.0:test, org.bouncycastle:bcprov-jdk15on=org.bouncycastle:bcprov-jdk15on:jar:1.48:test, org.bouncycastle:bcpkix-jdk15on=org.bouncycastle:bcpkix-jdk15on:jar:1.48:test, mx4j:mx4j-tools=mx4j:mx4j-tools:jar:3.0.1:test, org.seleniumhq.selenium:jetty-repacked=org.seleniumhq.selenium:jetty-repacked:jar:7.6.1:test, net.jcip:jcip-annotations=net.jcip:jcip-annotations:jar:1.0:test, org.yaml:snakeyaml=org.yaml:snakeyaml:jar:1.8:test, org.sikuli:sikuli-api=org.sikuli:sikuli-api:jar:1.1.0:test, org.sikuli:sikuli-core=org.sikuli:sikuli-core:jar:1.1.3:test, com.googlecode.javacpp:javacpp=com.googlecode.javacpp:javacpp:jar:0.1:test, com.googlecode.javacv:javacv=com.googlecode.javacv:javacv:jar:linux-x86:0.1:test, org.antlr:stringtemplate=org.antlr:stringtemplate:jar:4.0.2:test, org.antlr:antlr-runtime=org.antlr:antlr-runtime:jar:3.3:test, org.piccolo2d:piccolo2d-extras=org.piccolo2d:piccolo2d-extras:jar:1.3.1:test, org.piccolo2d:piccolo2d-core=org.piccolo2d:piccolo2d-core:jar:1.3.1:test, com.jgoodies:looks=com.jgoodies:looks:jar:2.2.2:test, log4j:log4j=log4j:log4j:jar:1.2.17:provided, org.eclipse.jetty:jetty-server=org.eclipse.jetty:jetty-server:jar:7.6.14.v20131031:test, org.eclipse.jetty.orbit:javax.servlet=org.eclipse.jetty.orbit:javax.servlet:jar:2.5.0.v201103041518:test, org.eclipse.jetty:jetty-continuation=org.eclipse.jetty:jetty-continuation:jar:7.6.14.v20131031:test, org.eclipse.jetty:jetty-http=org.eclipse.jetty:jetty-http:jar:7.6.14.v20131031:compile, org.eclipse.jetty:jetty-io=org.eclipse.jetty:jetty-io:jar:7.6.14.v20131031:compile, org.owasp.esapi:esapi=org.owasp.esapi:esapi:jar:2.1.0:test, commons-configuration:commons-configuration=commons-configuration:commons-configuration:jar:1.5:test, org.beanshell:bsh-core=org.beanshell:bsh-core:jar:2.0b4:test, org.owasp.antisamy:antisamy=org.owasp.antisamy:antisamy:jar:1.4.3:test, org.apache.xmlgraphics:batik-css=org.apache.xmlgraphics:batik-css:jar:1.7:test, org.apache.xmlgraphics:batik-util=org.apache.xmlgraphics:batik-util:jar:1.7:test, org.springframework:spring-beans=org.springframework:spring-beans:jar:3.2.10.RELEASE:provided, org.springframework:spring-core=org.springframework:spring-core:jar:3.2.10.RELEASE:provided, org.springframework:spring-context=org.springframework:spring-context:jar:3.2.10.RELEASE:provided, org.springframework:spring-aop=org.springframework:spring-aop:jar:3.2.10.RELEASE:provided, aopalliance:aopalliance=aopalliance:aopalliance:jar:1.0:provided, org.springframework:spring-expression=org.springframework:spring-expression:jar:3.2.10.RELEASE:provided, joda-time:joda-time=joda-time:joda-time:jar:2.5:provided, org.seleniumhq.selenium:selenium-java=org.seleniumhq.selenium:selenium-java:jar:2.45.0-alfresco:compile, org.seleniumhq.selenium:selenium-chrome-driver=org.seleniumhq.selenium:selenium-chrome-driver:jar:2.45.0-alfresco:compile, org.seleniumhq.selenium:selenium-remote-driver=org.seleniumhq.selenium:selenium-remote-driver:jar:2.45.0-alfresco:compile, cglib:cglib-nodep=cglib:cglib-nodep:jar:2.1_3:compile, com.google.code.gson:gson=com.google.code.gson:gson:jar:2.3.1:compile, org.seleniumhq.selenium:selenium-api=org.seleniumhq.selenium:selenium-api:jar:2.45.0-alfresco:compile, com.google.guava:guava=com.google.guava:guava:jar:18.0:compile, org.seleniumhq.selenium:selenium-htmlunit-driver=org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.45.0-alfresco:compile, net.sourceforge.htmlunit:htmlunit=net.sourceforge.htmlunit:htmlunit:jar:2.15:compile, xalan:xalan=xalan:xalan:jar:2.7.2:compile, xalan:serializer=xalan:serializer:jar:2.7.2:compile, org.apache.commons:commons-lang3=org.apache.commons:commons-lang3:jar:3.3.2:compile, org.apache.httpcomponents:httpmime=org.apache.httpcomponents:httpmime:jar:4.3.3:compile, net.sourceforge.htmlunit:htmlunit-core-js=net.sourceforge.htmlunit:htmlunit-core-js:jar:2.15:compile, xerces:xercesImpl=xerces:xercesImpl:jar:2.10.0-alfresco-patched:compile, net.sourceforge.nekohtml:nekohtml=net.sourceforge.nekohtml:nekohtml:jar:1.9.21:compile, net.sourceforge.cssparser:cssparser=net.sourceforge.cssparser:cssparser:jar:0.9.14:compile, org.w3c.css:sac=org.w3c.css:sac:jar:1.3:compile, org.eclipse.jetty:jetty-websocket=org.eclipse.jetty:jetty-websocket:jar:8.1.15.v20140411:compile, org.eclipse.jetty:jetty-util=org.eclipse.jetty:jetty-util:jar:8.1.15.v20140411:compile, org.apache.httpcomponents:httpclient=org.apache.httpcomponents:httpclient:jar:4.3.6:compile, org.apache.httpcomponents:httpcore=org.apache.httpcomponents:httpcore:jar:4.3.3:compile, org.seleniumhq.selenium:selenium-firefox-driver=org.seleniumhq.selenium:selenium-firefox-driver:jar:2.45.0-alfresco:compile, org.apache.commons:commons-exec=org.apache.commons:commons-exec:jar:1.3:compile, org.seleniumhq.selenium:selenium-ie-driver=org.seleniumhq.selenium:selenium-ie-driver:jar:2.45.0-alfresco:compile, net.java.dev.jna:jna=net.java.dev.jna:jna:jar:3.4.0:compile, net.java.dev.jna:platform=net.java.dev.jna:platform:jar:3.4.0:compile, org.seleniumhq.selenium:selenium-safari-driver=org.seleniumhq.selenium:selenium-safari-driver:jar:2.45.0-alfresco:compile, org.seleniumhq.selenium:selenium-support=org.seleniumhq.selenium:selenium-support:jar:2.45.0-alfresco:compile, org.webbitserver:webbit=org.webbitserver:webbit:jar:0.4.14:compile, io.netty:netty=io.netty:netty:jar:3.5.2.Final:compile, org.seleniumhq.selenium:selenium-leg-rc=org.seleniumhq.selenium:selenium-leg-rc:jar:2.45.0-alfresco:compile, org.alfresco.test:alfresco-testng=org.alfresco.test:alfresco-testng:jar:1.1:test, org.testng:testng=org.testng:testng:jar:6.8.8:test, org.beanshell:bsh=org.beanshell:bsh:jar:2.0b4:test, com.beust:jcommander=com.beust:jcommander:jar:1.27:test, commons-logging:commons-logging=commons-logging:commons-logging:jar:1.2:compile, junit:junit=junit:junit:jar:4.11:test, org.hamcrest:hamcrest-core=org.hamcrest:hamcrest-core:jar:1.3:test, org.alfresco.maven:alfresco-rad=org.alfresco.maven:alfresco-rad:jar:2.1.0:test, com.tradeshift:junit-remote=com.tradeshift:junit-remote:jar:3:test, org.eclipse.jetty:jetty-servlet=org.eclipse.jetty:jetty-servlet:jar:7.4.0.v20110414:test, org.eclipse.jetty:jetty-security=org.eclipse.jetty:jetty-security:jar:7.4.0.v20110414:test, args4j:args4j=args4j:args4j:jar:2.0.16:test, org.springframework:spring-test=org.springframework:spring-test:jar:3.0.6.RELEASE:test} -[DEBUG] (s) redirectTestOutputToFile = false -[DEBUG] (s) remoteRepositories = [ id: sonatype-public - url: http://oss.sonatype.org/content/groups/public - layout: default -snapshots: [enabled => true, update => daily] - releases: [enabled => true, update => daily] -, id: sonatype-snapshots - url: https://oss.sonatype.org/content/repositories/snapshots - layout: default -snapshots: [enabled => true, update => daily] - releases: [enabled => true, update => daily] -, id: alfresco-plugin-public - url: https://artifacts.alfresco.com/nexus/content/groups/public - layout: default -snapshots: [enabled => true, update => daily] - releases: [enabled => true, update => daily] -, id: alfresco-plugin-public-snapshots - url: https://artifacts.alfresco.com/nexus/content/groups/public-snapshots - layout: default -snapshots: [enabled => true, update => daily] - releases: [enabled => true, update => daily] -, id: central - url: https://repo.maven.apache.org/maven2 - layout: default -snapshots: [enabled => false, update => daily] - releases: [enabled => true, update => never] -] -[DEBUG] (s) reportFormat = brief -[DEBUG] (s) reportsDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\surefire-reports -[DEBUG] (f) rerunFailingTestsCount = 0 -[DEBUG] (f) reuseForks = true -[DEBUG] (s) runOrder = filesystem -[DEBUG] (s) skip = false -[DEBUG] (s) skipTests = false -[DEBUG] (s) testClassesDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\test-classes -[DEBUG] (s) testFailureIgnore = false -[DEBUG] (s) testNGArtifactName = org.testng:testng -[DEBUG] (s) testSourceDirectory = C:\MMSWorkSpace\mms-ent\share-amp\src\test\java -[DEBUG] (s) threadCountClasses = 0 -[DEBUG] (s) threadCountMethods = 0 -[DEBUG] (s) threadCountSuites = 0 -[DEBUG] (s) trimStackTrace = true -[DEBUG] (s) useFile = true -[DEBUG] (s) useManifestOnlyJar = true -[DEBUG] (s) useSystemClassLoader = true -[DEBUG] (s) useUnlimitedThreads = false -[DEBUG] (s) workingDirectory = C:\MMSWorkSpace\mms-ent\share-amp -[DEBUG] (s) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (s) session = org.apache.maven.execution.MavenSession@3ba46e63 -[DEBUG] -- end configuration -- -[INFO] -[INFO] --- alfresco-maven-plugin:2.1.0:amp (default-amp) @ share-amp --- -[DEBUG] Configuring mojo org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:amp from plugin realm ClassRealm[plugin>org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:amp' with basic configurator --> -[DEBUG] (f) ampBuildDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\share-amp -[DEBUG] (f) ampFinalDir = C:\MMSWorkSpace\mms-ent\share-amp\target -[DEBUG] (f) ampFinalName = share-amp -[DEBUG] (f) attachClasses = false -[DEBUG] (f) attachConfig = false -[DEBUG] (f) classesDirectory = C:\MMSWorkSpace\mms-ent\share-amp\target\classes -[DEBUG] (f) includeDependencies = true -[DEBUG] (f) includeWebResources = true -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (f) session = org.apache.maven.execution.MavenSession@3ba46e63 -[DEBUG] -- end configuration -- -[INFO] Building jar: C:\MMSWorkSpace\mms-ent\share-amp\target\share-amp\lib\share-amp.jar -[INFO] Adding directory to AMP package [ 'C:\MMSWorkSpace\mms-ent\share-amp\target\share-amp' ''] -[INFO] Building amp: C:\MMSWorkSpace\mms-ent\share-amp\target\share-amp.amp -[INFO] -[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ share-amp --- -[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=0, ConflictMarker.markTime=0, ConflictMarker.nodeCount=40, ConflictIdSorter.graphTime=0, ConflictIdSorter.topsortTime=0, ConflictIdSorter.conflictIdCount=19, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=0, ConflictResolver.conflictItemCount=40, DefaultDependencyCollector.collectTime=16, DefaultDependencyCollector.transformTime=0} -[DEBUG] org.apache.maven.plugins:maven-install-plugin:jar:2.5.2: -[DEBUG] org.apache.maven:maven-plugin-api:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-project:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-settings:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-profile:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-plugin-registry:jar:2.2.1:compile -[DEBUG] org.codehaus.plexus:plexus-interpolation:jar:1.11:compile -[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile -[DEBUG] junit:junit:jar:3.8.1:compile -[DEBUG] classworlds:classworlds:jar:1.1-alpha-2:compile -[DEBUG] org.apache.maven:maven-model:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-artifact-manager:jar:2.2.1:compile -[DEBUG] org.apache.maven:maven-repository-metadata:jar:2.2.1:compile -[DEBUG] backport-util-concurrent:backport-util-concurrent:jar:3.1:compile -[DEBUG] org.apache.maven:maven-artifact:jar:2.2.1:compile -[DEBUG] commons-codec:commons-codec:jar:1.6:compile -[DEBUG] org.apache.maven.shared:maven-shared-utils:jar:0.4:compile -[DEBUG] com.google.code.findbugs:jsr305:jar:2.0.1:compile -[DEBUG] org.codehaus.plexus:plexus-utils:jar:3.0.15:compile -[DEBUG] Created new class realm plugin>org.apache.maven.plugins:maven-install-plugin:2.5.2 -[DEBUG] Importing foreign packages into class realm plugin>org.apache.maven.plugins:maven-install-plugin:2.5.2 -[DEBUG] Imported: < project>gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT -[DEBUG] Populating class realm plugin>org.apache.maven.plugins:maven-install-plugin:2.5.2 -[DEBUG] Included: org.apache.maven.plugins:maven-install-plugin:jar:2.5.2 -[DEBUG] Included: org.codehaus.plexus:plexus-interpolation:jar:1.11 -[DEBUG] Included: junit:junit:jar:3.8.1 -[DEBUG] Included: backport-util-concurrent:backport-util-concurrent:jar:3.1 -[DEBUG] Included: commons-codec:commons-codec:jar:1.6 -[DEBUG] Included: org.apache.maven.shared:maven-shared-utils:jar:0.4 -[DEBUG] Included: com.google.code.findbugs:jsr305:jar:2.0.1 -[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:3.0.15 -[DEBUG] Excluded: org.apache.maven:maven-plugin-api:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-project:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-settings:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-profile:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-plugin-registry:jar:2.2.1 -[DEBUG] Excluded: org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1 -[DEBUG] Excluded: classworlds:classworlds:jar:1.1-alpha-2 -[DEBUG] Excluded: org.apache.maven:maven-model:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-artifact-manager:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-repository-metadata:jar:2.2.1 -[DEBUG] Excluded: org.apache.maven:maven-artifact:jar:2.2.1 -[DEBUG] Configuring mojo org.apache.maven.plugins:maven-install-plugin:2.5.2:install from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-install-plugin:2.5.2, parent: sun.misc.Launcher$AppClassLoader@4e25154f] -[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-install-plugin:2.5.2:install' with basic configurator --> -[DEBUG] (f) artifact = gov.nasa.jpl.mbee:share-amp:amp:1.0-SNAPSHOT -[DEBUG] (f) attachedArtifacts = [] -[DEBUG] (f) createChecksum = false -[DEBUG] (f) installAtEnd = false -[DEBUG] (f) localRepository = id: local - url: file:///C:/Users/Administrator/.m2/repository/ - layout: default -snapshots: [enabled => true, update => always] - releases: [enabled => true, update => always] - -[DEBUG] (f) packaging = amp -[DEBUG] (f) pomFile = C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (f) project = MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml -[DEBUG] (f) reactorProjects = [MavenProject: gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT @ C:\MMSWorkSpace\mms-ent\share-amp\pom.xml] -[DEBUG] (s) skip = false -[DEBUG] (f) updateReleaseInfo = false -[DEBUG] -- end configuration -- -[INFO] Installing C:\MMSWorkSpace\mms-ent\share-amp\target\share-amp.amp to C:\Users\Administrator\.m2\repository\gov\nasa\jpl\mbee\share-amp\1.0-SNAPSHOT\share-amp-1.0-SNAPSHOT.amp -[DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\gov\nasa\jpl\mbee\share-amp\1.0-SNAPSHOT\_remote.repositories -[INFO] Installing C:\MMSWorkSpace\mms-ent\share-amp\pom.xml to C:\Users\Administrator\.m2\repository\gov\nasa\jpl\mbee\share-amp\1.0-SNAPSHOT\share-amp-1.0-SNAPSHOT.pom -[DEBUG] Writing tracking file C:\Users\Administrator\.m2\repository\gov\nasa\jpl\mbee\share-amp\1.0-SNAPSHOT\_remote.repositories -[DEBUG] Installing gov.nasa.jpl.mbee:share-amp:1.0-SNAPSHOT/maven-metadata.xml to C:\Users\Administrator\.m2\repository\gov\nasa\jpl\mbee\share-amp\1.0-SNAPSHOT\maven-metadata-local.xml -[DEBUG] Installing gov.nasa.jpl.mbee:share-amp/maven-metadata.xml to C:\Users\Administrator\.m2\repository\gov\nasa\jpl\mbee\share-amp\maven-metadata-local.xml -[INFO] ------------------------------------------------------------------------ -[INFO] BUILD SUCCESS -[INFO] ------------------------------------------------------------------------ -[INFO] Total time: 6.515 s -[INFO] Finished at: 2015-08-13T18:40:09+00:00 -[INFO] Final Memory: 24M/253M -[INFO] ------------------------------------------------------------------------ diff --git a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.jar b/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.jar deleted file mode 100755 index 40244d31..00000000 Binary files a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.jar and /dev/null differ diff --git a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.jar.md5 b/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.jar.md5 deleted file mode 100755 index 7d873d20..00000000 --- a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.jar.md5 +++ /dev/null @@ -1 +0,0 @@ -e9b38ecac877a9c8e7bfa77fd7157cf0 \ No newline at end of file diff --git a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.jar.sha1 b/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.jar.sha1 deleted file mode 100755 index 01c80ee2..00000000 --- a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -4615ee694178ea327d2519a5915c72b1c5c47cb6 \ No newline at end of file diff --git a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.pom b/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.pom deleted file mode 100755 index df1abd0f..00000000 --- a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.pom +++ /dev/null @@ -1,9 +0,0 @@ - - - 4.0.0 - externalrepo_javascriptconsoleshare - javascriptconsoleshare - 0.5 - POM was created from install:install-file - diff --git a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.pom.md5 b/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.pom.md5 deleted file mode 100755 index 89ebf9f3..00000000 --- a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.pom.md5 +++ /dev/null @@ -1 +0,0 @@ -b2e56e74187e24020568569a7aa234cb \ No newline at end of file diff --git a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.pom.sha1 b/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.pom.sha1 deleted file mode 100755 index 229da631..00000000 --- a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/0.5/javascriptconsoleshare-0.5.pom.sha1 +++ /dev/null @@ -1 +0,0 @@ -a132349e6c5b0479511fa657b83349881dc898bb \ No newline at end of file diff --git a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/maven-metadata-local.xml b/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/maven-metadata-local.xml deleted file mode 100755 index 17ba6a19..00000000 --- a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/maven-metadata-local.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - externalrepo_javascriptconsoleshare - javascriptconsoleshare - - 0.5 - - 0.5 - - 20150815003035 - - diff --git a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/maven-metadata-local.xml.md5 b/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/maven-metadata-local.xml.md5 deleted file mode 100755 index 0a654808..00000000 --- a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/maven-metadata-local.xml.md5 +++ /dev/null @@ -1 +0,0 @@ -3411281916463f2ab234041453a88e8a \ No newline at end of file diff --git a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/maven-metadata-local.xml.sha1 b/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/maven-metadata-local.xml.sha1 deleted file mode 100755 index 15625e9b..00000000 --- a/mms-ent/share-amp/external-repo/externalrepo_javascriptconsoleshare/javascriptconsoleshare/maven-metadata-local.xml.sha1 +++ /dev/null @@ -1 +0,0 @@ -1ace32897ce4d79e00b528ba769b86257348de7e \ No newline at end of file diff --git a/mms-ent/share-amp/pom.xml b/mms-ent/share-amp/pom.xml old mode 100755 new mode 100644 index 138c6b74..be68e242 --- a/mms-ent/share-amp/pom.xml +++ b/mms-ent/share-amp/pom.xml @@ -9,7 +9,7 @@ gov.nasa.jpl.mbee mms-ent - 3.2.1 + 3.2.2 WARN - - externalrepo_ - - - - external-project-repo - file://${project.basedir}/external-repo - - - @@ -56,12 +46,13 @@ + The following dependencies are needed to be able to compile the + custom functional tests that are based on Page Objects (PO) + ===============================================================--> + It contains page objects such as LoginPage and it also brings + in selenium-grid and selenium. --> ${alfresco.groupId} share-po @@ -77,8 +68,7 @@ tests test - + org.seleniumhq.selenium @@ -104,12 +94,6 @@ - - - ${external-groupId}javascriptconsoleshare - javascriptconsoleshare - 0.5 - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/module/view-share/context/service-context.xml b/mms-ent/share-amp/src/main/amp/config/alfresco/module/view-share/context/service-context.xml deleted file mode 100755 index fd88167c..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/module/view-share/context/service-context.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/module/view-share/log4j.properties b/mms-ent/share-amp/src/main/amp/config/alfresco/module/view-share/log4j.properties deleted file mode 100755 index 798f6b2e..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/module/view-share/log4j.properties +++ /dev/null @@ -1,40 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -#----------------------------------------------------------------------- -# ${artifactId} module log4j.properties -# -# NOTE -# ---- -# Log4j uses the following logging levels: -# debug,info,warn,error,fatal -# -# To set the logging level of {fullClassName} to {loglevel}, -# add a line to this file of the following form: -# -# log4j.logger.{fullClassName}={loglevel} -# -# For example, to make 'com.example.MyExample' produce 'debug' -# logs, add a line like this: -# -# log4j.logger.com.example.MyExample=debug -# -# -# WARNING -# ------- -# Log properties in this log4j.properties file override/augment -# those in the webapp's main log4j.properties. -# -#----------------------------------------------------------------------- -log4j.logger.org.alfresco.demoamp.DemoComponent=${module.log.level} \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/module/view-share/module-context.xml b/mms-ent/share-amp/src/main/amp/config/alfresco/module/view-share/module-context.xml deleted file mode 100755 index d53a74f2..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/module/view-share/module-context.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-data/presets/presets.xml b/mms-ent/share-amp/src/main/amp/config/alfresco/site-data/presets/presets.xml deleted file mode 100755 index cd37a6b6..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-data/presets/presets.xml +++ /dev/null @@ -1,307 +0,0 @@ - - - - - - - - - page - title - site/${siteid}/dashboard - /components/title/collaboration-title - - - - page - navigation - site/${siteid}/dashboard - /components/navigation/collaboration-navigation - - - - page - full-width-dashlet - site/${siteid}/dashboard - /components/dashlets/dynamic-welcome - - site - - - - page - component-1-1 - site/${siteid}/dashboard - /components/dashlets/colleagues - - 504 - - - - page - component-2-1 - site/${siteid}/dashboard - /components/dashlets/docsummary - - - page - component-2-2 - site/${siteid}/dashboard - /components/dashlets/activityfeed - - - - - Collaboration Site Dashboard - page.siteDashboard.title - Collaboration site's dashboard page - page.siteDashboard.description - dashboard-2-columns-wide-right - user - - [{"pageId":"documentlibrary"}] - - - - - - - - - - page - title - user/${userid}/dashboard - /components/title/user-dashboard-title - - - - page - full-width-dashlet - user/${userid}/dashboard - /components/dashlets/dynamic-welcome - - user - - - - page - component-1-1 - user/${userid}/dashboard - /components/dashlets/my-sites - - - page - component-1-2 - user/${userid}/dashboard - /components/dashlets/my-tasks - - - page - component-2-1 - user/${userid}/dashboard - /components/dashlets/my-activities - - - page - component-2-2 - user/${userid}/dashboard - /components/dashlets/my-documents - - 240 - - - - - - User Dashboard - page.userDashboard.title - Users dashboard page - page.userDashboard.description - dashboard-2-columns-wide-right - user - - - - - - - - - page - title - site/${siteid}/dashboard - /components/title/collaboration-title - - - - page - navigation - site/${siteid}/dashboard - /components/navigation/collaboration-navigation - - - - page - full-width-dashlet - site/${siteid}/dashboard - /components/dashlets/dynamic-welcome - - site - - - - page - component-1-1 - site/${siteid}/dashboard - /components/dashlets/colleagues - - - page - component-2-1 - site/${siteid}/dashboard - /components/dashlets/docsummary - - - page - component-2-2 - site/${siteid}/dashboard - /components/dashlets/activityfeed - - - - - Records Management Site Dashboard - page.rmSiteDashboard.title - Records Management site's dashboard page - page.rmSiteDashboard.description - dashboard-2-columns-wide-right - user - - [{"pageId":"documentlibrary"}, {"pageId":"rmsearch"}] - {"documentlibrary":{"titleId":"page.rmDocumentLibrary.title", "descriptionId":"page.rmDocumentLibrary.description", "type":"dod5015"}} - - - - - - - - - - page - title - site/${siteid}/dashboard - /components/title/collaboration-title - - - - page - navigation - site/${siteid}/dashboard - /components/navigation/collaboration-navigation - - - - page - full-width-dashlet - site/${siteid}/dashboard - /components/dashlets/dynamic-welcome - - site - - - - page - component-1-1 - site/${siteid}/dashboard - /components/dashlets/colleagues - - - page - component-2-1 - site/${siteid}/dashboard - /components/dashlets/docsummary - - - page - component-2-2 - site/${siteid}/dashboard - /components/dashlets/activityfeed - - - - - Document Workspace Dashboard - page.workspace.title - Document Workspace dashboard page - page.workspace.description - dashboard-2-columns-wide-left - user - - [{"pageId":"documentlibrary"}, {"pageId":"links"}] - - - - - - - - - - page - title - site/${siteid}/dashboard - /components/title/collaboration-title - - - - page - navigation - site/${siteid}/dashboard - /components/navigation/collaboration-navigation - - - - page - full-width-dashlet - site/${siteid}/dashboard - /components/dashlets/dynamic-welcome - - site - - - - page - component-1-1 - site/${siteid}/dashboard - /components/dashlets/colleagues - - - page - component-2-1 - site/${siteid}/dashboard - /components/dashlets/docsummary - - - page - component-2-2 - site/${siteid}/dashboard - /components/dashlets/activityfeed - - - - - Meeting Workspace Dashboard - page.meeting_workspace.title - Meeting Workspace dashboard page - page.meeting_workspace.description - dashboard-2-columns-wide-left - user - - [{"pageId":"documentlibrary"}, {"pageId":"calendar"}] - - - - - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/comments.get.html.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/comments.get.html.ftl deleted file mode 100755 index de0fdfe2..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/comments.get.html.ftl +++ /dev/null @@ -1,26 +0,0 @@ -<@markup id="css" > - <#-- CSS Dependencies --> - <@link rel="stylesheet" type="text/css" href="${url.context}/res/components/blog/commentlist.css" group="blog"/> - - -<@markup id="js"> - <#-- JavaScript Dependencies --> - <@script type="text/javascript" src="${url.context}/res/components/blog/commentlist.js" group="blog"/> - - -<@markup id="widgets"> - <@createWidgets group="blog"/> - - -<@markup id="html"> - <@uniqueIdDiv> - - - \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/comments.get.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/comments.get.js deleted file mode 100755 index 2c700939..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/comments.get.js +++ /dev/null @@ -1,40 +0,0 @@ -function main() -{ - var height = (args.editorHeight != null) ? args.editorHeight : 180, - width = (args.editorWidth != null) ? args.editorWidth : 700, - locale = locale.substring(0, 2); - - var commentList = { - id: "CommentList", - name : "Alfresco.CommentList", - options : { - siteId : (page.url.templateArgs.site != null) ? page.url.templateArgs.site : "", - containerId : template.properties.container != null ? template.properties.container : "documentLibrary", - height : height, - width : width, - editorConfig : { - height: height, - width: width, - inline_styles: false, - convert_fonts_to_spans: false, - theme: "advanced", - plugins: "asciimath,table,visualchars,emotions,advhr,print,directionality,fullscreen,insertdatetime", - theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,forecolor,backcolor", - theme_advanced_buttons2: "bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,alfresco-imagelibrary,alfresco-linklibrary,image,cleanup,help,code,removeformat,|,insertdate,inserttime", - theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,asciimath,emotions,advhr,|,print,|,ltr,rtl,|,fullscreen", - theme_advanced_toolbar_location: "top", - theme_advanced_toolbar_align: "left", - theme_advanced_statusbar_location: "bottom", - theme_advanced_path : false, - theme_advanced_resizing: true, - language: locale - } - } - }; - - model.widgets = [commentList]; -} - -main(); - - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/createcomment.get.html.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/createcomment.get.html.ftl deleted file mode 100755 index 406406e5..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/createcomment.get.html.ftl +++ /dev/null @@ -1,40 +0,0 @@ -<@markup id="css" > - <#-- CSS Dependencies --> - <@link rel="stylesheet" type="text/css" href="${url.context}/res/components/blog/createcomment.css" group="blog"/> - - -<@markup id="js"> - <#-- JavaScript Dependencies --> - <@script type="text/javascript" src="${url.context}/res/components/blog/createcomment.js" group="blog"/> - - -<@markup id="widgets"> - <@createWidgets group="blog"/> - - -<@markup id="html"> - <@uniqueIdDiv> - - - \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/createcomment.get.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/createcomment.get.js deleted file mode 100755 index 0fd4aa24..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/createcomment.get.js +++ /dev/null @@ -1,39 +0,0 @@ -function main() -{ - var height = (args.editorHeight != null) ? args.editorHeight : 250, - width = (args.editorWidth != null) ? args.editorWidth : 538, - locale = locale.substring(0, 2); - - var createComment = { - id: "CreateComment", - name : "Alfresco.CreateComment", - options : { - siteId : (page.url.templateArgs.site != null) ? page.url.templateArgs.site : "", - containerId : template.properties.container != null ? template.properties.container : "documentLibrary", - height : height, - width : width, - editorConfig : { - height: height, - width: width, - inline_styles: false, - convert_fonts_to_spans: false, - theme: "advanced", - plugins: "asciimath,table,visualchars,emotions,advhr,print,directionality,fullscreen,insertdatetime", - theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,forecolor,backcolor", - theme_advanced_buttons2: "bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,alfresco-imagelibrary,alfresco-linklibrary,image,cleanup,help,code,removeformat,|,insertdate,inserttime", - theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,asciimath,emotions,advhr,|,print,|,ltr,rtl,|,fullscreen", - theme_advanced_toolbar_location: "top", - theme_advanced_toolbar_align: "left", - theme_advanced_statusbar_location: "bottom", - theme_advanced_path : false, - theme_advanced_resizing: true, - language: locale - } - } - }; - model.widgets = [createComment]; - odel.widgets.push(); -} - -main(); - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/postedit.get.html.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/postedit.get.html.ftl deleted file mode 100755 index ffb827cd..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/postedit.get.html.ftl +++ /dev/null @@ -1,75 +0,0 @@ -<@markup id="css" > - <#-- CSS Dependencies --> - <@link rel="stylesheet" type="text/css" href="${url.context}/res/modules/taglibrary/taglibrary.css" group="blog"/> - - -<@markup id="js"> - <#-- JavaScript Dependencies --> - <@script type="text/javascript" src="${url.context}/res/modules/taglibrary/taglibrary.js" group="blog"/> - <@script type="text/javascript" src="${url.context}/res/components/blog/postedit.js" group="blog"/> - - -<@markup id="widgets"> - <@createWidgets group="blog"/> - - -<@markup id="html"> - <@uniqueIdDiv> -
- <#if page.url.args.postId??> -

${msg("editPost")}

- <#else> -

${msg("createPost")}

- -
-
- - - \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/postedit.get.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/postedit.get.js deleted file mode 100755 index 8b0c372e..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/blog/postedit.get.js +++ /dev/null @@ -1,34 +0,0 @@ -function main() -{ - var locale = this.locale.substring(0, 2); - - var blogPostEdit = { - id : "BlogPostEdit", - name : "Alfresco.BlogPostEdit", - options : { - siteId : (page.url.templateArgs.site != null) ? page.url.templateArgs.site : "", - containerId : "blog", - editMode : (page.url.args.postId != null), - postId : (page.url.args.postId != null) ? page.url.args.postId : "", - editorConfig : { - width: "700", - height: "300", - inline_styles: false, - convert_fonts_to_spans: false, - theme: "advanced", - plugins: "asciimath,table,visualchars,emotions,advhr,print,directionality,fullscreen,insertdatetime", - theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,forecolor,backcolor", - theme_advanced_buttons2: "bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,alfresco-imagelibrary,alfresco-linklibrary,image,cleanup,help,code,removeformat,|,insertdate,inserttime", - theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,asciimath,emotions,advhr,|,print,|,ltr,rtl,|,fullscreen", - theme_advanced_toolbar_location: "top", - theme_advanced_toolbar_align: "left", - theme_advanced_statusbar_location: "bottom", - theme_advanced_path : false, - theme_advanced_resizing: true, - } - } - }; - model.widgets = [blogPostEdit]; -} - -main(); diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/comments/comments-list.get.html.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/comments/comments-list.get.html.ftl deleted file mode 100755 index 72e83c0c..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/comments/comments-list.get.html.ftl +++ /dev/null @@ -1,51 +0,0 @@ -<@markup id="css" > - <#-- CSS Dependencies --> - <@link href="${url.context}/res/components/comments/comments-list.css" group="comments"/> - - -<@markup id="js"> - <#-- JavaScript Dependencies --> - <@script src="${url.context}/res/components/comments/comments-list.js" group="comments"/> - - -<@markup id="widgets"> - <#if nodeRef??> - <@createWidgets group="comments"/> - - - -<@markup id="html"> - <@uniqueIdDiv> - <#if nodeRef??> - <#assign el=args.htmlid?html> -
-

${msg("header.comments")}

-
- -
-
-
- -
-
-
-
-
-
- -
- -
-
-
-
-
-
-
-
-
- - - \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/comments/comments-list.get.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/comments/comments-list.get.js deleted file mode 100755 index f62e8bc6..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/comments/comments-list.get.js +++ /dev/null @@ -1,133 +0,0 @@ - - -function getActivityParameters(nodeRef, defaultValue) -{ - var cm = "{http://www.alfresco.org/model/content/1.0}", - metadata = AlfrescoUtil.getMetaData(nodeRef, {}); - if (metadata.properties) - { - if (model.activityType == "document") - { - return ( - { - itemTitle: metadata.properties[cm + 'name'], - page: 'document-details', - pageParams: - { - nodeRef: metadata.nodeRef - } - }); - } - else if (model.activityType == "folder") - { - return ( - { - itemTitle: metadata.properties[cm + 'name'], - page: 'folder-details', - pageParams: - { - nodeRef: metadata.nodeRef - } - }); - } - else if (model.activityType == "link") - { - var lm = "{http://www.alfresco.org/model/linksmodel/1.0}"; - return ( - { - itemTitle: metadata.properties[lm + "title"], - page: 'links-view', - pageParams: - { - linkId: metadata.properties[cm + "name"] - } - }); - } - else if (model.activityType == "blog") - { - return ( - { - itemTitle: metadata.properties[cm + 'title'], - page: 'blog-postview', - pageParams: - { - postId: metadata.properties[cm + "name"] - } - }); - } - } - return defaultValue; -} - -function main() -{ - AlfrescoUtil.param('nodeRef', null); - AlfrescoUtil.param('site', null); - AlfrescoUtil.param('maxItems', 10); - AlfrescoUtil.param('activityType', null); - - if (!model.nodeRef) - { - // Handle urls that doesn't use nodeRef - AlfrescoUtil.param('postId', null); - if (model.postId) - { - // translate blog post "postId" to a nodeRef - AlfrescoUtil.param('container', 'blog'); - model.nodeRef = AlfrescoUtil.getBlogPostDetailsByPostId(model.site, model.container, model.postId, {}).nodeRef; - } - else - { - AlfrescoUtil.param('linkId', null); - if (model.linkId) - { - // translate link's "linkId" to a nodeRef - AlfrescoUtil.param('container', 'links'); - model.nodeRef = AlfrescoUtil.getLinkDetailsByPostId(model.site, model.container, model.linkId, {}).nodeRef; - } - } - } - - var documentDetails = AlfrescoUtil.getNodeDetails(model.nodeRef, model.site); - var activityParameters = null; - if (documentDetails) - { - activityParameters = getActivityParameters(model.nodeRef, null); - } - else - { - // Signal to the template that the node doesn't exist and that comments therefore shouldn't be displayed. - model.nodeRef = null; - } - - // Widget instantiation metadata... - var locale = this.locale.substring(0, 2); - var commentList = { - id : "CommentsList", - name : "Alfresco.CommentsList", - options : { - nodeRef : model.nodeRef, - siteId : model.site, - maxItems : parseInt(model.maxItems), - activity : activityParameters, - editorConfig : { - inline_styles: false, - convert_fonts_to_spans: false, - theme: "advanced", - plugins: "asciimath,table,visualchars,emotions,advhr,print,directionality,fullscreen,insertdatetime", - theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,forecolor,backcolor", - theme_advanced_buttons2: "bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,alfresco-imagelibrary,alfresco-linklibrary,image,cleanup,help,code,removeformat,|,insertdate,inserttime", - theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,asciimath,emotions,advhr,|,print,|,ltr,rtl,|,fullscreen", - theme_advanced_toolbar_location: "top", - theme_advanced_toolbar_align: "left", - theme_advanced_statusbar_location: "bottom", - theme_advanced_path : false, - theme_advanced_resizing: true, - language: locale - } - } - }; - model.widgets = [commentList]; -} - -main(); diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.config.xml b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.config.xml deleted file mode 100755 index 69b071ce..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.config.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - /share/page/docweb-default - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.desc.xml b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.desc.xml deleted file mode 100755 index 32eabf42..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.desc.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - DocWeb Portal - Display DocWeb for specific site or a listing of DocWeb sites - dashlet - /components/dashlets/docweb - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.html.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.html.ftl deleted file mode 100755 index 285e78c0..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.html.ftl +++ /dev/null @@ -1,41 +0,0 @@ -<#assign el=args.htmlid?html> - -<@markup id="css" > - <#-- CSS Dependencies --> - <@link rel="stylesheet" type="text/css" href="${url.context}/res/components/dashlets/docweb.css" group="dashlets"/> - - -<@markup id="js"> - <#-- JavaScript Dependencies --> - <@script type="text/javascript" src="${url.context}/res/components/dashlets/docweb.js" group="dashlets"/> - <@script type="text/javascript" src="${url.context}/res/modules/simple-dialog.js" group="dashlets"/> - - -<@markup id="widgets"> - <#assign id=el?replace("-", "_")> - <@inlineScript group="dashlets"> - var editDocWebDashletEvent${id} = new YAHOO.util.CustomEvent("onDashletConfigure"); - - <@createWidgets group="dashlets"/> - <@inlineScript group="dashlets"> - editDocWebDashletEvent${id}.subscribe(docWeb.onConfigDocWebClick, docWeb, true); - - - -<@markup id="html"> - <@uniqueIdDiv> -
-
- ${msg("label.header")} - ${msg("label.notSecureHeader")} - -
-
style="height: ${args.height}px;" id="${args.htmlid}-iframeWrapper"> -

${msg("label.noWebPage")}

-

${msg("label.notSecurePage")}

- -
-
-
- - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.js deleted file mode 100755 index 69eb8618..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.js +++ /dev/null @@ -1,127 +0,0 @@ -function main() -{ - var uri = args.docwebURI, - docwebTitle = '', - isDefault = false; - - var connector = remote.connect("alfresco"); - var result = connector.get("/javawebscripts/hostname"); - - var data = result.response + ' '; - if(data == null){ - throw new Error('Unable to retrieve host information.'); - return; - } - - var json = jsonUtils.toObject(data); - if(json == null){ - throw new Error('Unable to parse host information JSON.'); - return; - } - - var hostname = json.alfresco.host; - if(hostname.toLowerCase()=='localhost') hostname += ':' + json.alfresco.port; - hostname = json.alfresco.protocol + '://' + hostname; - - var siteName = page.url.templateArgs.site; - if (siteName) - { - uri = hostname + '/alfresco/mmsapp/mms.html#/workspaces/master/sites/' + siteName; - docwebTitle = siteName + ' Docweb'; - } - else{ - uri = hostname + '/alfresco/mmsapp/mms.html#/workspaces/master'; - docwebTitle = 'Docweb Portal'; - } - - var height = args.height; - if (!height) - { - height = ""; - } - - var re = /^(http|https):\/\//; - - if (!isDefault && !re.test(uri)) - { - uri = "http://" + uri; - } - - model.docwebTitle = docwebTitle; - model.uri = uri; - model.height = height; - model.isDefault = isDefault; - - /*var userIsSiteManager = true; - if (page.url.templateArgs.site) - { - // We are in the context of a site, so call the repository to see if the user is site manager or not - userIsSiteManager = false; - var json = remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships/" + encodeURIComponent(user.name)); - - if (json.status == 200) - { - var obj = eval('(' + json + ')'); - if (obj) - { - userIsSiteManager = (obj.role == "SiteManager"); - } - } - } - model.userIsSiteManager = userIsSiteManager;*/ - - // Widget instantiation metadata... - var docWeb = { - id : "DocWeb", - name : "Alfresco.dashlet.DocWeb", - assignTo : "docWeb", - options : { - componentId : instance.object.id, - docwebURI : model.uri, - docwebTitle : model.docwebTitle, - docwebHeight : model.height, - isDefault : model.isDefault - } - }; - - var dashletResizer = { - id : "DashletResizer", - name : "Alfresco.widget.DashletResizer", - initArgs : ["\"" + args.htmlid + "\"", "\"" + instance.object.id + "\""], - useMessages: false - }; - - var actions = []; - if (model.userIsSiteManager) - { - actions.push( - { - cssClass: "edit", - eventOnClick: { - _alfValue : "editDocWebDashletEvent" + args.htmlid.replace(/-/g, "_"), - _alfType: "REFERENCE" - }, - tooltip: msg.get("dashlet.edit.tooltip") - }); - } - actions.push({ - cssClass: "help", - bubbleOnClick: - { - message: msg.get("dashlet.help") - }, - tooltip: msg.get("dashlet.help.tooltip") - }); - - var dashletTitleBarActions = { - id : "DashletTitleBarActions", - name : "Alfresco.widget.DashletTitleBarActions", - useMessages : false, - options : { - actions: actions - } - }; - model.widgets = [docWeb, dashletResizer, dashletTitleBarActions]; -} - -main(); diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.properties b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.properties deleted file mode 100755 index 5d74c483..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/dashlets/docweb.get.properties +++ /dev/null @@ -1,11 +0,0 @@ -label.header=DocWeb Portal -label.noWebPage=No web page to display. -label.notSecureHeader=DocWeb Portal -label.notSecurePage=The domain of the page to display is not listed as a trusted domain inside your server's IFramePolicy config. -form.url.validation.failure=The domain of the url is not listed as a trusted domain inside your server's IFramePolicy config. - -## Note to translators: Please retain the HTML tags in the dashlet.help message. -dashlet.help=

This dashlet shows DocWeb website.

\ -

Clicking the dashlet title opens the website in a separate window.

- - \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/createtopic.get.html.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/createtopic.get.html.ftl deleted file mode 100755 index ebf06085..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/createtopic.get.html.ftl +++ /dev/null @@ -1,70 +0,0 @@ -<@markup id="css" > - <#-- CSS Dependencies --> - <@link href="${url.context}/res/modules/taglibrary/taglibrary.css" group="discussions"/> - - -<@markup id="js"> - <#-- JavaScript Dependencies --> - <@script src="${url.context}/res/modules/taglibrary/taglibrary.js" group="discussions"/> - <@script src="${url.context}/res/components/discussions/createtopic.js" group="discussions"/> - - -<@markup id="widgets"> - <@createWidgets group="discussions"/> - - -<@markup id="html"> - <@uniqueIdDiv> - <#assign editMode = ((page.url.args.topicId!"") != "") /> -
-

<#if editMode>${msg("header.edit")}<#else>${msg("header.create")}

-
-
- - - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/createtopic.get.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/createtopic.get.js deleted file mode 100755 index 2f1f0d79..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/createtopic.get.js +++ /dev/null @@ -1,35 +0,0 @@ -function main() -{ - // Widget instantiation metadata... - var createTopic = { - id : "CreateTopic", - name : "Alfresco.CreateTopic", - options : { - topicId : (page.url.args.topicId != null) ? page.url.args.topicId : "", - siteId : (page.url.templateArgs.site != null) ? page.url.templateArgs.site : "", - containerId : (page.url.args.containerId != null) ? page.url.args.containerId : "discussions", - editMode : (page.url.args.topicId != null), - editorConfig : { - width: "700", - height: "300", - inline_styles: false, - convert_fonts_to_spans: false, - theme: "advanced", - plugins: "asciimath,table,visualchars,emotions,advhr,print,directionality,fullscreen,insertdatetime", - theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,forecolor,backcolor", - theme_advanced_buttons2: "bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,alfresco-imagelibrary,alfresco-linklibrary,image,cleanup,help,code,removeformat,|,insertdate,inserttime", - theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,asciimath,emotions,advhr,|,print,|,ltr,rtl,|,fullscreen", - theme_advanced_toolbar_location: "top", - theme_advanced_toolbar_align: "left", - theme_advanced_statusbar_location: "bottom", - theme_advanced_path : false, - theme_advanced_resizing: true, - language: this.locale.substring(0, 2) - } - } - }; - - model.widgets = [createTopic]; -} - -main(); diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/replies.get.html.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/replies.get.html.ftl deleted file mode 100755 index 7ec19df3..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/replies.get.html.ftl +++ /dev/null @@ -1,21 +0,0 @@ -<@markup id="css" > - <#-- CSS Dependencies --> - <@link href="${url.context}/res/components/discussions/replies.css" group="discussions"/> - - -<@markup id="js"> - <#-- JavaScript Dependencies --> - <@script src="${url.context}/res/components/discussions/replies.js" group="discussions"/> - - -<@markup id="widgets"> - <@createWidgets group="discussions"/> - - -<@markup id="html"> - <@uniqueIdDiv> - - - - - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/replies.get.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/replies.get.js deleted file mode 100755 index a1b4cf2b..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/discussions/replies.get.js +++ /dev/null @@ -1,33 +0,0 @@ -function main() -{ - // Widget instantiation metadata... - var createTopic = { - id : "TopicReplies", - name : "Alfresco.TopicReplies", - options : { - siteId : (page.url.templateArgs.site != null) ? page.url.templateArgs.site : "", - containerId : (page.url.args.containerId != null) ? page.url.args.containerId : "discussions", - editorConfig : { - width: "538", - height: "250", - inline_styles: false, - convert_fonts_to_spans: false, - theme: "advanced", - plugins: "asciimath,table,visualchars,emotions,advhr,print,directionality,fullscreen,insertdatetime", - theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,forecolor,backcolor", - theme_advanced_buttons2: "bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,alfresco-imagelibrary,alfresco-linklibrary,image,cleanup,help,code,removeformat,|,insertdate,inserttime", - theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,asciimath,emotions,advhr,|,print,|,ltr,rtl,|,fullscreen", - theme_advanced_toolbar_location: "top", - theme_advanced_toolbar_align: "left", - theme_advanced_statusbar_location: "bottom", - theme_advanced_path : false, - theme_advanced_resizing: true, - language: this.locale.substring(0, 2) - } - } - }; - - model.widgets = [createTopic]; -} - -main(); diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/documentlibrary/data/surf-doclist.lib.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/documentlibrary/data/surf-doclist.lib.js old mode 100755 new mode 100644 diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/documentlibrary/documentlist-view-detailed.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/documentlibrary/documentlist-view-detailed.js deleted file mode 100644 index 4d3e5bb6..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/documentlibrary/documentlist-view-detailed.js +++ /dev/null @@ -1,1111 +0,0 @@ -/** - * Copyright (C) 2005-2012 Alfresco Software Limited. - * - * This file is part of Alfresco - * - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - */ - -/** - * DocumentListViewRenderer component. - * - * @namespace Alfresco - * @class Alfresco.DocumentListViewRenderer - */ -(function() -{ - /** - * YUI Library aliases - */ - var Dom = YAHOO.util.Dom, - Event = YAHOO.util.Event; - - /** - * Alfresco Slingshot aliases - */ - var $html = Alfresco.util.encodeHTML, - $isValueSet = Alfresco.util.isValueSet; - - /** - * ViewRenderer constructor. - * - * @param name {String} The name of the viewRenderer - * @return {Alfresco.DocumentListViewRenderer} The new ViewRenderer instance - * @constructor - */ - Alfresco.DocumentListViewRenderer = function(name, parentDocumentList) - { - /* - * Initialise prototype properties - */ - this.name = name; - this.parentDocumentList = parentDocumentList; - this.parentElementIdSuffix = "-documents"; - this.rowClassName = "yui-dt-rec"; - this.actionsCssClassName = this.name; - this.actionsColumnWidth = 200; - this.actionsSplitAtModifier = 1; - this.thumbnailColumnWidth = 100; - this.buttonElementIdSuffix = "-" + this.name + "View"; - this.buttonCssClass = this.name + "-view"; - this.metadataBannerViewName = this.name; - this.metadataLineViewName = this.name; - - return this; - }; - - Alfresco.DocumentListViewRenderer.prototype = - { - - /** - * Performs any setup needed immediately after registration - * - * @method setupRenderer - * @param scope {object} The DocumentList object - */ - setupRenderer: function DL_VR_setupRenderer(scope) - { - Dom.addClass(scope.id + this.buttonElementIdSuffix, this.buttonCssClass); - }, - - /** - * Render the view using the given scope (documentList), request and response. - * - * @method renderView - * @param scope {object} The DocumentList object - * @param sRequest {string} Original request - * @param oResponse {object} Response object - * @param oPayload {MIXED} (optional) Additional argument(s) - */ - renderView: function DL_VR_renderView(scope, sRequest, oResponse, oPayload) - { - YAHOO.util.Dom.setStyle(scope.id + this.parentElementIdSuffix, 'display', ''); - scope.widgets.dataTable.onDataReturnInitializeTable.call(scope.widgets.dataTable, sRequest, oResponse, oPayload); - }, - - /** - * Performs any teardown or visual changes to deselect this view in the interface - * - * @method destroyView - * @param scope {object} The DocumentList object - * @param sRequest {string} Original request - * @param oResponse {object} Response object - * @param oPayload {MIXED} (optional) Additional argument(s) - */ - destroyView: function DL_VR_destroyView(scope, sRequest, oResponse, oPayload) - { - YAHOO.util.Dom.setStyle(scope.id + this.parentElementIdSuffix, 'display', 'none'); - }, - - /** - * Selector custom datacell formatter - * - * @method renderCellSelected - * @param scope {object} The DocumentList object - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellSelected: function DL_VR_renderCellSelected(scope, elCell, oRecord, oColumn, oData) - { - Dom.setStyle(elCell, "width", oColumn.width + "px"); - Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px"); - - var jsNode = oRecord.getData("jsNode"), - nodeRef = jsNode.nodeRef, - name = oRecord.getData("displayName"), - checkbox = document.createElement("input"), - label = document.createElement("label"); - checkbox.id = "checkbox-" + oRecord.getId(); - checkbox.type = "checkbox"; - checkbox.name = "fileChecked"; - checkbox.value = nodeRef; - checkbox.checked = scope.selectedFiles[nodeRef] ? true : false; - - label.id = "label_for_" + checkbox.id; - label.style.fontSize="0em"; - label.innerHTML = (checkbox.checked ? scope.msg("checkbox.uncheck") : scope.msg("checkbox.check")) + " " + name; - label.setAttribute("for", checkbox.id); - elCell.innerHTML = ''; - elCell.appendChild(label); - elCell.appendChild(checkbox); - Event.addListener(checkbox, "click", function(e) - { - label.innerHTML = (checkbox.checked ? scope.msg("checkbox.uncheck") : scope.msg("checkbox.check")) + " " + name; - }, checkbox, true); - - // MNT-12522 - var row = Dom.getAncestorByTagName(elCell, "tr"); - Event.addListener(checkbox, "focus", function() - { - _unhighlightRows(this); - this.onEventHighlightRow({target : row}); - }, this.parentDocumentList, true); - - new YAHOO.util.KeyListener(checkbox, - { - keys : YAHOO.util.KeyListener.KEY.TAB, - shift : true - }, - { - fn : function() - { - _unhighlightRows(this); - var previous = Dom.getPreviousSibling(row); - if (previous !== null) - { - this.onEventHighlightRow({target : previous}); - } - }, - scope : this.parentDocumentList, - correctScope : true - }, "keydown").enable(); - - function _unhighlightRows(scope) - { - var highlightedRows = Dom.getElementsByClassName("yui-dt-highlighted", "tr", Dom.getAncestorByTagName(row, "tbody")); - for (var i = 0; i < highlightedRows.length; i++) - { - scope.onEventUnhighlightRow({target : highlightedRows[i]}); - } - } - }, - - /** - * Status custom datacell formatter - * - * @method renderCellStatus - * @param scope {object} The DocumentList object - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellStatus: function DL_VR_renderCellStatus(scope, elCell, oRecord, oColumn, oData) - { - Dom.setStyle(elCell, "width", oColumn.width + "px"); - Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px"); - - var record = oRecord.getData(), - node = record.jsNode, - indicators = record.indicators, - indicator, label, desc = ""; - - if (indicators && indicators.length > 0) - { - for (var i = 0, ii = indicators.length; i < ii; i++) - { - indicator = indicators[i]; - // Note: deliberate bypass of scope.msg() function - label = Alfresco.util.message(indicator.label, scope.name, indicator.labelParams); - label = Alfresco.util.substituteDotNotation(label, record); - - desc += '
'; - - if (indicator.action) - { - desc += ''; - } - - desc += '' + indicator.id + ''; - if (indicator.action) - { - desc += ''; - } - desc += '
'; - } - } - - elCell.innerHTML = desc; - }, - - /** - * Render the thumbnail cell - * - * @method renderCellThumbnail - * @param scope {object} The DocumentList object - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellThumbnail: function DL_VR_renderCellThumbnail(scope, elCell, oRecord, oColumn, oData) - { - var record = oRecord.getData(), - node = record.jsNode, - properties = node.properties, - name = record.displayName, - isContainer = node.isContainer, - isLink = node.isLink, - extn = name.substring(name.lastIndexOf(".")), - imgId = node.nodeRef.nodeRef; // DD added - - var containerTarget; // This will only get set if thumbnail represents a container - - if (window.location.href.search(/\/sharedfiles/) != -1 && record.location.path.search("/Shared") == 0) - { - record.location.path = record.location.path.substring(7); - } - - oColumn.width = this.thumbnailColumnWidth; - Dom.setStyle(elCell, "width", oColumn.width + "px"); - Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px"); - - if (isContainer || (isLink && node.linkedNode.isContainer)) - { - elCell.innerHTML = '' + (isLink ? '' : '') + (scope.dragAndDropEnabled ? '' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + ''; - containerTarget = new YAHOO.util.DDTarget(imgId); // Make the folder a target - } - else - { - elCell.innerHTML = '' + (isLink ? '' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + '' + extn + ''; - } - var dnd = new Alfresco.DnD(imgId, scope); - }, - - /** - * Description/detail custom datacell formatter - * - * @method renderCellDescription - * @param scope {object} The DocumentList object - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellDescription: function DL_VR_renderCellDescription(scope, elCell, oRecord, oColumn, oData) - { - var desc = "", i, j, - record = oRecord.getData(), - jsNode = record.jsNode, - properties = jsNode.properties, - isContainer = jsNode.isContainer, - isLink = jsNode.isLink, - title = "", - titleHTML = "", - version = "", - canComment = jsNode.permissions.user.CreateChildren; - - if (jsNode.isLink) - { - // Link handling - // MNT-11988: Renaming links is not working correctly - oRecord.setData("displayName", record.fileName.replace(/(.url)$/,"")); - } - else if (properties.title && scope.options.useTitle) - //else if (properties.title && properties.title !== record.displayName && scope.options.useTitle) - { - // Use title property if it's available. Supressed for links. - titleHTML = '(' + $html(record.fileName) + ')'; - } - - // Version display - if (!jsNode.hasAspect("cm:workingcopy") && $isValueSet(record.version) && !jsNode.isContainer && !jsNode.isLink) - { - version = '' + $html(record.version) + ''; - } - - /** - * Render using metadata template - */ - record._filenameId = Alfresco.util.generateDomId(); - - var metadataTemplate = record.metadataTemplate; - if (metadataTemplate) - { - /* Banner */ - if (YAHOO.lang.isArray(metadataTemplate.banners)) - { - var fnRenderBanner = function fnRenderBanner_substitute(p_key, p_value, p_meta) - { - var label = (p_meta !== null ? scope.msg(p_meta) + ': ': ''), - value = ""; - - // render value from properties or custom renderer - if (scope.renderers.hasOwnProperty(p_key) && typeof scope.renderers[p_key] === "function") - { - value = scope.renderers[p_key].call(scope, record, label); - } - else - { - if (jsNode.hasProperty(p_key)) - { - value = '' + label + scope.renderProperty(jsNode.properties[p_key]) + ''; - } - } - - return value; - }; - - var html, banner; - for (i = 0, j = metadataTemplate.banners.length; i < j; i++) - { - banner = metadataTemplate.banners[i]; - if (!$isValueSet(banner.view) || banner.view == this.metadataBannerViewName) - { - html = YAHOO.lang.substitute(banner.template, scope.renderers, fnRenderBanner); - if ($isValueSet(html)) - { - desc += '
' + html + '
'; - } - } - } - } - - /* Title */ - if (YAHOO.lang.isString(metadataTemplate.title)) - { - var fnRenderTitle = function fnRenderTitle_substitute(p_key, p_value, p_meta) - { - var label = (p_meta !== null ? '' + scope.msg(p_meta) + ': ': ''), - value = ""; - - // render value from properties or custom renderer - if (scope.renderers.hasOwnProperty(p_key) && typeof scope.renderers[p_key] === "function") - { - value = scope.renderers[p_key].call(scope, record, label); - } - else - { - if (jsNode.hasProperty(p_key)) - { - value = '
' + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record); - value += label + scope.renderProperty(jsNode.properties[p_key]) + '
'; - } - } - - return value; - }; - - desc += YAHOO.lang.substitute(metadataTemplate.title, scope.renderers, fnRenderTitle); - } - else - { - // Insitu editing for title (filename) - if (jsNode.hasPermission("Write") && !jsNode.isLocked && !jsNode.hasAspect("cm:workingcopy")) - { - scope.insituEditors.push( - { - context: record._filenameId, - params: - { - type: "textBox", - nodeRef: jsNode.nodeRef.toString(), - name: "prop_cm_name", - value: record.fileName, - fnSelect: function fnSelect(elInput, value) - { - // If the file has an extension, omit it from the edit selection - var extnPos = value.lastIndexOf(Alfresco.util.getFileExtension(value)) - 1; - if (extnPos > 0) - { - Alfresco.util.selectText(elInput, 0, extnPos); - } - else - { - elInput.select(); - } - }, - validations: [ - { - type: Alfresco.forms.validation.length, - args: { min: 1, max: 255, crop: true }, - when: "keyup", - message: scope.msg("validation-hint.length.min.max", 1, 255) - }, - { - type: Alfresco.forms.validation.nodeName, - when: "keyup", - message: scope.msg("validation-hint.nodeName") - }], - title: scope.msg("tip.insitu-rename"), - errorMessage: scope.msg("message.insitu-edit.name.failure") - }, - callback: - { - fn: scope._insituCallback, - scope: scope, - obj: record - } - }); - } - - desc += '

' + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record); - desc += $html(record.displayName) + '' + titleHTML + version + '

'; - } - - if (YAHOO.lang.isArray(metadataTemplate.lines)) - { - var fnRenderTemplate = function fnRenderTemplate_substitute(p_key, p_value, p_meta) - { - var label = (p_meta !== null ? '' + scope.msg(p_meta) + ': ': ''), - value = ""; - - // render value from properties or custom renderer - if (scope.renderers.hasOwnProperty(p_key) && typeof scope.renderers[p_key] === "function") - { - value = scope.renderers[p_key].call(scope, record, label); - } - else - { - if (jsNode.hasProperty(p_key)) - { - value = '' + label + scope.renderProperty(jsNode.properties[p_key]) + ''; - } - } - - return value; - }; - - var html, line; - for (i = 0, j = metadataTemplate.lines.length; i < j; i++) - { - line = metadataTemplate.lines[i]; - if (!$isValueSet(line.view) || line.view == this.metadataLineViewName) - { - html = YAHOO.lang.substitute(line.template, scope.renderers, fnRenderTemplate); - if ($isValueSet(html)) - { - desc += '
' + html + '
'; - } - } - } - } - } - - elCell.innerHTML = desc; - - Event.on(Dom.getElementsByClassName("banner-more-info-link", "span", elCell), "click", function showMoreInfoLinkClick(event) - { - scope.onCloudSyncIndicatorAction(record, Event.getTarget(event)) - }, {}, scope); - }, - - /** - * Actions custom datacell formatter - * - * @method renderCellActions - * @param scope {object} The DocumentList object - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellActions: function DL_VR_renderCellActions(scope, elCell, oRecord, oColumn, oData) - { - oColumn.width = this.actionsColumnWidth; - Dom.setStyle(elCell, "width", oColumn.width + "px"); - Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px"); - Dom.addClass(elCell.parentNode, oRecord.getData("type")); - - elCell.innerHTML = ''; - }, - - /** - * Returns actions custom datacell formatter - * - * @method fnRenderCellProperty - */ - fnRenderCellProperty: function DL_fnRenderCellProperty() - { - var scope = this; - - /** - * Actions custom datacell formatter - * - * @method renderCellActions - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - return function DL_renderCellProperty(elCell, oRecord, oColumn, oData) - { - scope.renderCellProperty(scope, elCell, oRecord, oColumn, oData); - }; - }, - - /** - * Actions custom datacell formatter - * - * @method renderCellActions - * @param scope {object} The DocumentList object - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellProperty: function DL_VR_renderCellProperty(scope, elCell, oRecord, oColumn, oData) - { - // this.renderers[propertyName] = renderer - // this.parentDocumentList.renderers - - if (typeof this.parentDocumentList.renderers[oColumn.field] === "function") - { - elCell.innerHTML = this.parentDocumentList.renderers[oColumn.field].call(this.parentDocumentList, oRecord.getData(), ""); - } - else - { - // IMPLEMENTATION NOTES: - // It is possible to check for renderers mapped to a property without the namespace (e.g. "description" instead of - // "cm:description"). However, the renderers were intended to work with metadata line templates which have been registered - // with names such as "tags" rather than "cm:taggable". Therefore this function supports either genuine data properties - // (such as "cm:name") or template renderers (such as "tags" and "size") but makes no attempt to map between the two. - // However, example code is commented out below in case it is decided that this would actually be desirable... -// var namespaceLessProp = oColumn.field.substring(oColumn.field.indexOf(":") + 1); -// if (typeof this.parentDocumentList.renderers[namespaceLessProp] === "function") -// { -// elCell.innerHTML = this.parentDocumentList.renderers[namespaceLessProp].call(this.parentDocumentList, oRecord.getData(), ""); -// } - var record = oRecord.getData(), - node = record.jsNode, - properties = node.properties, - propertyValue = properties[oColumn.field]; - if (propertyValue != null) - { - elCell.innerHTML = '' + this.parentDocumentList.renderProperty(propertyValue) + ''; - } - } - }, - - /** - * Returns actions custom datacell formatter - * - * @method fnRenderCellLinkProperty - */ - fnRenderCellLinkProperty: function DL_fnRenderCellLinkProperty() - { - var scope = this; - - /** - * Actions custom datacell formatter - * - * @method renderCellLinkProperty - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - return function DL_renderCellLinkProperty(elCell, oRecord, oColumn, oData) - { - scope.renderCellLinkProperty(scope, elCell, oRecord, oColumn, oData); - }; - }, - - /** - * Actions custom datacell formatter - * - * @method renderCellLinkProperty - * @param scope {object} The DocumentList object - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellLinkProperty: function DL_VR_renderCellLinkProperty(scope, elCell, oRecord, oColumn, oData) - { - var record = oRecord.getData(), - node = record.jsNode, - properties = node.properties, - propertyValue = properties[oColumn.field]; - if (propertyValue != null) - { - elCell.innerHTML = '' + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope.parentDocumentList, record) + this.parentDocumentList.renderProperty(propertyValue) + '' - } - }, - - /** - * Get the dataTable record identifier, i.e. yui-recXX, from the given row element. - * - * @method getDataTableRecordIdFromRowElement - * @param scope {object} The DocumentList object - * @param rowElement {HTMLElement} row element. - * @return {String} the dataTable recordId - */ - getDataTableRecordIdFromRowElement: function DL_VR_getDataTableRecordIdFromRowElement(scope, rowElement) - { - if (scope != null && rowElement != null) - { - var element = rowElement; - if (!Dom.hasClass(rowElement, this.rowClassName)) - { - element = Dom.getAncestorByClassName(rowElement, this.rowClassName); - } - return element !== null ? element.id : null; - } - }, - - /** - * Get the row element from the given dataTable record. - * - * @method getRowElementFromDataTableRecordId - * @param scope {object} The DocumentList object - * @param oRecord {object} - * @return {HTMLElement} row element - */ - getRowElementFromDataTableRecord: function DL_VR_getRowElementFromDataTableRecordId(scope, oRecord) - { - if (scope != null && oRecord != null) - { - return scope.widgets.dataTable.getTrEl(oRecord); - } - }, - - /** - * Get the row's selection element, i.e. checkbox, from the given dataTable record. - * - * @method getRowSelectElementFromDataTableRecord - * @param scope {object} The DocumentList object - * @param oRecord {object} - * @return {HTMLElement} row element - */ - getRowSelectElementFromDataTableRecord: function DL_VR_getRowSelectElementFromDataTableRecord(scope, oRecord) - { - if (scope != null && oRecord != null) - { - return Dom.get("checkbox-" + oRecord.getId()); - } - }, - - /** - * Custom event handler to highlight row. - * - * @method onEventHighlightRow - * @param scope {object} The DocumentList object - * @param oArgs.event {HTMLEvent} Event object. - * @param oArgs.target {HTMLElement} Target element. - * @param rowElement {HTMLElement} row element, optionally force a target other than event's - */ - onEventHighlightRow: function DL_VR_onEventHighlightRow(scope, oArgs, rowElement) - { - // Call through to get the row highlighted by YUI - scope.widgets.dataTable.onEventHighlightRow.call(scope.widgets.dataTable, oArgs); - - var targetElement; - if (rowElement) - { - targetElement = rowElement; - } - else - { - targetElement = oArgs.target; - } - - // elActions is the element id of the active table cell where we'll inject the actions - var elActions = Dom.get(scope.id + "-actions-" + targetElement.id); - - // Inject the correct action elements into the actionsId element - if (elActions && elActions.firstChild === null) - { - // Retrieve the actionSet for this record - var oRecord = scope.widgets.dataTable.getRecord(this.getDataTableRecordIdFromRowElement(scope, targetElement)); - if (oRecord !== null) - { - var record = oRecord.getData(), - jsNode = record.jsNode, - actions = record.actions, - actionsEl = document.createElement("div"), - actionHTML = "", - actionsSel; - - record.actionParams = {}; - for (var i = 0, ii = actions.length; i < ii; i++) - { - actionHTML += scope.renderAction(actions[i], record); - } - - // Token replacement - action Urls - actionsEl.innerHTML = YAHOO.lang.substitute(actionHTML, scope.getActionUrls(record)); - - // Simple or detailed view - Dom.addClass(actionsEl, "action-set"); - Dom.addClass(actionsEl, this.actionsCssClassName); - - // Need the "More >" container? - actionsSel = YAHOO.util.Selector.query("div", actionsEl); - if (actionsSel.length > scope.options.actionsSplitAt + this.actionsSplitAtModifier) - { - var moreContainer = Dom.get(scope.id + "-moreActions").cloneNode(true), - containerDivs = YAHOO.util.Selector.query("div", moreContainer); - - // Insert the two necessary DIVs before the third action item - Dom.insertBefore(containerDivs[0], actionsSel[scope.options.actionsSplitAt]); - Dom.insertBefore(containerDivs[1], actionsSel[scope.options.actionsSplitAt]); - - // Now make action items three onwards children of the 2nd DIV - var index, moreActions = actionsSel.slice(scope.options.actionsSplitAt); - for (index in moreActions) - { - if (moreActions.hasOwnProperty(index)) - { - containerDivs[1].appendChild(moreActions[index]); - } - } - } - - elActions.appendChild(actionsEl); - } - } - - if (!Dom.hasClass(document.body, "masked")) - { - scope.currentActionsMenu = elActions; - // Show the actions - Dom.removeClass(elActions, "hidden"); - } - }, - - /** - * Custom event handler to unhighlight row. - * - * @method onEventUnhighlightRow - * @param scope {object} The DocumentList object - * @param oArgs.event {HTMLEvent} Event object. - * @param oArgs.target {HTMLElement} Target element. - * @param rowElement {HTMLElement} row element, optionally force a target other than event's - */ - onEventUnhighlightRow: function DL_VR_onEventUnhighlightRow(scope, oArgs, rowElement) - { - // Call through to get the row unhighlighted by YUI - scope.widgets.dataTable.onEventUnhighlightRow.call(scope.widgets.dataTable, oArgs); - - var targetElement; - if (rowElement) - { - targetElement = rowElement; - } - else - { - targetElement = oArgs.target; - } - - var elActions = Dom.get(scope.id + "-actions-" + (targetElement.id)); - - // Don't hide unless the More Actions drop-down is showing, or a dialog mask is present - if (elActions || Dom.hasClass(document.body, "masked")) - { - if (scope.hideMoreActionsFn) - { - scope.hideMoreActionsFn.call(this); - } - // Just hide the action links, rather than removing them from the DOM - Dom.addClass(elActions, "hidden"); - } - }, - - /** - * Show more actions pop-up. - * - * @method onActionShowMore - * @param scope {object} The DocumentList object - * @param record {object} Object literal representing file or folder to be actioned - * @param elMore {element} DOM Element of "More Actions" link - */ - onActionShowMore: function DL_VR_onActionShowMore(scope, record, elMore) - { - // Fix "More Actions" hover style - Dom.addClass(elMore.firstChild, "highlighted"); - - // Get the pop-up div, sibling of the "More Actions" link - var elMoreActions = Dom.getNextSibling(elMore); - - // MNT-11703, MNT-12137 Menus disappearing off bottom of screen when clicking on more in list view - var scrollY = window.scrollY; - if (scrollY === undefined) - { - scrollY = document.documentElement.scrollTop; - } - - var visibleHeight = Dom.getViewportHeight() - (Dom.getY(elMore) - scrollY + elMore.offsetHeight); - - Dom.removeClass(elMoreActions, "hidden"); - - if (elMoreActions.offsetHeight > visibleHeight) - { - Dom.setY(elMoreActions, Dom.getY(elMore) - (elMoreActions.offsetHeight + 1)); - } - - var rBorderMoreX = Dom.getX(elMore) + elMore.offsetWidth; - var rBorderMoreActionsX = Dom.getX(elMoreActions) + elMoreActions.offsetWidth; - if (rBorderMoreX != rBorderMoreActionsX) - { - Dom.setX(elMoreActions, (Dom.getX(elMore) + elMore.offsetWidth - elMoreActions.offsetWidth)); - }; - - scope.hideMoreActionsFn = function DL_oASM_fnHidePopup() - { - scope.hideMoreActionsFn = null; - - Dom.removeClass(elMore.firstChild, "highlighted"); - Dom.addClass(elMoreActions, "hidden"); - }; - }, - - /** - * File or folder renamed event handler - * - * @method onFileRenamed - * @param scope {object} The DocumentList object - * @param layer {object} Event fired - * @param args {array} Event parameters (depends on event type) - */ - onFileRenamed: function DL_VR_onFileRenamed(scope, layer, args) - { - var obj = args[1]; - if (obj && (obj.file !== null)) - { - var recordFound = scope._findRecordByParameter(obj.file.node.nodeRef, "nodeRef"); - if (recordFound !== null) - { - scope.widgets.dataTable.updateRow(recordFound, obj.file); - var el = scope.widgets.dataTable.getTrEl(recordFound); - Alfresco.util.Anim.pulse(el); - } - } - }, - - /** - * Highlight file event handler - * Used when a component (including the DocList itself on loading) wants to scroll to and highlight a file - * - * @method onHighlightFile - * @param scope {object} The DocumentList object - * @param layer {object} Event fired (unused) - * @param args {array} Event parameters (filename to be highlighted) - */ - onHighlightFile: function DL_VR_onHighlightFile(scope, layer, args) - { - var obj = args[1]; - if ((obj !== null) && ($isValueSet(obj.fileName))) - { - Alfresco.logger.debug("DL_VR_onHighlightFile: ", obj.fileName); - var recordFound = scope._findRecordByParameter(obj.fileName, "displayName"); - if (recordFound !== null) - { - // Scroll the record into view and highlight it - var el = this.getRowElementFromDataTableRecord(scope, recordFound), - yPos = Dom.getY(el); - - if (YAHOO.env.ua.ie > 0) - { - yPos = yPos - (document.body.clientHeight / 3); - } - else - { - yPos = yPos - (window.innerHeight / 3); - } - window.scrollTo(0, yPos); - Alfresco.util.Anim.pulse(el); - scope.options.highlightFile = null; - - // Select the file - var rowSelectEl = this.getRowSelectElementFromDataTableRecord(scope, recordFound); - rowSelectEl.checked = true; - scope.selectedFiles[recordFound.getData("nodeRef")] = true; - YAHOO.Bubbling.fire("selectedFilesChanged"); - } - } - }, - - /** - * Sets the given message HTML as the text string of the YUI datatable - * - * @method _setEmptyDataSourceMessage - * @param scope {object} The DocumentList object - * @param messageHtml {string} the message HTML - */ - _setEmptyDataSourceMessage: function DL_VR_setEmptyDataSourceMessage(scope, messageHtml) - { - scope.widgets.dataTable.set("MSG_EMPTY", messageHtml); - }, - - /** - * Constructs the display of upload indicators and instructions for empty spaces. - * - * @method renderEmptyDataSourceHtml - * @param scope {object} The DocumentList object - * @param permissions {object} the current user's permissions - */ - renderEmptyDataSourceHtml: function DL_VR_renderEmptyDataSourceHtml(scope, permissions) - { - var me = scope; - - // Work out the current status of the document list (this will be used to determine what user assistance - // is provided if the doc list is empty, or appears as empty)... - var itemCounts = me.doclistMetadata.itemCounts, - empty = (itemCounts.documents === 0 && itemCounts.folders === 0), - hiddenFolders = (itemCounts.documents === 0 && !me.options.showFolders && itemCounts.folders > 0); - - // Define a re-usable function for seting IDs... - // Get the children of the supplied node and append "-instance" to any child nodes that have an - // "id" attribute in the template. This ensures that the clone has a unique ID within the - // page and can be accurately targeted later (i.e. to add event listeners to). - var updateIDs = function DL_updateIDs(node) - { - var children = Dom.getChildren(node); - for (var i = 0, ii = children.length; i < ii; i++) - { - if (children[i].id !== null && children[i].id !== "") - { - children[i].id += "-instance"; - } - } - }; - - // In documentlist.lib.ftl there are a number of DOM structures that are not displayed, these can - // cloned to display the relevant information to the user based on content, display options, site - // ownership and access rights. All of theses DOM "snippets" need to be added to a main container - // which controls the overall display (of borders, etc). - var template = Dom.get(me.id + "-main-template"), - main = template.cloneNode(true), - container = Dom.getFirstChild(main), - templateInstance = null, - elements = null; - - if (permissions) - { - me._userCanUpload = me.doclistMetadata.parent.permissions.user.CreateChildren && YAHOO.env.ua.mobile === null; - - // Only allow drag and drop behaviour if the filter is changed to an actual - // path (if the filter is anything else such as tags then there won't be a specific - // location to upload to!)... - me._removeDragAndDrop(); - if (me.currentFilter.filterId === "path" || me.currentFilter.filterId === "favourites") - { - me._addDragAndDrop(); - } - - if (me._userCanUpload && me.dragAndDropEnabled) - { - Dom.addClass(container, "docListInstructionsWithDND"); - } - else - { - Dom.addClass(container, "docListInstructions"); - } - - // Work out what to display based on the boolean values calculated earlier... - if (empty && !me._userCanUpload) - { - // If folder is empty, there are no hidden folders and the user cannot upload, then show the no items info... - template = Dom.get(me.id + "-no-items-template"); - templateInstance = template.cloneNode(true); - Dom.removeClass(templateInstance, "hidden"); - container.appendChild(templateInstance); - } - else if (hiddenFolders) - { - // ...or, if there are hidden subfolders then show the option to reveal them... - template = Dom.get(me.id + "-hidden-subfolders-template"); - templateInstance = template.cloneNode(true); - Dom.removeClass(templateInstance, "hidden"); - updateIDs(templateInstance); - elements = Dom.getElementsByClassName("docListLinkedInstruction", "a", templateInstance); - if (elements.length == 1) - { - elements[0].innerHTML = me.msg("show.folders", itemCounts.folders); - } - container.appendChild(templateInstance); - } - else if (empty && me._userCanUpload && me.dragAndDropEnabled) - { - // ...or, if the folder is empty, there are no hidden folders, the user can upload AND the browser supports - // the DND process, show the HTML5 DND instructions... - template = Dom.get(me.id + "-dnd-instructions-template"); - templateInstance = template.cloneNode(true); - Dom.removeClass(templateInstance, "hidden"); - container.appendChild(templateInstance); - } - else if (empty && me._userCanUpload && !me.dragAndDropEnabled) - { - // ...but if the folder is empty, there are no hidden folders, the user can upload BUT the browser does - // NOT support the DND process then just show the standard upload instructions... - template = Dom.get(me.id + "-upload-instructions-template"); - templateInstance = template.cloneNode(true); - Dom.removeClass(templateInstance, "hidden"); - updateIDs(templateInstance); - container.appendChild(templateInstance); - } - - if (empty && me._userCanUpload && me.dragAndDropEnabled) - { - // Clone the other options node... - template = Dom.get(me.id + "-other-options-template"); - templateInstance = template.cloneNode(true); - Dom.removeClass(templateInstance, "hidden"); - container.appendChild(templateInstance); - - if (empty && me._userCanUpload) - { - if (me.dragAndDropEnabled) - { - // Show the standard upload other options node... - template = Dom.get(me.id + "-standard-upload-template"); - templateInstance = template.cloneNode(true); - Dom.removeClass(templateInstance, "hidden"); - updateIDs(templateInstance); - container.appendChild(templateInstance); - } - - // Show the New Folder other options node... - template = Dom.get(me.id + "-new-folder-template"); - templateInstance = template.cloneNode(true); - Dom.removeClass(templateInstance, "hidden"); - updateIDs(templateInstance); - container.appendChild(templateInstance); - } - } - } - else - { - Dom.addClass(container, "docListInstructions"); - - // Work out what to display based on the boolean values calculated earlier... - if (hiddenFolders) - { - // If there are hidden subfolders then show the option to reveal them... - template = Dom.get(me.id + "-hidden-subfolders-template"); - templateInstance = template.cloneNode(true); - Dom.removeClass(templateInstance, "hidden"); - updateIDs(templateInstance); - elements = Dom.getElementsByClassName("docListLinkedInstruction", "a", templateInstance); - if (elements.length == 1) - { - elements[0].innerHTML = me.msg("show.folders", itemCounts.folders); - } - container.appendChild(templateInstance); - } - else - { - // Show the no items info... - template = Dom.get(me.id + "-no-items-template"); - templateInstance = template.cloneNode(true); - Dom.removeClass(templateInstance, "hidden"); - container.appendChild(templateInstance); - } - } - - // Add a node in with a style of "clear" set to both to ensure that the main div is given - // a height to accomodate the floated content... - var clearingNode = document.createElement("div"); - Dom.setStyle(clearingNode, "clear", "both"); - container.appendChild(clearingNode); - - this._setEmptyDataSourceMessage(me, main.innerHTML); - } - - }; - -})(); diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/documentlibrary/tree.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/documentlibrary/tree.js deleted file mode 100644 index d9724b42..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/documentlibrary/tree.js +++ /dev/null @@ -1,1164 +0,0 @@ -/** - * Copyright (C) 2005-2013 Alfresco Software Limited. - * - * This file is part of Alfresco - * - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - */ - -/** - * DocumentList TreeView component. - * - * @namespace Alfresco - * @class Alfresco.DocListTree - */ -(function() -{ - /** - * YUI Library aliases - */ - var Dom = YAHOO.util.Dom, - Event = YAHOO.util.Event; - - /** - * Alfresco Slingshot aliases - */ - var $combine = Alfresco.util.combinePaths; - - /** - * DocumentList TreeView constructor. - * - * @param {String} htmlId The HTML id of the parent element - * @return {Alfresco.DocListTree} The new DocListTree instance - * @constructor - */ - Alfresco.DocListTree = function DLT_constructor(htmlId) - { - Alfresco.DocListTree.superclass.constructor.call(this, "Alfresco.DocListTree", htmlId, ["treeview", "json"]); - - // Path filterId - this.filterId = "path"; - - // Register with Filter Manager - Alfresco.util.FilterManager.register(this.name, this.filterId); - - // Initialise prototype properties - this.currentFilter = {}; - this.pathsToExpand = []; - - // Decoupled event listeners - YAHOO.Bubbling.on("folderCopied", this.onFolderCopied, this); - YAHOO.Bubbling.on("folderCreated", this.onFolderCreated, this); - YAHOO.Bubbling.on("folderDeleted", this.onFolderDeleted, this); - YAHOO.Bubbling.on("folderMoved", this.onFolderMoved, this); - YAHOO.Bubbling.on("folderRenamed", this.onFolderRenamed, this); - YAHOO.Bubbling.on("filterChanged", this.onFilterChanged, this); - YAHOO.Bubbling.on("dropTargetOwnerRequest", this.onDropTargetOwnerRequest, this); - YAHOO.Bubbling.on("documentDragOver", this.onDocumentDragOver, this); - YAHOO.Bubbling.on("documentDragOut", this.onDocumentDragOut, this); - - return this; - }; - - YAHOO.extend(Alfresco.DocListTree, Alfresco.component.Base, - { - /** - * Object container for initialization options - */ - options: - { - /** - * Current siteId. - * - * @property siteId - * @type string - */ - siteId: "", - - /** - * ContainerId representing root container - * - * @property containerId - * @type string - * @default "documentLibrary" - */ - containerId: "documentLibrary", - - /** - * Evaluate child folders flag - * - * @property evaluateChildFolders - * @type boolean - * @default true - */ - evaluateChildFolders: true, - - /** - * Maximum folder count configuration setting - * - * @property maximumFolderCount - * @type int - * @default -1 - */ - maximumFolderCount: -1, - - /** - * Indicates whether or not to set each tree node as a YUI Drag and Drop - * target. - * - * @property setDropTargets - * @type boolean - * @default false - */ - setDropTargets: false, - - customFolderStyleConfig: null - }, - - /** - * Flag set after TreeView instantiated. - * - * @property isReady - * @type boolean - */ - isReady: false, - - /** - * Initial filter on page load. - * - * @property initialFilter - * @type string - */ - initialFilter: null, - - /** - * Current path being browsed. - * - * @property currentPath - * @type string - */ - currentPath: "", - - /** - * Currently active filter - * - * @property currentFilter - * @type object - */ - currentFilter: null, - - /** - * Tracks if this component is the active filter owner. - * - * @property isFilterOwner - * @type boolean - */ - isFilterOwner: false, - - /** - * Paths we have to expand as a result of a deep navigation event. - * - * @property pathsToExpand - * @type array - */ - pathsToExpand: null, - - /** - * Selected tree node. - * - * @property selectedNode - * @type {YAHOO.widget.Node} - */ - selectedNode: null, - - /** - * Fired by YUI when parent element is available for scripting - * @method onReady - */ - onReady: function DLT_onReady() - { - // Reference to self - used in inline functions - var me = this; - - // Create twister from our H2 tag - Alfresco.util.createTwister(this.id + "-h2", this.name.substring(this.name.lastIndexOf(".") + 1)); - - /** - * Dynamically loads TreeView nodes. - * This MUST be inline in order to have access to the Alfresco.DocListTree class. - * @method fnLoadNodeData - * @param node {object} Parent node - * @param fnLoadComplete {function} Expanding node's callback function - */ - this.fnLoadNodeData = function DLT_oR_fnLoadNodeData(node, fnLoadComplete) - { - // Get the path this node refers to - var nodePath = node.data.path; - - // Prepare URI for XHR data request - var uri = me._buildTreeNodeUrl.call(me, nodePath); - - // Prepare the XHR callback object - var callback = - { - success: function DLT_lND_success(oResponse) - { - var results = YAHOO.lang.JSON.parse(oResponse.responseText), item, treeNode; - - // Update parent node's nodeRef if we didn't have it before - if (results.parent && node.data.nodeRef.length === 0) - { - node.data.nodeRef = results.parent.nodeRef; - } - - if (results.items) - { - for (var i = 0, j = results.items.length; i < j; i++) - { - item = results.items[i]; - item.path = $combine(nodePath, item.name); - treeNode = this._buildTreeNode(item, node, false); - - if (!item.hasChildren) - { - treeNode.isLeaf = true; - } - } - } - - if (results.resultsTrimmed) - { - tempNode = new YAHOO.widget.TextNode( - { - label: "<" + this.msg("message.folders-trimmed", results.items.length) + ">", - hasIcon: false, - style: "folders-trimmed" - }, node, false); - } - - /** - * Execute the node's loadComplete callback method which comes in via the argument - * in the response object - */ - oResponse.argument.fnLoadComplete(); - - YAHOO.Bubbling.fire("docLibTreeLoadComplete"); - }, - - // If the XHR call is not successful, fire the TreeView callback anyway - failure: function DLT_lND_failure(oResponse) - { - if (oResponse.status == 401) - { - // Our session has likely timed-out, so refresh to offer the login page - window.location.reload(); - } - else - { - try - { - var response = YAHOO.lang.JSON.parse(oResponse.responseText); - - // Get the "Documents" node - var rootNode = this.widgets.treeview.getRoot(); - var docNode = rootNode.children[0]; - docNode.isLoading = false; - docNode.isLeaf = true; - if (oResponse.status == 403) - { - docNode.label = this.msg("message.refresh.failure.forbidden"); - } - else - { - docNode.label = response.message; - docNode.labelStyle = "ygtverror"; - } - rootNode.refresh(); - } - catch(e) - { - } - } - }, - - // Callback function scope - scope: me, - - // XHR response argument information - argument: - { - "node": node, - "fnLoadComplete": fnLoadComplete - } - }; - - // Make the XHR call using Connection Manager's asyncRequest method - YAHOO.util.Connect.asyncRequest('GET', uri, callback); - }; - - // Build the TreeView widget - this._buildTree(); - - this.isReady = true; - if (this.initialFilter !== null) - { - // We weren't ready for the first filterChanged event, so fake it here - this.onFilterChanged("filterChanged", - [ - null, - this.initialFilter - ]); - } - }, - - /** - * Handles "dropTargetOwnerRequest" by determining whether or not the target belongs to the TreeView - * widget, and if it does determines it's nodeRef and uses the callback function with it. - * - * @method onDropTargetOwnerRequest - * @property layer The name of the event - * @property args The event payload - */ - onDropTargetOwnerRequest: function DLT_onDropTargetOwnerRequest(layer, args) - { - if (args && args[1] && args[1].elementId) - { - var node = this.widgets.treeview.getNodeByElement(Dom.get(args[1].elementId)); - if (node != null) - { - // Perform the drag out to clear the highlight... - this.onDocumentDragOut(layer, args); - - var nodeRef = node.data.nodeRef; - var path = node.data.path; - args[1].callback.call(args[1].scope, nodeRef, path); - } - } - }, - - /** - * Handles applying the styling and node creation required when a document is dragged - * over a tree node. - * - * @method onDocumentDragOver - * @property layer The name of the event - * @property args The event payload - */ - onDocumentDragOver: function DLTB_onDocumentDragOver(layer, args) - { - if (args && args[1] && args[1].elementId) - { - var rootEl = this.widgets.treeview.getEl(); - if (args[1].event.clientX > rootEl.clientWidth) - { - // If the current x co-ordinate of the mouse pointer is greater than the width - // of the tree element then we shouldn't add a highlight. This is to address - // the issue where the overflow of wide tree nodes is hidden behind the - // document list. Without this test it is possible to show a highlight on - // a tree node when it appears as though the mouse is not over it. - } - else - { - // The current x co-ordinate of the mouse pointer is within the tree element so - // the node can be highlighted... - var dropTargetEl = Dom.get(args[1].elementId); - if (dropTargetEl != this.widgets.treeview.getEl()) - { - var node = this.widgets.treeview.getNodeByElement(dropTargetEl); - if (node != null) - { - var currEl = dropTargetEl; - while (currEl.tagName != "TABLE") - { - currEl = currEl.parentNode; - } - Dom.addClass(currEl, "documentDragOverHighlight"); - - var folderCell = dropTargetEl.children[dropTargetEl.children.length - 2]; - while (folderCell.children.length == 1) - { - var arrowSpan = document.createElement("span"); - Dom.addClass(arrowSpan, "documentDragOverArrow"); - folderCell.appendChild(arrowSpan); - } - } - } - } - } - }, - - /** - * Handles applying the styling and node deletion required when a document is dragged - * out of a tree node. - * - * @method onDocumentDragOut - * @property layer The name of the event - * @property args The event payload - */ - onDocumentDragOut: function DLTB_onDocumentDragOut(layer, args) - { - if (args && args[1] && args[1].elementId) - { - var dropTargetEl = Dom.get(args[1].elementId); - if (dropTargetEl == this.widgets.treeview.getEl()) - { - // If the document has been dragged out of the tree element then we need - // to remove any highlight and arrow from previously highlighted tree nodes. - // This would be the case if the highlighted tree node is wider than the - // tree element and the mouse has moved to the right of the splitter so is - // outside of the tree but still over the tree node... - var highlights = Dom.getElementsByClassName("documentDragOverHighlight", "table", dropTargetEl); // Should be only one - for (var i = 0, j = highlights.length; i < j ; i++) - { - Dom.removeClass(highlights[i], "documentDragOverHighlight"); - } - var arrows = Dom.getElementsByClassName("documentDragOverArrow", "span", dropTargetEl); - for (var i = 0, j = arrows.length; i < j ; i++) - { - arrows[i].parentNode.removeChild(arrows[i]); - } - } - else - { - // If the document has been dragged out of a tree node then we need to - // remove the highlight and arrow previously added when the document was - // dragged over it... - var node = this.widgets.treeview.getNodeByElement(dropTargetEl); - if (node != null) - { - var currEl = dropTargetEl; - while (currEl.tagName != "TABLE") - { - currEl = currEl.parentNode; - } - Dom.removeClass(currEl, "documentDragOverHighlight"); - var folderCell = dropTargetEl.children[dropTargetEl.children.length - 2]; - while (folderCell.children.length > 1) - { - folderCell.removeChild(Dom.getLastChild(folderCell)); - } - } - } - } - }, - - /** - * Fired by YUI TreeView when a node has finished expanding - * @method onExpandComplete - * @param oNode {YAHOO.widget.Node} the node recently expanded - */ - onExpandComplete: function DLT_onExpandComplete(oNode) - { - // Make sure the tree's Dom has been updated - this.widgets.treeview.render(); - - // Redrawing the tree will clear the highlight - if (this.isFilterOwner) - { - this._showHighlight(true); - } - - if (this.pathsToExpand && this.pathsToExpand.length > 0) - { - var node = this.widgets.treeview.getNodeByProperty("path", this.pathsToExpand.shift()); - if (node !== null) - { - if (node.data.path == this.currentPath) - { - this._updateSelectedNode(node); - } - Alfresco.logger.debug("node.expand: DLT_onExpandComplete"); - node.expand(); - } - } - else if (this.initialFilter !== null) - { - // We missed the filterChanged event, so fake it here - this.onFilterChanged("filterChanged", - [ - null, - { - filterId: this.initialFilter.filterId, - filterOwner: this.initialFilter.filterOwner, - filterData: this.initialFilter.filterData - } - ]); - this.initialFilter = null; - } - else - { - // Finished expanding, can now safely set DND targets... - this._applyDropTargets(); - } - }, - - /** - * Creates the drag and drop targets within the tree. The targets get removed - * each time that the tree is refreshed in anyway, so it is imperative that they - * get reset when required. - * - * @method _applyDropTargets - */ - _applyDropTargets: function DLT__applyDropTargets() - { - if (this.options.setDropTargets) - { - var rootEl = this.widgets.treeview.getEl(); - - // Set the root element of the tree as a drop target. This is necessary in order - // to handle the specific problem of the hidden overflow of tree nodes being at - // the same location of the screen as the main DocumentList drop targets. Drop events - // will be ignored for this element, but dragOut events will be used to ensure that - // all tree highlights are cleared. - new YAHOO.util.DDTarget(rootEl); - Dom.addClass(rootEl, "documentDroppableHighlights"); - - var dndTargets = Dom.getElementsByClassName("ygtvrow", "tr", rootEl); - for (var i = 0, j = dndTargets.length; i < j; i++) - { - new YAHOO.util.DDTarget(dndTargets[i]); - Dom.addClass(dndTargets[i], "documentDroppable"); - Dom.addClass(dndTargets[i], "documentDroppableHighlights"); - } - } - }, - - /** - * Fired by YUI TreeView when a node label is clicked - * @method onNodeClicked - * @param args.event {HTML Event} the event object - * @param args.node {YAHOO.widget.Node} the node clicked - * @return allowExpand {boolean} allow or disallow node expansion - */ - onNodeClicked: function DLT_onNodeClicked(args) - { - var node = args.node; - - if (this.isFilterOwner && node == this.selectedNode) - { - YAHOO.Bubbling.fire("metadataRefresh"); - } - else - { - this._updateSelectedNode(node); - - // Fire the change filter event - YAHOO.Bubbling.fire("changeFilter", - { - filterOwner: this.name, - filterId: this.filterId, - filterData: node.data.path - }); - } - - Event.stopEvent(args.event); - // Prevent the tree node from expanding (TODO: user preference?) - return false; - }, - - /** - * Path changed handler - * @method pathChanged - * @param path {string} New path - * @param flags {object} Logic control flags - */ - pathChanged: function DLT_pathChanged(path, flags) - { - // ensure path starts with leading slash - path = $combine("/", path); - this.currentPath = path; - - // Search the tree to see if this path's node is expanded - var node = this.widgets.treeview.getNodeByProperty("path", path); - if (node !== null) - { - // Node found - this._updateSelectedNode(node); - if (!node.expanded) - { - Alfresco.logger.debug("node.expand: DLT_pathChanged", path); - node.expand(); - } - while (node.parent !== null) - { - node = node.parent; - if (!node.expanded) - { - Alfresco.logger.debug("node.expand: DLT_onPathChanged (parent)", path); - node.expand(); - } - } - return; - } - - /** - * The path's node hasn't been loaded into the tree. Create a stack - * of parent paths that we need to expand one-by-one in order to - * eventually display the current path's node - */ - var paths = path.split("/"), - expandPath = "/"; - // Check for root path special case (split will have created 2 empty array members) - if (path === "/") - { - paths = [""]; - } - for (var i = 0; i < paths.length; i++) - { - // Push the path onto the list of paths to be expanded - expandPath = $combine(expandPath, paths[i]); - this.pathsToExpand.push(expandPath); - } - - // Kick off the expansion process by expanding the first unexpanded path - do - { - node = this.widgets.treeview.getNodeByProperty("path", this.pathsToExpand.shift()); - } while (this.pathsToExpand.length > 0 && node && node.expanded); - - if (node !== null) - { - Alfresco.logger.debug("node.expand: DLT_onPathChanged (pathsToExpand)", this.pathsToExpand); - node.expand(); - } - }, - - - /** - * BUBBLING LIBRARY EVENT HANDLERS FOR PAGE EVENTS - * Disconnected event handlers for inter-component event notification - */ - - /** - * Fired when a folder has been renamed - * @method onFolderRenamed - * @param layer {string} the event source - * @param args {object} arguments object - */ - onFolderRenamed: function DLT_onFolderRenamed(layer, args) - { - var obj = args[1]; - if (obj && (obj.file !== null)) - { - var node = this.widgets.treeview.getNodeByProperty("nodeRef", obj.file.node.nodeRef); - if (node !== null) - { - var index = -1; - var replacePaths = function(node) - { - // rebuild path based on existing node path data - otherwise repointed root node may not be taken into account - var paths = node.data.path.split("/"); - - if (index < 0) - { - paths.pop(); - index = paths.length; - node.data.path = $combine(paths.join("/"), obj.file.location.file); - } - else - { - paths[index] = obj.file.displayName; - node.data.path = paths.join("/"); - } - - if (node.hasChildren) - { - for (var i = 0; i < node.children.length; i++) - { - replacePaths(node.children[i]); - } - } - }; - - // Node found, so rename it and replace the paths - replacePaths(node); - node.label = obj.file.displayName; - - this.widgets.treeview.render(); - this._showHighlight(true); - } - } - - // Make sure that the drag and drop targets are correctly set... - this._applyDropTargets(); - }, - - /** - * Fired when a folder has been copied - * - * Event data contains: - * nodeRef - the nodeRef of the newly copied object - * destination - new parent path - * @method onFolderCopied - * @param layer {string} the event source - * @param args {object} arguments object - */ - onFolderCopied: function DLT_onFolderCopied(layer, args) - { - var obj = args[1]; - if (obj !== null) - { - if (obj.nodeRef && obj.destination) - { - // Do we have the parent of the node's copy loaded? - var nodeDest = this.widgets.treeview.getNodeByProperty("path", $combine("/", obj.destination)); - if (nodeDest) - { - if (nodeDest.expanded) - { - this._sortNodeChildren(nodeDest); - } - else - { - nodeDest.isLeaf = false; - } - } - - this.widgets.treeview.render(); - this._showHighlight(true); - } - } - - // Make sure that the drag and drop targets are correctly set... - this._applyDropTargets(); - }, - - /** - * Fired when a folder has been created - * @method onFolderCreated - * @param layer {string} the event source - * @param args {object} arguments object - */ - onFolderCreated: function DLT_onFolderCreated(layer, args) - { - var obj = args[1]; - if (obj && (obj.parentNodeRef !== null)) - { - var parentNode = this.widgets.treeview.getNodeByProperty("nodeRef", obj.parentNodeRef); - if (parentNode !== null) - { - if (!parentNode.hasChildren() && parentNode.isLeaf === true) - { - // load children dynamically on render (ACE-2341, MNT-11763) - parentNode.dynamicLoadComplete = false; - } - this._sortNodeChildren(parentNode); - } - } - }, - - /** - * Fired when a folder has been deleted - * @method onFolderDeleted - * @param layer {string} the event source - * @param args {object} arguments object - */ - onFolderDeleted: function DLT_onFolderDeleted(layer, args) - { - var obj = args[1]; - if (obj !== null) - { - var node = null; - - if (obj.path) - { - // ensure path starts with leading slash - node = this.widgets.treeview.getNodeByProperty("path", $combine("/", obj.path)); - } - else if (obj.nodeRef) - { - node = this.widgets.treeview.getNodeByProperty("nodeRef", obj.nodeRef); - } - - if (node !== null) - { - var parentNode = node.parent; - // Node found, so delete it - this.widgets.treeview.removeNode(node); - // Have all the parent child nodes been removed now? - if (parentNode !== null) - { - if (!parentNode.hasChildren()) - { - parentNode.isLeaf = true; - } - } - this.widgets.treeview.render(); - this._showHighlight(true); - } - } - - // Make sure that the drag and drop targets are correctly set... - this._applyDropTargets(); - }, - - /** - * Fired when a folder has been moved - * - * Event data contains: - * nodeRef - the nodeRef of the moved object - * destination - new parent path - * @method onFolderMoved - * @param layer {string} the event source - * @param args {object} arguments object - */ - onFolderMoved: function DLT_onFolderMoved(layer, args) - { - var obj = args[1]; - if (obj !== null) - { - if (typeof obj.nodeRef !== "undefined" && typeof obj.destination !== "undefined") - { - var nodeSrc = null; - - // we should be able to find the original node - nodeSrc = this.widgets.treeview.getNodeByProperty("nodeRef", obj.nodeRef); - - if (nodeSrc !== null) - { - var parentNode = nodeSrc.parent; - // Node found, so delete it - this.widgets.treeview.removeNode(nodeSrc, true); - // Have all the parent's child nodes been removed now? - if (parentNode !== null) - { - if (!parentNode.hasChildren()) - { - parentNode.isLeaf = true; - } - } - // Do we have the node's new parent loaded? - var nodeDest = this.widgets.treeview.getNodeByProperty("path", $combine("/", obj.destination)); - if (nodeDest) - { - // The node may already be loading if this was a multiple-folder move - if (!nodeDest.isLoading) - { - if (nodeDest.isLeaf) - { - nodeDest.isLeaf = false; - } - else if (nodeDest.expanded) - { - this._sortNodeChildren(nodeDest); - } - this.widgets.treeview.render(); - this._showHighlight(true); - } - } - } - } - } - - // Make sure that the drag and drop targets are correctly set... - this._applyDropTargets(); - }, - - /** - * Fired when the currently active filter has changed - * @method onFilterChanged - * @param layer {string} the event source - * @param args {object} arguments object - */ - onFilterChanged: function DLT_onFilterChanged(layer, args) - { - var obj = args[1]; - if ((obj !== null) && (obj.filterId !== null)) - { - obj.filterOwner = obj.filterOwner || Alfresco.util.FilterManager.getOwner(obj.filterId); - - // Defer if event received before we're ready - if (!this.isReady) - { - this.initialFilter = Alfresco.util.cleanBubblingObject(obj); - Alfresco.logger.debug("DLT_onFilterChanged (deferring)", this.initialFilter); - return; - } - - Alfresco.logger.debug("DLT_onFilterChanged", obj); - this.initialFilter = null; - - this.currentFilter = Alfresco.util.cleanBubblingObject(obj); - this.isFilterOwner = (obj.filterOwner == this.name); - if (this.isFilterOwner) - { - this.pathChanged(this.currentFilter.filterData, obj); - } - this._showHighlight(this.isFilterOwner); - } - }, - - - /** - * PRIVATE FUNCTIONS - */ - - /** - * Creates the TreeView control and renders it to the parent element. - * @method _buildTree - * @private - */ - _buildTree: function DLT__buildTree() - { - // Create a new tree - var tree = new YAHOO.widget.TreeView(this.id + "-treeview"); - this.widgets.treeview = tree; - - // Having both focus and highlight are just confusing (YUI 2.7.0 addition) - YAHOO.widget.TreeView.FOCUS_CLASS_NAME = ""; - - // Turn dynamic loading on for entire tree - tree.setDynamicLoad(this.fnLoadNodeData); - - // Get root node for tree - var root = tree.getRoot(); - - // Add default top-level node - this._buildTreeNode( - { - name: Alfresco.util.message("node.root", this.name), - path: "/", - nodeRef: "" - }, root, false); - - // Register tree-level listeners - tree.subscribe("clickEvent", this.onNodeClicked, this, true); - tree.subscribe("expandComplete", this.onExpandComplete, this, true); - - // Render tree with this one top-level node - tree.render(); - }, - - /** - * @method _sortNodeChildren - * @param node {object} Parent node - * @param onSortComplete {object} Optional callback object literal - * @private - */ - _sortNodeChildren: function DLT__sortNodeChildren(node, onSortComplete) - { - // Is the node a leaf? - if (node.isLeaf) - { - // Yes, so clearing the leaf flag and redrawing will automatically query the child nodes - node.isLeaf = false; - this.widgets.treeview.render(); - this._showHighlight(true); - return; - } - - // Get the path this node refers to - var nodePath = node.data.path; - - // Prepare URI for XHR data request - var uri = this._buildTreeNodeUrl(nodePath); - - // Prepare the XHR callback object - var callback = - { - success: function DLT_sNC_success(oResponse) - { - var results = YAHOO.lang.JSON.parse(oResponse.responseText); - - if (results.items) - { - var kids = oResponse.argument.node.children; - var items = results.items; - for (var i = 0, j = items.length; i < j; i++) - { - if ((kids.length <= i) || (kids[i].data.nodeRef != items[i].nodeRef)) - { - // Node has moved - search for correct node for this position and swap if found - var kidFound = false; - for (var m = i, n = kids.length; m < n; m++) - { - if (kids[m].data.nodeRef == items[i].nodeRef) - { - var temp = kids[i]; - kids[i] = kids[m]; - kids[m] = temp; - kidFound = true; - break; - } - } - - // If we get here we couldn't find the node, so create one and insert it - if (!kidFound) - { - var item = items[i]; - item.path = $combine(oResponse.argument.node.data.path, item.name); - var tempNode = this._buildTreeNode(item); - - if (!item.hasChildren) - { - tempNode.isLeaf = true; - } - - if (kids.length === 0) - { - var parentNode = oResponse.argument.node; - parentNode.isLeaf = false; - tempNode.appendTo(parentNode); - } - else if (kids.length > i) - { - tempNode.insertBefore(kids[i]); - } - else - { - tempNode.insertAfter(kids[kids.length - 1]); - } - } - } - } - - // Update the tree - this.widgets.treeview.render(); - this._showHighlight(true); - - // Execute the onSortComplete callback - var callback = oResponse.argument.onSortComplete; - if (callback && typeof callback.fn == "function") - { - callback.fn.call(callback.scope ? callback.scope : this, callback.obj); - } - - // Make sure that the drag and drop targets are correctly set... - this._applyDropTargets(); - } - }, - - // If the XHR call is not successful, no further processing - tree may not be sorted correctly - failure: function DLT_sNC_failure(oResponse) - { - Alfresco.logger.error("DLT_sNC_failure", oResponse); - }, - - // XHR response argument information - argument: - { - node: node, - onSortComplete: onSortComplete - }, - - scope: this, - - // Timeout -- abort the transaction after 7 seconds - timeout: 7000 - }; - - // Make the XHR call using Connection Manager's asyncRequest method - YAHOO.util.Connect.asyncRequest('GET', uri, callback); - }, - - /** - * Highlights the currently selected node. - * @method _showHighlight - * @param isVisible {boolean} Whether the highlight is visible or not - * @private - */ - _showHighlight: function DLT__showHighlight(isVisible) - { - if (this.selectedNode !== null) - { - if (isVisible) - { - Dom.addClass(this.selectedNode.getEl(), "selected"); - } - else - { - Dom.removeClass(this.selectedNode.getEl(), "selected"); - } - } - }, - - /** - * Updates the currently selected node. - * @method _updateSelectedNode - * @param node {object} New node to set as currently selected one - * @private - */ - _updateSelectedNode: function DLT__updateSelectedNode(node) - { - if (this.isFilterOwner) - { - this._showHighlight(false); - this.selectedNode = node; - this._showHighlight(true); - } - else - { - this.selectedNode = node; - } - }, - - /** - * Build a tree node using passed-in data - * - * @method _buildTreeNode - * @param p_oData {object} Object literal containing required data for new node - * @param p_oParent {object} Optional parent node - * @param p_expanded {object} Optional expanded/collaped state flag - * @return {YAHOO.widget.TextNode} The new tree node - */ - _buildTreeNode : function DLT__buildTreeNode(p_oData, p_oParent, p_expanded) - { - var label = p_oData.title; - if (!label || label === "" || label.includes(".ftl") === true || p_oData.path === "/Sites") { - label = p_oData.name - } - var treeNode = new YAHOO.widget.TextNode( - { - label : label, - path : p_oData.path, - nodeRef : p_oData.nodeRef, - description : p_oData.description - }, p_oParent, p_expanded); - var customStyleClass = this._buildCustomStyleClass(p_oData); - treeNode.customCls = customStyleClass; - return treeNode; - }, - /** - * Gets resource style specified in the {style} configuration that corresponds with matching filter - * from share-documentlibrary-config.xml [CommonComponentStyle][component-style], {browse.folder} component, or null if the filter does not match. - * - * The returned value is used to be set to the treeNode as customCls attribute, used for rendering custom icons in treeView. - * @param p_oData - */ - _buildCustomStyleClass : function DLT__buildCustomStyleClass(p_oData) - { - var customStyleClass = null; - if (this.options.customFolderStyleConfig) - { - var filterChain = new Alfresco.CommonComponentStyleFilterChain(p_oData, - this.options.customFolderStyleConfig.browse.folder); - customStyleClass = filterChain.createCustomStyle(); - } - return customStyleClass; - }, - - /** - * Build URI parameter string for treenode JSON data webscript - * - * @method _buildTreeNodeUrl - * @param path {string} Path to query - */ - _buildTreeNodeUrl: function DLT__buildTreeNodeUrl(path) - { - var uriTemplate ="slingshot/doclib/treenode/site/" + $combine(encodeURIComponent(this.options.siteId), encodeURIComponent(this.options.containerId), Alfresco.util.encodeURIPath(path)); - uriTemplate += "?perms=false&children=" + this.options.evaluateChildFolders + "&max=" + this.options.maximumFolderCount; - return Alfresco.constants.PROXY_URI + uriTemplate; - } - }); -})(); diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/search/advsearch.get.properties b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/search/advsearch.get.properties deleted file mode 100755 index 985d14bd..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/search/advsearch.get.properties +++ /dev/null @@ -1,11 +0,0 @@ -button.search=Search -label.lookfor=Look for -label.keywords=Keywords - -# Form descriptions -search.form.label.cm_content=Content -search.form.desc.cm_content=Searches for all types of content -search.form.label.cm_folder=Folders -search.form.desc.cm_folder=Searches for all folders and containers -search.form.label.sysml_element=Model Elements -search.form.desc.sysml_element=Searches for all model elements \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/wiki/page.get.html.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/wiki/page.get.html.ftl deleted file mode 100755 index eaff4468..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/components/wiki/page.get.html.ftl +++ /dev/null @@ -1,238 +0,0 @@ -<@markup id="css" > - <#-- CSS Dependencies --> - <@link href="${url.context}/res/components/wiki/wiki.css" group="wiki"/> - <@link href="${url.context}/res/modules/document-picker/document-picker.css" group="wiki"/> - <@link href="${url.context}/res/components/object-finder/object-finder.css" group="wiki"/> - <@link href="${url.context}/res/modules/simple-editor.css" group="wiki"/> - <@link href="${url.context}/res/modules/taglibrary/taglibrary.css" group="wiki"/> - <@link href="${url.context}/res/modules/wiki/revert-wiki-version.css" group="wiki"/> - - -<@markup id="js"> - <#-- JavaScript Dependencies --> - <@script src="${url.context}/res/components/wiki/parser.js" group="wiki"/> - <@script src="${url.context}/res/components/wiki/page.js" group="wiki"/> - <@script src="${url.context}/res/modules/document-picker/document-picker.js" group="wiki"/> - <@script src="${url.context}/res/components/object-finder/object-finder.js" group="wiki"/> - <@script src="${url.context}/res/modules/simple-editor.js" group="wiki"/> - <@script src="${url.context}/res/modules/taglibrary/taglibrary.js" group="wiki"/> - <@script src="${url.context}/res/modules/wiki/revert-wiki-version.js" group="wiki"/> - - -<@markup id="widgets"> - <@createWidgets group="wiki"/> - - -<@markup id="html"> - - <@uniqueIdDiv> - <#-- Version History --> - <#if (result.versionhistory?? && result.versionhistory?size > 0)> - <#assign currentVersion = result.versionhistory[0].version> - <#else> - <#assign currentVersion = ""> - - <#-- Permissions --> - <#if result.permissions??> - <#assign permissions = result.permissions> - <#else> - <#assign permissions = {}> - - <#-- Error State? --> - <#assign errorState = (!result.pagetext?? && result.message??)> - - <#-- Note, since result.pagetext has already been stripped by the page.get.js script --> -
- -
-
${page.url.args["title"]?replace("_", " ")?html}
-
- <#assign action = page.url.args.action!"view"> - <#assign tabs = - [ - { - "label": msg("tab.view"), - "action": "view", - "permitted": !errorState - }, - { - "label": msg("tab.edit"), - "action": "edit", - "permitted": permissions["edit"]!false - }, - { - "label": msg("tab.details"), - "action": "details", - "permitted": !errorState - } - ]> - <#list tabs as tab> - <#if tab.action == action> - ${tab.label} - <#elseif tab.permitted == false> - ${tab.label} - <#else> - ${tab.label} - - <#if tab_has_next> - | - - -
-
-
-
-
- <#if action == "view"> -
<#if result.pagetext??>${result.pagetext}<#elseif result.message??>${result.message}
- <#elseif action == "edit"> -
-
-
- <#assign pageContext = page.url.context + "/page/site/" + page.url.templateArgs.site + "/wiki-page?title=" + page.url.args.title?url> - - - -
-
- -
-
- -
-
-
-
- -
-
- <#import "/org/alfresco/modules/taglibrary/taglibrary.lib.ftl" as taglibraryLib/> - <@taglibraryLib.renderTagLibraryHTML htmlid=args.htmlid /> -
-
-
-
 
-
-
- - -
-
-
-
-
-
- <#elseif action == "details"> -
-
-
-
-

- ${(result.title!"")?html} - <#if result.versionhistory??><#list result.versionhistory as version><#if version_index == 0>${msg("label.shortVersion")}${version.version} -

-
-
- <#if result.versionhistory??> -
- <#list result.versionhistory as version> - <#if version_index == 0> - - -
-
${msg("label.viewVersion")}
- -
-
-
- <#-- PAGE CONTENT GOES HERE --> - <#if result.pagetext??>${result.pagetext} -
-
-
-
-
${msg("label.versionHistory")}
- <#if result.versionhistory??> - <#assign canRevert = permissions["edit"]!false> - <#list result.versionhistory as version> - <#if version_index == 0> -
- ${msg("section.thisVersion")} -
- - <#if version_index == 1> -
- ${msg("section.olderVersion")} -
- -
- -   -
-
style="display: none;"> -
- ${msg("label.title")} - ${version.title?html} -
-
- ${msg("label.creator")} - ${version.author?html} -
- <#if version_index != 0> -
- <#if canRevert> - ${msg("link.revert")} - <#else> - ${msg("link.revert")} - -
- -
- - -
-
-
${msg("label.tags")}
-
- <#if result.tags?? && result.tags?size > 0> - <#list result.tags as tag> -
${tag}
- - <#else> - ${msg("label.none")} - -
-
-
-
${msg("label.linkedPages")}
- - -
-
-
- -
-
- - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.get.desc.xml b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.get.desc.xml deleted file mode 100755 index afde1315..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.get.desc.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - DocWeb Config Module - Configuration dialog for DocWeb dashlet - /modules/docweb/config - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.get.html.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.get.html.ftl deleted file mode 100755 index 1b330679..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.get.html.ftl +++ /dev/null @@ -1,18 +0,0 @@ -<#assign el=args.htmlid?html> -
-
${msg("label.title")}
-
-
-
-
:
-
 
-
:
-
 *
-
-
- - -
-
-
-
diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.get.properties b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.get.properties deleted file mode 100755 index 34c05176..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.get.properties +++ /dev/null @@ -1,3 +0,0 @@ -label.title=Configure DocWeb Dashlet -label.linkTitle=Link Title -label.url=URL diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.post.desc.xml b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.post.desc.xml deleted file mode 100755 index d80befe0..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.post.desc.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - DocWeb Config post - Configuration dialog for DocWeb dashlet - /modules/docweb/config/{componentId} - argument - user - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.post.json.ftl b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.post.json.ftl deleted file mode 100755 index 96784747..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.post.json.ftl +++ /dev/null @@ -1,6 +0,0 @@ -<#escape x as jsonUtils.encodeJSONString(x)> -{ - "uri": "${uri}", - "title": "${(docwebTitle!uri)}" -} - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.post.json.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.post.json.js deleted file mode 100755 index 6a37ccde..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/modules/docweb/config-docweb.post.json.js +++ /dev/null @@ -1,20 +0,0 @@ -var c = sitedata.getComponent(url.templateArgs.componentId); - -var uri = String(json.get("url")); -var docwebTitle = String(json.get("docwebTitle")); -c.properties["webviewTitle"] = docwebTitle; -model.docwebTitle = (docwebTitle == "") ? null : docwebTitle; - -if (uri !== "") -{ - var re = /^(http|https):\/\//; - if (!re.test(uri)) - { - uri = "http://" + uri; - } - c.properties["docwebURI"] = uri; - model.uri = uri; -} - -c.save(); - diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/share/imports/share-header.lib.js b/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/share/imports/share-header.lib.js deleted file mode 100755 index 2b0a0127..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/site-webscripts/org/alfresco/share/imports/share-header.lib.js +++ /dev/null @@ -1,1681 +0,0 @@ - -/* ********************************************************************************* - * * - * LICENSE INFO * - * * - ***********************************************************************************/ - -/** - * - * @returns {object} The usage information for the current license. - */ -function getLicenseUsage() { - // Only retrieve license usage information for the first few seconds after login - // this ensures the usage information is not continually queried. - // This could be improved by having a central usage service on the web-tier that - // is responsible for retrieving the usage in a more sensible schedule. - var usage = null; - if (user.properties["alfUserLoaded"] > new Date().getTime() - 5000) - { - // retrieve license usage information - var result = remote.call("/api/admin/usage"); - if (result.status.code == status.STATUS_OK) - { - usage = JSON.parse(result); - } - } - return usage; -} - -/* ********************************************************************************* - * * - * USER GROUP INFO * - * * - ***********************************************************************************/ - -/** - * - * @returns {object} The group information for the current user - */ -function getUserGroupData() { - var userData = {}; - var groups = user.properties["alfUserGroups"]; - if (groups != null) - { - groups = groups.split(","); - var processedGroups = {}; - for (var i=0; i 1) - { - var numericalIndex = index.substr(1); - if (!isNaN(numericalIndex)) - { - orderedRecentSites[numericalIndex] = recentSites[index]; - } - } - } - - // Clean up the array... - for (var i=0; i < orderedRecentSites.length; i++) - { - // Remove any gaps... - if (orderedRecentSites[i] === undefined) - { - orderedRecentSites.splice(i,1); - } - else if (orderedRecentSites[i] == siteId) - { - // If the current recent site is the site being visited then it needs to go to the top of the list - currentSiteIndex = i; - } - } - - // Update the array... - if (siteId) - { - if (currentSiteIndex == null) - { - // We're on a site but it's not in the list. We need to push the site to the top of the list and - // remove the last element (if the list already contains 10 entries). - orderedRecentSites.unshift(siteId); // Push the current site to the front of the queue - updateRequired = true; - } - else if (currentSiteIndex !== 0) - { - // We're on a site and it's not the most recent site (this would be the case when moving between pages - // in a site, e.g. from the dashboard to the document library. In that instance we wouldn't want to - // save any changes to recent sites because it would be an unnecessary post. - orderedRecentSites.splice(currentSiteIndex, 1); // Remove the siteId from it's current location - orderedRecentSites.unshift(siteId); // Push it to the front of the queue - updateRequired = true; - } - } - - var maxRecentSites = 5; - if (config.global.header && config.global.header.maxRecentSites) - { - maxRecentSites = config.global.header.maxRecentSites; - } - while (orderedRecentSites.length > maxRecentSites) - { - orderedRecentSites.pop(); // Remove the last entry - updateRequired = true; - } - - if (updateRequired) - { - // Build a map of the latest recent sites information to save as the latest preferences. - // Even if a save isn't required this object is useful for building the Recent Site menu - // item widget configuration... - var recentSitePrefsUpdate = {}; - for (var i=0; i < orderedRecentSites.length; i++) - { - // The "_" prefix is to prevent org.mozilla.javascript.UniqueTag errors... - recentSitePrefsUpdate["_" + i] = orderedRecentSites[i]; - } - - // Construct the JSON object with the updated Recent Site preferences and save them back to the repository... - var recentSitesUpdate = { org : { alfresco : { share : { sites: { recent : recentSitePrefsUpdate}}}}}; - var jsonString = jsonUtils.toJSONString(recentSitesUpdate); - var connector = remote.connect("alfresco"); - connector.post("/api/people/" + encodeURIComponent(user.name) + "/preferences", jsonString, "application/json"); - } - } -} - -/* ********************************************************************************* - * * - * CONSTRUCT SITE NAVIGATION MENU ITEMS * - * * - ***********************************************************************************/ - -/** - * Collaboration Site Title component GET method - */ -function getSiteData() -{ - var siteId = page.url.templateArgs.site, - siteData = null; - if (siteId != null) - { - if (model.siteData == null) - { - // Call the repository for the site profile - var json = remote.call("/api/sites/" + siteId); - var profile = - { - title: "", - shortName: "", - visibility: "PRIVATE" // Default to PRIVATE as if the site is PRIVATE and the user doesn't have access, this won't get updated!! - }; - - if (json.status == 200) - { - // Create javascript objects from the repo response - var obj = JSON.parse(json); - if (obj) - { - profile = obj; - } - } - - // Call the repository to see if the user is site manager or not - var userIsSiteManager = false, - userIsMember = false; - json = remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships/" + encodeURIComponent(user.name)); - if (json.status == 200) - { - var obj = JSON.parse(json); - if (obj) - { - userIsMember = true; - userIsSiteManager = obj.role == "SiteManager"; - } - } - - siteData = {}; - siteData.profile = profile; - siteData.userIsSiteManager = userIsSiteManager; - siteData.userIsMember = userIsMember; - - // Store this in the model to allow for repeat calls to the function (and therefore - // prevent multiple REST calls to the Repository)... - // It also needs to be set in the model as the "userIsSiteManager" is required by the template... - model.siteData = siteData; - } - else - { - siteData = model.siteData; - } - } - return siteData; -} - -/** - * @method getPages - * @param includeUnusedPages IF true all pages will be returned, if false only the pages used by the current site - * @return the pages used in the site and optionally unused as well, if so at the end of list. - * [ - * { - * pageId: {String} // The id of the page - * pageUrl: {String} // The page's url, either page id or overriden in the the share-config.xml SitePages/pages/page - * sitePageTitle: {String} // Title, if given by the Site's administrator in the customise page ui, if null use ... - * title: {String} // ... title from page's xml descriptor or i18n msg key. - * description: {String} // Description from page's xml descriptor or i18n msg key - * used: {boolean} // Set to true if page is used on this site - * } - * ] - */ -function getPages(includeUnusedPages) -{ - var siteId = page.url.templateArgs.site, - pages = null; - if (siteId) - { - var dashboardPageData = sitedata.getPage("site/" + siteId + "/dashboard"); - if (dashboardPageData !== null) - { - pages = []; - - // Wrap sitePages array in a temporary object so jsonUtils.toObject can be used to parse the string - var sitePages = dashboardPageData.properties.sitePages, - pageMetadata = dashboardPageData.properties.pageMetadata, - configPages = config.scoped["SitePages"]["pages"].childrenMap["page"], - urlMap = {}, - pageId; - - if (sitePages) - { - try - { - // Print array as json and use JSON.parse so we get a Rhino javascript Array to execute as usual - sitePages = JSON.parse('{"$":' + sitePages + '}').$; - } - catch(e) - { - sitePages = []; - } - } - else - { - sitePages = []; - } - if (pageMetadata) - { - try - { - // use JSON.parse so we get a Rhino javascript object to execute as usual - pageMetadata = JSON.parse(pageMetadata); - } - catch(e) - { - pageMetadata = {}; - } - } - else - { - pageMetadata = {}; - } - - // Get the page urls from config - for (var i = 0; i < configPages.size(); i++) - { - // Get page id from config file - pageId = configPages.get(i).attributes["id"]; - if (pageId) - { - urlMap[pageId] = configPages.get(i).value; - } - } - - // Add used pages in the order decided by user - for (var i = 0; i < sitePages.length; i++) - { - pages.push( - { - pageId: sitePages[i].pageId, - sitePageTitle: sitePages[i].sitePageTitle || null, - used: true - }); - } - - // Add the unused pages if requested - for (var i = 0, il = configPages.size(); includeUnusedPages && i < il; i++) - { - pageId = configPages.get(i).attributes["id"]; - for (var j = 0, jl = pages.length; j < jl; j++) - { - if (pageId == pages[j].pageId) - { - break; - } - } - if (j == jl) - { - pages.push( - { - pageId: pageId, - used: false - }); - } - } - - var titleId, descriptionId, pageData, pageMeta, p; - - // Get page details - for (var i = 0, il = pages.length; i < il; i++) - { - p = pages[i]; - pageId = p.pageId; - pageData = sitedata.getPage(pageId); - pageMeta = pageMetadata[pageId] || {}; - if (pageData != null) - { - p.pageUrl = urlMap[pageId] || pageId; - - // Title from page's xml descriptor or property bundle if key is given - p.title = pageMeta.title || pageData.title; - titleId = pageMeta.titleId || pageData.titleId; - p.title = titleId ? msg.get(titleId) : p.title; - p.titleId = titleId; - - // Description from page's xml descriptor or property bundle if key is given - p.description = pageMeta.description || pageData.description; - descriptionId = pageMeta.descriptionId || pageData.descriptionId; - p.description = descriptionId ? msg.get(descriptionId) : p.description; - } - else - { - // page does not exist! output error to help the developer - p.title = "ERROR: page " + pageId + " not found!"; - } - } - } - } - // Prepare template model - return pages; -} - -/** - * - * @returns {array} An array of objects that represent pages. - */ -function getSitePages() { - //Get site specific information... - var sitePages = null; - if (page.url.templateArgs.site) - { - getSiteData(); - updateRecentSites(); - sitePages = getPages(); - } - return sitePages; -} - - -/** - * Constructs the model of widgets for navigation around a site, e.g. "Dashboard", "DocumentLibrary", etc. - * The contents of the model are based on the preset defined for the current site. If the current page - * does not live within a site then this will simply return an empty array. - * - * @returns {array} An array of widgets that allow the user to navigate around a site. - */ -function getSiteNavigationWidgets() { - /* - * Currently pages are only defined for sites. By default the site dashboard and members - * pages are always included for sites. - */ - var navigationWidgets = [], - pages = getSitePages(); - if (pages != null) - { - // Dashboard always appears in the displayed menu - // Members always appears in the More menu - // The current page should always be in the displayed menu - // IF the current page is normally in the More menu then one other item gets bumped into the More menu? - // The current page is ALWAYS displayed in the main menu (regardless of whether it is usually in the More menu)? - - // Construct an array of all the pages in the site... - navigationWidgets.push({ - id: "HEADER_SITE_DASHBOARD", - name: "alfresco/menus/AlfMenuBarItem", - config: { - id: "HEADER_SITE_DASHBOARD", - label: msg.get("page.siteDashboard.title"), - targetUrl: "site/" + page.url.templateArgs.site + "/dashboard", - selected: (page.titleId == "page.siteDashboard.title") - } - }); - for (var i=0; i maxDisplayedSitePages) - { - // Make sure that if the current page is in the main menu (e.g. if it would otherwise be in the - // "More" menu... - for (var i=maxDisplayedSitePages-1; i 0) - { - // Use the site configured logo as the source for the logo image. - logoSrc = url.context + "/proxy/alfresco/api/node/" + logoSrc.replace("://", "/") + "/content"; - } - else - { - // Use the message bundled configured logo as the logo source. - // This is theme specific - var propsLogo = msg.get("header.logo"); - if (propsLogo == "header.logo") - { - propsLogo = "app-logo-48.png"; - } - logoSrc = url.context + "/res/themes/" + theme + "/images/" + propsLogo; - } - return logoSrc; -} - -/* ********************************************************************************* - * * - * GET ALL USER PREFERENCES * - * * - ***********************************************************************************/ - -function getUserPreferences() { - var userPreferences = {}; - var prefs = jsonUtils.toObject(preferences.value); - return prefs; -} -var userPreferences = getUserPreferences(); - -/* ********************************************************************************* - * * - * ASSEMBLE HEADER * - * * - ***********************************************************************************/ -function getHeaderServices() { - var services = [ - { - name: "alfresco/services/PreferenceService", - config: { - localPreferences: userPreferences - } - }, - "alfresco/services/NavigationService", - "alfresco/services/UserService", - "alfresco/services/SiteService", - "alfresco/services/LogoutService" - ]; - // Only add the logging service when in client-debug mode... - if (config.global.flags.getChildValue("client-debug") == "true") - { - services.push("alfresco/services/LoggingService"); - } - if (config.global.flags.getChildValue("post-client-debug") == "true") - { - services.push("alfresco/services/ErrorReporter"); - } - - return services; -} - -function getHeaderModel(pageTitle) { - - var headerMenus = getHeaderMenus(); - - // When in debug mode (as opposed to production mode) add an additional debug menu item... - if (config.global.flags.getChildValue("client-debug") == "true") - { - var loggingEnabled = false, - allEnabled = false, - warnEnabled = false, - errorEnabled = false; - if (userPreferences && - userPreferences.org && - userPreferences.org.alfresco && - userPreferences.org.alfresco.share && - userPreferences.org.alfresco.share.logging) - { - var loggingPreferences = userPreferences.org.alfresco.share.logging; - loggingEnabled = loggingPreferences.enabled && true; - allEnabled = (loggingPreferences.all != null) ? loggingPreferences.all : false; - warnEnabled = (loggingPreferences.warn != null) ? loggingPreferences.warn : false; - errorEnabled = (loggingPreferences.error != null) ? loggingPreferences.error : false; - } - var loggingWidget = { - name: "alfresco/header/AlfMenuBarPopup", - config: { - label: "Debug Menu", - widgets: [ - { - name: "alfresco/menus/AlfMenuGroup", - config: { - label: "Quick Settings", - widgets: [ - { - name: "alfresco/menus/AlfCheckableMenuItem", - config: { - label: "Debug Logging", - value: "enabled", - publishTopic: "ALF_LOGGING_STATUS_CHANGE", - checked: loggingEnabled - } - }, - { - name: "alfresco/menus/AlfCheckableMenuItem", - config: { - label: "Show All Logs", - value: "all", - publishTopic: "ALF_LOGGING_STATUS_CHANGE", - checked: allEnabled - } - }, - { - name: "alfresco/menus/AlfCheckableMenuItem", - config: { - label: "Show Warning Messages", - value: "warn", - publishTopic: "ALF_LOGGING_STATUS_CHANGE", - checked: warnEnabled - } - }, - { - name: "alfresco/menus/AlfCheckableMenuItem", - config: { - label: "Show Error Messages", - value: "error", - publishTopic: "ALF_LOGGING_STATUS_CHANGE", - checked: errorEnabled - } - } - ] - } - }, - { - name: "alfresco/menus/AlfMenuGroup", - config: { - label: "Logging Configuration", - widgets: [ - { - name: "alfresco/menus/AlfMenuItem", - config: { - label: "Update Logging Preferences", - publishTopic: "ALF_UPDATE_LOGGING_PREFERENCES" - } - }, - { - name: "alfresco/menus/AlfMenuItem", - config: { - label: "Show Pub/Sub Log", - publishTopic: "ALF_SHOW_PUBSUB_LOG" - } - }, - { - name: "alfresco/menus/AlfMenuItem", - config: { - label: "Show Data Model", - publishTopic: "ALF_SHOW_DATA_MODEL" - } - }, - { - name: "alfresco/menus/AlfMenuItem", - config: { - label: "Toggle Developer View", - publishTopic: "ALF_TOGGLE_DEVELOPER_MODE" - } - } - ] - } - } - ] - } - }; - headerMenus.appItems.push(loggingWidget); - } - - // Get the user and group data and generate a "currentItem" for it so that render filtering - // can be applied based on group membership... - var userGroupData = getUserGroupData(); - var currentItem = { - user: userGroupData - }; - - var headerModel = [{ - id: "SHARE_HEADER", - name: "alfresco/header/Header", - config: { - currentItem: currentItem, - semanticWrapper: "nav", - widgets: [ - { - id: "HEADER_APP_MENU_BAR", - name: "alfresco/header/AlfMenuBar", - align: "left", - config: { - widgets: headerMenus.appItems - } - }, - { - id: "HEADER_USER_MENU_BAR", - name: "alfresco/header/AlfMenuBar", - align: "right", - config: { - widgets: headerMenus.userItems - } - }, - { - id: "HEADER_SEARCH", - name: "alfresco/header/SearchBox", - align: "right", - config: { - id: "HEADER_SEARCH_BOX", - site: page.url.templateArgs.site, - linkToFacetedSearch: true - } - } - ] - } - }, - { - id: "HEADER_LICENSE_WARNING", - name: "alfresco/header/LicenseWarning", - config: { - usage: getLicenseUsage(), - userIsAdmin: user.isAdmin - } - }, - { - id: "HEADER_TITLE_BAR", - name: "alfresco/layout/LeftAndRight", - className: "share-header-title", - config: - { - semanticWrapper: "header", - widgets: - [ - { - id: "HEADER_LOGO", - name: "alfresco/logo/Logo", - align: "left", - config: - { - logoClasses: "alfresco-logo-only", - currentTheme: theme, - logoSrc: getHeaderLogoUrl() - } - }, - { - id: "HEADER_TITLE", - name: "alfresco/header/Title", - align: "left", - config: { - targetUrl: page.url.templateArgs.site != null ? "site/" + page.url.templateArgs.site + "/dashboard" : null, - label: (pageTitle != null) ? pageTitle : getPageTitle(), - setBrowserTitle: (pageTitle != null) - } - }, - { - id: "HEADER_NAVIGATION_MENU_BAR", - name: "alfresco/header/AlfMenuBar", - align: "right", - className: "navigation-menu", - config: { - widgets: getSubNavigationWidgets() - } - }, - { - id: "HEADER_TITLE_MENU", - name: "alfresco/menus/AlfMenuBar", - align: "right", - className: "title-menu", - config: { - widgets: getTitleBarModel() - } - } - ] - } - }]; - return headerModel; -} diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/custom-slingshot-application-context.xml b/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/custom-slingshot-application-context.xml deleted file mode 100755 index 0feb877e..00000000 --- a/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/custom-slingshot-application-context.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - !DOCTYPE - HTML - HEAD - BODY - META - BASE - TITLE - LINK - CENTER - EM - STRONG - SUP - SUB - P - B - I - U - BR - UL - OL - LI - H1 - H2 - H3 - H4 - H5 - H6 - SPAN - DIV - A - IMG - FONT - TABLE - THEAD - TBODY - TR - TH - TD - HR - DT - DL - DT - PRE - BLOCKQUOTE - BUTTON - CODE - FORM - OPTION - SELECT - TEXTAREA - MAP - SCRIPT - STYLE - - - - - - - - - - - - - - SRC - DYNSRC - LOWSRC - HREF - BACKGROUND - - - - \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/messages/mms-share-amp.properties b/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/messages/mms-share-amp.properties new file mode 100644 index 00000000..38ae7b75 --- /dev/null +++ b/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/messages/mms-share-amp.properties @@ -0,0 +1,9 @@ +# This file should contain messages and labels specific to this share extension +# Put here things like: +# Content Model Aspect and Type Labels +# Form field labels +# Doc lib Action labels and messages +# Doc Lib Action Forms labels +# + + diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/mms-share-amp-slingshot-application-context.xml b/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/mms-share-amp-slingshot-application-context.xml new file mode 100644 index 00000000..24e72cff --- /dev/null +++ b/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/mms-share-amp-slingshot-application-context.xml @@ -0,0 +1,26 @@ + + + + + + + + + + alfresco.web-extension.messages.mms-share-amp + + + + + \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/site-webscripts/org/alfresco/README.md b/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/site-webscripts/org/alfresco/README.md new file mode 100644 index 00000000..f2c0a4f8 --- /dev/null +++ b/mms-ent/share-amp/src/main/amp/config/alfresco/web-extension/site-webscripts/org/alfresco/README.md @@ -0,0 +1,6 @@ +## If you are overriding out-of-the-box Alfresco web scripts, put these files here +## in the correct org.alfresco... package. +## If you are defining a new custom web script, add it under +## resources/alfresco/web-extension/site-webscripts/{your domain path}. +## + diff --git a/mms-ent/share-amp/src/main/amp/file-mapping.properties b/mms-ent/share-amp/src/main/amp/file-mapping.properties old mode 100755 new mode 100644 diff --git a/mms-ent/share-amp/src/main/amp/module.properties b/mms-ent/share-amp/src/main/amp/module.properties old mode 100755 new mode 100644 index 1a3b1977..10270627 --- a/mms-ent/share-amp/src/main/amp/module.properties +++ b/mms-ent/share-amp/src/main/amp/module.properties @@ -19,7 +19,7 @@ # ==== Beginning of Alfresco required/optional properties ====== # # NB: These properties are filtered at build time by Maven, single -# sourcing from POM properties +# sourcing from POM properties module.id=${project.artifactId} #module.aliases=myModule-123, my-module module.title=${project.name} @@ -45,4 +45,4 @@ module.version=${project.version} # ==== End of Alfresco required/optional properties ======= # -# ==== Beginning of module required properties/optional ====== # +# ==== Beginning of module required properties/optional ====== # \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/web/WEB-INF/classes/liverebel.xml b/mms-ent/share-amp/src/main/amp/web/WEB-INF/classes/liverebel.xml deleted file mode 100755 index b0eab134..00000000 --- a/mms-ent/share-amp/src/main/amp/web/WEB-INF/classes/liverebel.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - MMS Share - 0.1.1 - \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/web/components/dashlets/docweb.css b/mms-ent/share-amp/src/main/amp/web/components/dashlets/docweb.css deleted file mode 100755 index 2714b1c9..00000000 --- a/mms-ent/share-amp/src/main/amp/web/components/dashlets/docweb.css +++ /dev/null @@ -1,41 +0,0 @@ -.docweb .title a.iframe-title -{ - background: url("../images/new-window-16.png") no-repeat 100% 0; - padding-right: 20px; -} - -.docweb .default-title, -.docweb .notsecure-title, -.docweb .iframe-title, -.docweb .default-body, -.docweb .notsecure-body, -.docweb .iframe-body -{ - display: none; -} - -.docweb-default .default-title, -.docweb-notsecure .notsecure-title, -.docweb-iframe .iframe-title -{ - display: inline; -} - -.docweb-default .default-body, -.docweb-notsecure .notsecure-body, -.docweb-iframe .iframe-body -{ - display: block; -} - -.docweb .scrollablePanel -{ - height: 200px; - overflow: hidden; -} - -.docweb .default-body, -.docweb .notsecure-body -{ - padding: 10px; -} diff --git a/mms-ent/share-amp/src/main/amp/web/components/dashlets/docweb.js b/mms-ent/share-amp/src/main/amp/web/components/dashlets/docweb.js deleted file mode 100755 index 79b35e3d..00000000 --- a/mms-ent/share-amp/src/main/amp/web/components/dashlets/docweb.js +++ /dev/null @@ -1,293 +0,0 @@ -/** - * Copyright (C) 2005-2010 Alfresco Software Limited. - * - * This file is part of Alfresco - * - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - */ - -/** - * Alfresco DocWeb Dashlet - * - * @namespace Alfresco.dashlet - * @class Alfresco.dashlet.DocWeb - */ -(function() -{ - /** - * YUI Library aliases - */ - var Dom = YAHOO.util.Dom, - Event = YAHOO.util.Event; - - /** - * Alfresco Slingshot aliases - */ - var $html = Alfresco.util.encodeHTML; - - Alfresco.dashlet.DocWeb = function DocWeb_constructor(htmlId) - { - Alfresco.dashlet.DocWeb.superclass.constructor.call(this, "Alfresco.dashlet.DocWeb", htmlId); - - // Initialise prototype properties - this.configDialog = null; - - /** - * Decoupled event listeners - */ - YAHOO.Bubbling.on("showPanel", this.onShowPanel, this); - YAHOO.Bubbling.on("hidePanel", this.onHidePanel, this); - - return this; - }; - - YAHOO.extend(Alfresco.dashlet.DocWeb, Alfresco.component.Base, - { - /** - * Object container for initialization options - * - * @property options - * @type object - */ - options: - { - /** - * ComponentId used for saving configuration - * @property componentId - * @type string - */ - componentId: "", - - /** - * URI for the web page to view - * @property docwebURI - * @type string - */ - docwebURI: "", - - /** - * Dashlet title - * @property docwebTitle - * @type string - */ - docwebTitle: "", - - /** - * Default web page - * @property isDefault - * @type boolean - * @default true - */ - isDefault: true - }, - - /** - * Configuration dialog instance - * - * @property configDialog - * @type object - */ - configDialog: null, - - /** - * Fired by YUI when parent element is available for scripting. - * Initialises components, including YUI widgets. - * - * @method onReady - */ - onReady: function DocWeb_onReady() - { - /** - * Save reference to iframe wrapper so we can hide and show it depending - * on how well the browser handles flash movies. - */ - this.widgets.iframeWrapper = Dom.get(this.id + "-iframeWrapper"); - this.widgets.iframe = Dom.get(this.id + "-iframe"); - this.widgets.iframeTitle = Dom.get(this.id + "-iframe-title"); - this._syncIFrameOptions(); - }, - - /** - * Takes the iframe options (url & title) and reflects their values in the ui. - * - * @method _syncIFrameOptions - * @private - */ - _syncIFrameOptions: function() - { - Dom.removeClass(this.id, "docweb-default"); - Dom.removeClass(this.id, "docweb-notsecure"); - Dom.removeClass(this.id, "docweb-iframe"); - - if (this.options.isDefault) - { - Dom.addClass(this.id, "docweb-default"); - } - else if (!Alfresco.util.IFramePolicy.isUrlAllowed(this.options.docwebURI)) - { - Dom.addClass(this.id, "docweb-notsecure"); - } - else - { - // Iframe itself - this.widgets.iframe.src = this.options.docwebURI; - - // Title link - this.widgets.iframeTitle.href = this.options.docwebURI; - - // Title label - if (this.options.docwebTitle != "") - { - this.widgets.iframeTitle.innerHTML = $html(this.options.docwebTitle); - } - else if (!this.options.isDefault) - { - this.widgets.iframeTitle.innerHTML = $html(this.options.docwebURI); - } - Dom.addClass(this.id, "docweb-iframe"); - } - }, - - /** - * Event listener for configuration link click. - * - * @method onConfigDocWebClick - * @param e {object} HTML event - */ - onConfigDocWebClick: function DocWeb_onConfigDocWebClick(e) - { - Event.stopEvent(e); - - var actionUrl = Alfresco.constants.URL_SERVICECONTEXT + "modules/docweb/config/" + encodeURIComponent(this.options.componentId); - - if (!this.configDialog) - { - this.configDialog = new Alfresco.module.SimpleDialog(this.id + "-configDialog").setOptions( - { - width: "50em", - templateUrl: Alfresco.constants.URL_SERVICECONTEXT + "modules/docweb/config", - onSuccess: - { - fn: function DocWeb_onConfigDocWeb_callback(response) - { - // MSIE6 doesn't redraw the IFRAME correctly, so tell it to refresh the page - if (YAHOO.env.ua.ie === 6) - { - window.location.reload(true); - } - else - { - var data = response.json; - this.options.docwebURI = data.uri; - this.options.docwebTitle = data.title; - this.options.isDefault = false; - this._syncIFrameOptions(); - } - }, - scope: this - }, - doSetupFormsValidation: - { - fn: function DocWeb_doSetupForm_callback(form) - { - form.addValidation(this.configDialog.id + "-url", Alfresco.forms.validation.mandatory, null, "keyup"); - form.addValidation(this.configDialog.id + "-url", Alfresco.forms.validation.url, null, "keyup", this.msg("Alfresco.forms.validation.url.message")); - - // 511 characters is the maximum length of URL that IE appears to support without causing a page direct - // and preventing the user from returning to their dashboard. To avoid this occurring a check on the length - // is set. Rather than just adding this for IE it is added for all browsers because it is possible that - // a user could edit the URL on one browser to something greater than 511 characters and then attempt - // to view the page in another browser. - form.addValidation(this.configDialog.id + "-url", function(field, args, event, form, silent, message) - { - return (field.value.length < 512); - }, null, "keyup"); - // Check that the url is from a trusted domain - form.addValidation(this.configDialog.id + "-url", function(field) - { - return field.value.length == 0 || Alfresco.util.IFramePolicy.isUrlAllowed(field.value); - }, null, "keyup", this.msg("form.url.validation.failure")); - - /* Get the link title */ - var elem = Dom.get(this.configDialog.id + "-docwebTitle"); - if (elem) - { - elem.value = this.options.docwebTitle; - } - - /* Get the url value */ - elem = Dom.get(this.configDialog.id + "-url"); - if (elem) - { - elem.value = this.options.isDefault ? "" : this.options.docwebURI; - } - }, - scope: this - } - }); - } - - this.configDialog.setOptions( - { - actionUrl: actionUrl - }).show(); - }, - - /** - * Called when any Panel in share created with createYUIPanel is shown. - * Will hide the content for browsers that can't handle a flash movies properly, - * since the flash movie could hide parts of the the panel. - * - * @method onShowPanel - * @param p_layer {object} Event fired (unused) - * @param p_args {array} Event parameters (unused) - */ - onShowPanel: function WW_onShowPanel(p_layer, p_args) - { - if (this._browserDestroysPanel()) - { - Dom.setStyle(this.widgets.iframeWrapper, "visibility", "hidden"); - } - }, - - /** - * Called when any Panel in share created with createYUIPanel is hidden. - * Will display the content again if it was hidden before. - * - * @method onHidePanel - * @param p_layer {object} Event fired (unused) - * @param p_args {array} Event parameters (unused) - */ - onHidePanel: function WW_onHidePanel(p_layer, p_args) - { - if (this._browserDestroysPanel()) - { - Dom.setStyle(this.widgets.iframeWrapper, "visibility", "visible"); - } - }, - - /** - * Returns true if browser will make flash movie hide parts of a panel - * - * @method _browserDestroysPanel - * @return {boolean} True if browser will let flash movie mess up panel - */ - _browserDestroysPanel: function WW__browserDestroysPanel() - { - // All browsers on Windows (tested w FP 10) and FF2 and below on Mac - return (navigator.userAgent.indexOf("Windows") !== -1 || - (navigator.userAgent.indexOf("Macintosh") !== -1 && YAHOO.env.ua.gecko > 0 && YAHOO.env.ua.gecko < 1.9)); - } - }); -})(); diff --git a/mms-ent/share-amp/src/main/amp/web/components/documentlibrary/documentlist-view-detailed.js b/mms-ent/share-amp/src/main/amp/web/components/documentlibrary/documentlist-view-detailed.js index 4d3e5bb6..317ffd9a 100644 --- a/mms-ent/share-amp/src/main/amp/web/components/documentlibrary/documentlist-view-detailed.js +++ b/mms-ent/share-amp/src/main/amp/web/components/documentlibrary/documentlist-view-detailed.js @@ -44,7 +44,7 @@ * @return {Alfresco.DocumentListViewRenderer} The new ViewRenderer instance * @constructor */ - Alfresco.DocumentListViewRenderer = function(name, parentDocumentList) + Alfresco.DocumentListViewRenderer = function(name, parentDocumentList, commonComponentStyle) { /* * Initialise prototype properties @@ -61,7 +61,14 @@ this.buttonCssClass = this.name + "-view"; this.metadataBannerViewName = this.name; this.metadataLineViewName = this.name; - + if (commonComponentStyle != null) + { + this.folderIconConfig = YAHOO.lang.JSON.parse(commonComponentStyle).browse.folder; + } + else + { + this.folderIconConfig = {}; + } return this; }; @@ -265,7 +272,7 @@ if (isContainer || (isLink && node.linkedNode.isContainer)) { - elCell.innerHTML = '' + (isLink ? '' : '') + (scope.dragAndDropEnabled ? '' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + ''; + elCell.innerHTML = '' + (isLink ? '' : '') + (scope.dragAndDropEnabled ? '' : '') + Alfresco.DocumentList.generateFileFolderLinkMarkup(scope, record) + ''; containerTarget = new YAHOO.util.DDTarget(imgId); // Make the folder a target } else @@ -275,6 +282,34 @@ var dnd = new Alfresco.DnD(imgId, scope); }, + /** + * Returns icon resource URL for specified {node} parameter. + * @param node {object} - container node object + * @returns icon resource URL for specified {node} parameter. + */ + getFolderIcon : function DL_VR_getFolderIcon(node) + { + var filterChain = new Alfresco.CommonComponentIconFilterChain(node, this.folderIconConfig, this.getDefaultFolderIcon(), this.getIconSize()); + var folderIconStr = filterChain.createIconResourceName(); + return Alfresco.constants.URL_RESCONTEXT + folderIconStr; + }, + /** + * Default icon resource path string for this view. + * @returns {String} + */ + getDefaultFolderIcon : function DL_VR_getDefaultFolderIcon() + { + return "components/documentlibrary/images/folder-64.png"; + }, + /** + * Default icon size for this view. + * @returns {String} + */ + getIconSize : function DL_VR_getIconSize() + { + return "64x64"; + }, + /** * Description/detail custom datacell formatter * @@ -304,10 +339,12 @@ // MNT-11988: Renaming links is not working correctly oRecord.setData("displayName", record.fileName.replace(/(.url)$/,"")); } + // CAE Custom Modification else if (properties.title && scope.options.useTitle) - //else if (properties.title && properties.title !== record.displayName && scope.options.useTitle) + // else if (properties.title && properties.title !== record.displayName && scope.options.useTitle) { // Use title property if it's available. Supressed for links. + titleHTML = '(' + $html(properties.title) + ')'; titleHTML = '(' + $html(record.fileName) + ')'; } @@ -909,12 +946,6 @@ window.scrollTo(0, yPos); Alfresco.util.Anim.pulse(el); scope.options.highlightFile = null; - - // Select the file - var rowSelectEl = this.getRowSelectElementFromDataTableRecord(scope, recordFound); - rowSelectEl.checked = true; - scope.selectedFiles[recordFound.getData("nodeRef")] = true; - YAHOO.Bubbling.fire("selectedFilesChanged"); } } }, diff --git a/mms-ent/share-amp/src/main/amp/web/components/guest/login.css b/mms-ent/share-amp/src/main/amp/web/components/guest/login.css deleted file mode 100755 index e6cc1763..00000000 --- a/mms-ent/share-amp/src/main/amp/web/components/guest/login.css +++ /dev/null @@ -1,60 +0,0 @@ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url(../../js/alfresco/css/opensans.woff) format('woff'); -} - -.login -{ - padding: 1.5em !important; -} - -.login form -{ - padding-top: 1em; - margin: 0 auto; - width: 260px; -} - -/* - * Login Branding Updates - */ -.login .form-fields.login { - padding-left: 0 !important; -} - -.form-fields.login .form-field > span.yui-button { - border-color: #ffa028; -} - -.form-fields.login .form-field > span.yui-button > .first-child { - background-color: #ffa028; - border-color: #ffa028; -} - -.form-fields.login .form-field > span.yui-button > .first-child > button { - color: #FFFFFF; - font-family: Open Sans Bold,Arial,sans-serif; -} - -.login .copy -{ - color: #999; - font-size: 80%; - margin-top: -8px; -} - -/* - * Override button colour for enterprise - */ - -.form-fields.login.ENTERPRISE .form-field > span.yui-button { - border-color: #7BC143; - margin-top: 4px; -} - -.form-fields.login.ENTERPRISE .form-field > span.yui-button > .first-child { - background-color: #7BC143; - border-color: #7BC143; -} \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/web/components/search/search.js b/mms-ent/share-amp/src/main/amp/web/components/search/search.js deleted file mode 100755 index 757e6107..00000000 --- a/mms-ent/share-amp/src/main/amp/web/components/search/search.js +++ /dev/null @@ -1,961 +0,0 @@ -/** - * Copyright (C) 2005-2012 Alfresco Software Limited. - * - * - * This file is part of Alfresco - * - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * - * NOTE: This needs to be manually added to the war into the components/search/ directory - */ - -/** - * Search component. - * - * @namespace Alfresco - * @class Alfresco.Search - */ -(function() -{ - /** - * YUI Library aliases - */ - var Dom = YAHOO.util.Dom, - Event = YAHOO.util.Event; - - /** - * Alfresco Slingshot aliases - */ - var $html = Alfresco.util.encodeHTML; - - /** - * Search constructor. - * - * @param {String} htmlId The HTML id of the parent element - * @return {Alfresco.Search} The new Search instance - * @constructor - */ - Alfresco.Search = function(htmlId) - { - Alfresco.Search.superclass.constructor.call(this, "Alfresco.Search", htmlId, ["button", "container", "datasource", "datatable", "paginator", "json"]); - - // Decoupled event listeners - YAHOO.Bubbling.on("onSearch", this.onSearch, this); - - return this; - }; - - YAHOO.extend(Alfresco.Search, Alfresco.component.SearchBase, - { - /** - * Object container for initialization options - * - * @property options - * @type object - */ - options: - { - /** - * Current siteId - * - * @property siteId - * @type string - */ - siteId: "", - - /** - * Current site title - * - * @property siteTitle - * @type string - */ - siteTitle: "", - - /** - * Maximum number of results displayed. - * - * @property maxSearchResults - * @type int - * @default 250 - */ - maxSearchResults: 250, - - /** - * Results page size. - * - * @property pageSize - * @type int - * @default 50 - */ - pageSize: 50, - - /** - * Search term to use for the initial search - * @property initialSearchTerm - * @type string - * @default "" - */ - initialSearchTerm: "", - - /** - * Search tag to use for the initial search - * @property initialSearchTag - * @type string - * @default "" - */ - initialSearchTag: "", - - /** - * States whether all sites should be searched. - * - * @property initialSearchAllSites - * @type boolean - */ - initialSearchAllSites: true, - - /** - * States whether repository should be searched. - * This is in preference to current or all sites. - * - * @property initialSearchRepository - * @type boolean - */ - initialSearchRepository: false, - - /** - * Sort property to use for the initial search. - * Empty default value will use score relevance default. - * @property initialSort - * @type string - * @default "" - */ - initialSort: "", - - /** - * Advanced Search query - forms data json format based search. - * @property searchQuery - * @type string - * @default "" - */ - searchQuery: "", - - /** - * Search root node. - * @property searchRootNode - * @type string - * @default "" - */ - searchRootNode: "", - - /** - * Number of characters required for a search. - * - * @property minSearchTermLength - * @type int - * @default 1 - */ - minSearchTermLength: 1 - }, - - /** - * Search term used for the last search. - */ - searchTerm: "", - - /** - * Search tag used for the last search. - */ - searchTag: "", - - /** - * Whether the search was over all sites or just the current one - */ - searchAllSites: true, - - /** - * Whether the search is over the entire repository - in preference to site or all sites - */ - searchRepository: false, - - /** - * Search sort used for the last search. - */ - searchSort: "", - - /** - * Number of search results. - */ - resultsCount: 0, - - /** - * Current visible page index - counts from 1 - */ - currentPage: 1, - - /** - * True if there are more results than the ones listed in the table. - */ - hasMoreResults: false, - - /** - * Fired by YUI when parent element is available for scripting. - * Component initialisation, including instantiation of YUI widgets and event listener binding. - * - * @method onReady - */ - onReady: function Search_onReady() - { - var me = this; - - // DataSource definition - var uriSearchResults = Alfresco.constants.PROXY_URI_RELATIVE + "slingshot/search?"; - this.widgets.dataSource = new YAHOO.util.DataSource(uriSearchResults, - { - responseType: YAHOO.util.DataSource.TYPE_JSON, - connXhrMode: "queueRequests", - responseSchema: - { - resultsList: "items" - } - }); - - // YUI Paginator definition - var handlePagination = function Search_handlePagination(state, me) - { - me.currentPage = state.page; - me.widgets.paginator.setState(state); - }; - this.widgets.paginator = new YAHOO.widget.Paginator( - { - containers: [this.id + "-paginator-top", this.id + "-paginator-bottom"], - rowsPerPage: this.options.pageSize, - initialPage: 1, - template: this.msg("pagination.template"), - pageReportTemplate: this.msg("pagination.template.page-report"), - previousPageLinkLabel: this.msg("pagination.previousPageLinkLabel"), - nextPageLinkLabel: this.msg("pagination.nextPageLinkLabel") - }); - this.widgets.paginator.subscribe("changeRequest", handlePagination, this); - - // setup of the datatable. - this._setupDataTable(); - - // set initial value and register the "enter" event on the search text field - var queryInput = Dom.get(this.id + "-search-text"); - queryInput.value = this.options.initialSearchTerm; - - this.widgets.enterListener = new YAHOO.util.KeyListener(queryInput, - { - keys: YAHOO.util.KeyListener.KEY.ENTER - }, - { - fn: me._searchEnterHandler, - scope: this, - correctScope: true - }, "keydown").enable(); - - // trigger the initial search - YAHOO.Bubbling.fire("onSearch", - { - searchTerm: this.options.initialSearchTerm, - searchTag: this.options.initialSearchTag, - searchSort: this.options.initialSort, - searchAllSites: this.options.initialSearchAllSites, - searchRepository: this.options.initialSearchRepository - }); - - // toggle site scope links - var toggleLink = Dom.get(this.id + "-site-link"); - Event.addListener(toggleLink, "click", this.onSiteSearch, this, true); - toggleLink = Dom.get(this.id + "-all-sites-link"); - Event.addListener(toggleLink, "click", this.onAllSiteSearch, this, true); - toggleLink = Dom.get(this.id + "-repo-link"); - Event.addListener(toggleLink, "click", this.onRepositorySearch, this, true); - - // search YUI button - this.widgets.searchButton = Alfresco.util.createYUIButton(this, "search-button", this.onSearchClick); - - // menu button for sort options - this.widgets.sortButton = new YAHOO.widget.Button(this.id + "-sort-menubutton", - { - type: "menu", - menu: this.id + "-sort-menu", - menualignment: ["tr", "br"], - lazyloadmenu: false - }); - // set initially selected sort button label - var menuItems = this.widgets.sortButton.getMenu().getItems(); - for (var m in menuItems) - { - if (menuItems[m].value === this.options.initialSort) - { - this.widgets.sortButton.set("label", this.msg("label.sortby", menuItems[m].cfg.getProperty("text"))); - break; - } - } - // event handler for sort menu - this.widgets.sortButton.getMenu().subscribe("click", function(p_sType, p_aArgs) - { - var menuItem = p_aArgs[1]; - if (menuItem) - { - me.refreshSearch( - { - searchSort: menuItem.value - }); - } - }); - - // Hook action events - var fnActionHandler = function Search_fnActionHandler(layer, args) - { - var owner = YAHOO.Bubbling.getOwnerByTagName(args[1].anchor, "span"); - if (owner !== null) - { - if (typeof me[owner.className] == "function") - { - args[1].stop = true; - var tagId = owner.id.substring(me.id.length + 1); - me[owner.className].call(me, tagId); - } - } - return true; - }; - YAHOO.Bubbling.addDefaultAction("search-tag", fnActionHandler); - - // Finally show the component body here to prevent UI artifacts on YUI button decoration - Dom.setStyle(this.id + "-body", "visibility", "visible"); - }, - - _setupDataTable: function Search_setupDataTable() - { - /** - * DataTable Cell Renderers - * - * Each cell has a custom renderer defined as a custom function. See YUI documentation for details. - * These MUST be inline in order to have access to the Alfresco.Search class (via the "me" variable). - */ - var me = this; - - /** - * Thumbnail custom datacell formatter - * - * @method renderCellThumbnail - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellThumbnail = function Search_renderCellThumbnail(elCell, oRecord, oColumn, oData) - { - oColumn.width = 100; - Dom.setStyle(elCell.parentNode, "width", oColumn.width + "px"); - Dom.setStyle(elCell.parentNode, "background-color", "#f4f4f4"); - Dom.addClass(elCell, "thumbnail-cell"); - if (oRecord.getData("type") === "document") - { - Dom.addClass(elCell, "thumbnail"); - } - - elCell.innerHTML = me.buildThumbnailHtml(oRecord); - }; - - /** - * Description/detail custom cell formatter - * - * @method renderCellDescription - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellDescription = function Search_renderCellDescription(elCell, oRecord, oColumn, oData) - { - // apply class to the appropriate TD cell - Dom.addClass(elCell.parentNode, "description"); - - // site and repository items render with different information available - var site = oRecord.getData("site"); - var recordUrl = me._getBrowseUrlForRecord(oRecord); - - // displayname and link to details page - var displayName = oRecord.getData("displayName"); - // add title (if any) to displayname area - var title = oRecord.getData("title"); - - // [CYL - added] - // view link (if any) (match up with repo search.lib.js) - var sysmlId = oRecord.getData("sysmlId"); - var sysmlName = oRecord.getData("sysmlName"); - if (sysmlId && sysmlName) { - title = sysmlId; - displayName = sysmlName; - } - - if (site) { - // [CYL] - added: modified to remove site reference since the URLs for content instance don't work - specialized do - var discussion = '/site/' + site.shortName + '/discussions'; - var wiki = '/site/' + site.shortName + '/wiki'; - var blog = '/site/' + site.shortName + '/blog'; - var calendar = '/site/' + site.shortName + '/calendar'; - var links = '/site/' + site.shortName + '/links'; - var datalists = '/site/' + site.shortName + '/data-lists'; - } - if (site && recordUrl.indexOf(discussion)<0 && recordUrl.indexOf(wiki)<0 && recordUrl.indexOf(blog)<0 && recordUrl.indexOf(calendar)<0 && recordUrl.indexOf(links)<0 && recordUrl.indexOf(datalists)<0) { - var desc = '

' + $html(displayName) + ''; - } else { - var desc = '

' + $html(displayName) + ''; - } - - if (title && title !== displayName) - { - desc += '(' + $html(title) + ')'; - } - desc += '

'; - - // description (if any) - var txt = oRecord.getData("description"); - if (txt) - { - desc += '
' + $html(txt) + '
'; - } - - // detailed information, includes site etc. type specific - desc += '
'; - var type = oRecord.getData("type"); - desc += me.buildTextForType(type); - - // link to the site and other meta-data details - if (site) - { - desc += ' ' + me.msg("message.insite"); - desc += ' ' + $html(site.title) + ''; - } - if (oRecord.getData("size") !== -1) - { - desc += ' ' + me.msg("message.ofsize"); - desc += ' ' + Alfresco.util.formatFileSize(oRecord.getData("size")) + ''; - } - if (oRecord.getData("modifiedBy")) - { - desc += ' ' + me.msg("message.modifiedby"); - desc += ' ' + $html(oRecord.getData("modifiedBy")) + ''; - } - desc += ' ' + me.msg("message.modifiedon") + ' ' + Alfresco.util.formatDate(oRecord.getData("modifiedOn")) + ''; - desc += '
'; - - // folder path (if any) - var path = oRecord.getData("path"); - desc += me.buildPath(type, path, site); - - // tags (if any) - var tags = oRecord.getData("tags"); - if (tags.length !== 0) - { - var i, j; - desc += '
' + me.msg("label.tags") + ': '; - for (i = 0, j = tags.length; i < j; i++) - { - desc += '' + $html(tags[i]) + ' '; - } - desc += '
'; - } - - elCell.innerHTML = desc; - }; - - // DataTable column defintions - var columnDefinitions = [ - { - key: "image", label: me.msg("message.preview"), sortable: false, formatter: renderCellThumbnail, width: 100 - }, - { - key: "summary", label: me.msg("label.description"), sortable: false, formatter: renderCellDescription - }]; - - // DataTable definition - this.widgets.dataTable = new YAHOO.widget.DataTable(this.id + "-results", columnDefinitions, this.widgets.dataSource, - { - renderLoopSize: Alfresco.util.RENDERLOOPSIZE, - initialLoad: false, - paginator: this.widgets.paginator, - MSG_LOADING: "" - }); - - // show initial message - this._setDefaultDataTableErrors(this.widgets.dataTable); - if (this.options.initialSearchTerm.length === 0 && this.options.initialSearchTag.length === 0) - { - this.widgets.dataTable.set("MSG_EMPTY", ""); - } - - // Override abstract function within DataTable to set custom error message - this.widgets.dataTable.doBeforeLoadData = function Search_doBeforeLoadData(sRequest, oResponse, oPayload) - { - if (oResponse.error) - { - try - { - var response = YAHOO.lang.JSON.parse(oResponse.responseText); - me.widgets.dataTable.set("MSG_ERROR", response.message); - } - catch(e) - { - me._setDefaultDataTableErrors(me.widgets.dataTable); - } - } - else if (oResponse.results) - { - // clear the empty error message - me.widgets.dataTable.set("MSG_EMPTY", ""); - - // update the results count, update hasMoreResults. - me.hasMoreResults = (oResponse.results.length > me.options.maxSearchResults); - if (me.hasMoreResults) - { - oResponse.results = oResponse.results.slice(0, me.options.maxSearchResults); - me.resultsCount = me.options.maxSearchResults; - } - else - { - me.resultsCount = oResponse.results.length; - } - - if (me.resultsCount > me.options.pageSize) - { - Dom.removeClass(me.id + "-paginator-top", "hidden"); - Dom.removeClass(me.id + "-search-bar-bottom", "hidden"); - } - - // display help text if no results were found - if (me.resultsCount === 0) - { - Dom.removeClass(me.id + "-help", "hidden"); - } - } - // Must return true to have the "Loading..." message replaced by the error message - return true; - }; - - // Rendering complete event handler - me.widgets.dataTable.subscribe("renderEvent", function() - { - // Update the paginator - me.widgets.paginator.setState( - { - page: me.currentPage, - totalRecords: me.resultsCount - }); - me.widgets.paginator.render(); - }); - }, - - /** - * Constructs the completed browse url for a record. - * @param record {string} the record - */ - _getBrowseUrlForRecord: function Search__getBrowseUrlForRecord(record) - { - return this.getBrowseUrlForRecord(record); - }, - - /** - * Constructs the folder url for a record. - * @param path {string} folder path - * For a site relative item this can be empty (root of doclib) or any path - without a leading slash - * For a repository item, this can never be empty - but will contain leading slash and Company Home root - */ - _getBrowseUrlForFolderPath: function Search__getBrowseUrlForFolderPath(path, site) - { - return this.getBrowseUrlForFolderPath(path, site); - }, - - _buildSpaceNamePath: function Search__buildSpaceNamePath(pathParts, name) - { - return this.buildSpaceNamePath(pathParts, name); - }, - - /** - * DEFAULT ACTION EVENT HANDLERS - * Handlers for standard events fired from YUI widgets, e.g. "click" - */ - - /** - * Perform a search for a given tag - * The tag is simply handled as search term - */ - searchByTag: function Search_searchTag(param) - { - this.refreshSearch( - { - searchTag: param, - searchTerm: "", - searchQuery: "" - }); - }, - - /** - * Refresh the search page by full URL refresh - * - * @method refreshSearch - * @param args {object} search args - */ - refreshSearch: function Search_refreshSearch(args) - { - var searchTerm = this.searchTerm; - if (args.searchTerm !== undefined) - { - searchTerm = args.searchTerm; - } - var searchTag = this.searchTag; - if (args.searchTag !== undefined) - { - searchTag = args.searchTag; - } - var searchAllSites = this.searchAllSites; - if (args.searchAllSites !== undefined) - { - searchAllSites = args.searchAllSites; - } - var searchRepository = this.searchRepository; - if (args.searchRepository !== undefined) - { - searchRepository = args.searchRepository; - } - var searchSort = this.searchSort; - if (args.searchSort !== undefined) - { - searchSort = args.searchSort; - } - var searchQuery = this.options.searchQuery; - if (args.searchQuery !== undefined) - { - searchQuery = args.searchQuery; - } - - // redirect back to the search page - with appropriate site context - var url = Alfresco.constants.URL_PAGECONTEXT; - if (this.options.siteId.length !== 0) - { - url += "site/" + this.options.siteId + "/"; - } - - // add search data webscript arguments - url += "search?t=" + encodeURIComponent(searchTerm); - if (searchSort.length !== 0) - { - url += "&s=" + searchSort; - } - if (searchQuery.length !== 0) - { - // if we have a query (already encoded), then apply it - // most other options such as tag, terms are trumped - url += "&q=" + searchQuery; - } - else if (searchTag.length !== 0) - { - url += "&tag=" + encodeURIComponent(searchTag); - } - url += "&a=" + searchAllSites + "&r=" + searchRepository; - window.location = url; - }, - - /** - * BUBBLING LIBRARY EVENT HANDLERS FOR PAGE EVENTS - * Disconnected event handlers for inter-component event notification - */ - - /** - * Execute Search event handler - * - * @method onSearch - * @param layer {object} Event fired - * @param args {array} Event parameters (depends on event type) - */ - onSearch: function Search_onSearch(layer, args) - { - var obj = args[1]; - if (obj !== null) - { - var searchTerm = this.searchTerm; - if (obj.searchTerm !== undefined) - { - searchTerm = obj.searchTerm; - } - var searchTag = this.searchTag; - if (obj.searchTag !== undefined) - { - searchTag = obj.searchTag; - } - var searchAllSites = this.searchAllSites; - if (obj.searchAllSites !== undefined) - { - searchAllSites = obj.searchAllSites; - } - var searchRepository = this.searchRepository; - if (obj.searchRepository !== undefined) - { - searchRepository = obj.searchRepository; - } - var searchSort = this.searchSort; - if (obj.searchSort !== undefined) - { - searchSort = obj.searchSort; - } - this._performSearch( - { - searchTerm: searchTerm, - searchTag: searchTag, - searchAllSites: searchAllSites, - searchRepository: searchRepository, - searchSort: searchSort - }); - } - }, - - /** - * Event handler that gets fired when user clicks the Search button. - * - * @method onSearchClick - * @param e {object} DomEvent - * @param obj {object} Object passed back from addListener method - */ - onSearchClick: function Search_onSearchClick(e, obj) - { - this.refreshSearch( - { - searchTag: "", - searchTerm: YAHOO.lang.trim(Dom.get(this.id + "-search-text").value), - searchQuery: "" - }); - }, - - /** - * Click event for Current Site search link - * - * @method onSiteSearch - */ - onSiteSearch: function Search_onSiteSearch(e, args) - { - this.refreshSearch( - { - searchAllSites: false, - searchRepository: false - }); - }, - - /** - * Click event for All Sites search link - * - * @method onAllSiteSearch - */ - onAllSiteSearch: function Search_onAllSiteSearch(e, args) - { - this.refreshSearch( - { - searchAllSites: true, - searchRepository: false - }); - }, - - /** - * Click event for Repository search link - * - * @method onRepositorySearch - */ - onRepositorySearch: function Search_onRepositorySearch(e, args) - { - this.refreshSearch( - { - searchRepository: true - }); - }, - - /** - * Search text box ENTER key event handler - * - * @method _searchEnterHandler - */ - _searchEnterHandler: function Search__searchEnterHandler(e, args) - { - this.refreshSearch( - { - searchTag: "", - searchTerm: YAHOO.lang.trim(Dom.get(this.id + "-search-text").value), - searchQuery: "" - }); - }, - - /** - * Updates search results list by calling data webscript with current site and query term - * - * @method _performSearch - * @param args {object} search args - */ - _performSearch: function Search__performSearch(args) - { - var searchTerm = YAHOO.lang.trim(args.searchTerm), - searchTag = YAHOO.lang.trim(args.searchTag), - searchAllSites = args.searchAllSites, - searchRepository = args.searchRepository, - searchSort = args.searchSort; - - if (this.options.searchQuery.length === 0 && - searchTag.length === 0 && - searchTerm.replace(/\*/g, "").length < this.options.minSearchTermLength) - { - Alfresco.util.PopupManager.displayMessage( - { - text: this.msg("message.minimum-length", this.options.minSearchTermLength) - }); - return; - } - - // empty results table - this.widgets.dataTable.deleteRows(0, this.widgets.dataTable.getRecordSet().getLength()); - - // update the ui to show that a search is on-going - this.widgets.dataTable.set("MSG_EMPTY", ""); - this.widgets.dataTable.render(); - - // Success handler - function successHandler(sRequest, oResponse, oPayload) - { - // update current state on success - this.searchTerm = searchTerm; - this.searchTag = searchTag; - this.searchAllSites = searchAllSites; - this.searchRepository = searchRepository; - this.searchSort = searchSort; - - this.widgets.dataTable.onDataReturnInitializeTable.call(this.widgets.dataTable, sRequest, oResponse, oPayload); - - // update the results info text - this._updateResultsInfo(); - - // set focus to search input textbox - Dom.get(this.id + "-search-text").focus(); - } - - // Failure handler - function failureHandler(sRequest, oResponse) - { - switch (oResponse.status) - { - case 401: - // Session has likely timed-out, so refresh to display login page - window.location.reload(); - break; - case 408: - // Timeout waiting on Alfresco server - probably due to heavy load - Dom.get(this.id + '-search-info').innerHTML = this.msg("message.timeout"); - break; - default: - // General server error code - if (oResponse.responseText) - { - var response = YAHOO.lang.JSON.parse(oResponse.responseText); - Dom.get(this.id + '-search-info').innerHTML = response.message; - } - else - { - Dom.get(this.id + '-search-info').innerHTML = oResponse.statusText; - } - break; - } - } - - this.widgets.dataSource.sendRequest(this._buildSearchParams(searchRepository, searchAllSites, searchTerm, searchTag, searchSort), - { - success: successHandler, - failure: failureHandler, - scope: this - }); - }, - - /** - * Updates the results info text. - * - * @method _updateResultsInfo - */ - _updateResultsInfo: function Search__updateResultsInfo() - { - // update the search results field - var text; - var resultsCount = "" + this.resultsCount; - if (this.hasMoreResults) - { - text = this.msg("search.info.resultinfomore", resultsCount); - } - else - { - text = this.msg("search.info.resultinfo", resultsCount); - } - - // apply the context - if (this.searchRepository || this.options.searchQuery.length !== 0) - { - text += ' ' + this.msg("search.info.foundinrepository"); - } - else if (this.searchAllSites) - { - text += ' ' + this.msg("search.info.foundinallsite"); - } - else - { - text += ' ' + this.msg("search.info.foundinsite", $html(this.options.siteTitle)); - } - - // set the text - Dom.get(this.id + '-search-info').innerHTML = text; - }, - - /** - * Build URI parameter string for search JSON data webscript - * - * @method _buildSearchParams - */ - _buildSearchParams: function Search__buildSearchParams(searchRepository, searchAllSites, searchTerm, searchTag, searchSort) - { - var site = searchAllSites ? "" : this.options.siteId; - var params = YAHOO.lang.substitute("site={site}&term={term}&tag={tag}&maxResults={maxResults}&sort={sort}&query={query}&repo={repo}&rootNode={rootNode}", - { - site: encodeURIComponent(site), - repo: searchRepository.toString(), - term: encodeURIComponent(searchTerm), - tag: encodeURIComponent(searchTag), - sort: encodeURIComponent(searchSort), - query: encodeURIComponent(this.options.searchQuery), - rootNode: encodeURIComponent(this.options.searchRootNode), - maxResults: this.options.maxSearchResults + 1 // to calculate whether more results were available - }); - - return params; - }, - - /** - * Resets the YUI DataTable errors to our custom messages - * NOTE: Scope could be YAHOO.widget.DataTable, so can't use "this" - * - * @method _setDefaultDataTableErrors - * @param dataTable {object} Instance of the DataTable - */ - _setDefaultDataTableErrors: function Search__setDefaultDataTableErrors(dataTable) - { - var msg = Alfresco.util.message; - dataTable.set("MSG_EMPTY", msg("message.empty", "Alfresco.Search")); - dataTable.set("MSG_ERROR", msg("message.error", "Alfresco.Search")); - } - }); -})(); diff --git a/mms-ent/share-amp/src/main/amp/web/components/site-finder/site-finder-min.js b/mms-ent/share-amp/src/main/amp/web/components/site-finder/site-finder-min.js deleted file mode 100755 index d01a665f..00000000 --- a/mms-ent/share-amp/src/main/amp/web/components/site-finder/site-finder-min.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var b=YAHOO.util.Dom,y=YAHOO.util.Event,l=YAHOO.util.KeyListener;var r=Alfresco.util.encodeHTML;Alfresco.SiteFinder=function(z){Alfresco.SiteFinder.superclass.constructor.call(this,"Alfresco.SiteFinder",z,["button","container","datasource","datatable","json"]);this.buttons=[];this.searchTerm="";this.memberOfSites={};this.pendingInvites={};YAHOO.Bubbling.on("siteDeleted",this.onSiteDeleted,this);return this};YAHOO.extend(Alfresco.SiteFinder,Alfresco.component.Base,{options:{minSearchTermLength:0,maxSearchResults:100,currentUser:"",inviteData:[],setFocus:false},buttons:null,searchTerm:null,memberOfSites:null,pendingInvites:null,onReady:function c(){var F=this;var E=this.options.inviteData,A;for(i=0,j=E.length;iW.title)?1:(X.title'+K+''};renderCellDescription=function A(J,I,K,L){var F=I.getData("visibility").toUpperCase(),G=Alfresco.constants.URL_PAGECONTEXT+"site/"+I.getData("shortName")+"/dashboard";var H='

'+r(I.getData("title"))+"

";H+='
'+r(I.getData("description"))+"
";if(F=="MODERATED"){H+=''+B.msg("site-finder.moderated")+""}else{if(F=="PRIVATE"){H+=''+B.msg("site-finder.private")+""}}J.innerHTML=H};renderCellActions=function z(P,S,J,G){var K=S.getData("visibility").toUpperCase(),M=S.getData("shortName"),O=S.getData("isSiteManager"),N=r(S.getData("title")),F=S.getData("siteRole")!=="";var R=(F&&O);var H='';if(R){H=' '+H}P.innerHTML=H;if(R){var L=new YAHOO.widget.Button({container:B.id+"-deleteButton-"+M});L.set("label",B.msg("site-finder.delete"));L.set("onclick",{fn:B.doDelete,obj:{shortName:M,title:N},scope:B})}var I=new YAHOO.widget.Button({container:B.id+"-button-"+M,disabled:S.getData("isMemberOfGroup")});switch(K){case"PUBLIC":if(F){I.set("label",B.msg("site-finder.leave"));I.set("onclick",{fn:B.doLeave,obj:{shortName:M,title:N},scope:B})}else{I.set("label",B.msg("site-finder.join"));I.set("onclick",{fn:B.doJoin,obj:{shortName:M,title:N},scope:B})}B.buttons[M]={button:I};break;case"PRIVATE":if(F){I.set("label",B.msg("site-finder.leave"));I.set("onclick",{fn:B.doLeave,obj:{shortName:M,title:N},scope:B});B.buttons[M]={button:I};break}case"MODERATED":if(F){I.set("label",B.msg("site-finder.leave"));I.set("onclick",{fn:B.doLeave,obj:{shortName:M,title:N},scope:B})}else{if(B.memberOfSites[M]=="PENDING"){var Q=false;for(i=0;i"}}else{I.set("label",B.msg("site-finder.request-join"));I.set("onclick",{fn:B.doRequestJoin,obj:{shortName:M,title:N},scope:B})}}B.buttons[M]={button:I};break;default:P.innerHTML="
";break}};var E=[{key:"shortName",label:"Short Name",sortable:false,formatter:renderCellThumbnail},{key:"description",label:"Description",sortable:false,formatter:renderCellDescription},{key:"button",label:"Actions",formatter:renderCellActions}];this.widgets.dataTable=new YAHOO.widget.DataTable(this.id+"-sites",E,this.widgets.dataSource,{renderLoopSize:32,initialLoad:false,MSG_EMPTY:this.msg("message.instructions")});this.widgets.dataTable.subscribe("rowDeleteEvent",this.onRowDeleteEvent,this,true);this.widgets.dataTable.doBeforeLoadData=function D(G,H,J){if(H.error){try{var F=YAHOO.lang.JSON.parse(H.responseText);this.widgets.dataTable.set("MSG_ERROR",F.message)}catch(I){B._setDefaultDataTableErrors(B.widgets.dataTable)}}else{if(H.results){if(H.results.length===0){B.widgets.dataTable.set("MSG_EMPTY",''+B.msg("message.empty")+"")}B.renderLoopSize=Alfresco.util.RENDERLOOPSIZE}}return true}},doSearch:function d(){this.searchTerm=YAHOO.lang.trim(b.get(this.id+"-term").value);if(this.searchTerm.replace(/\*/g,"").length'+r(this.msg("message.loading"))+"
",noEscape:true})};var B=YAHOO.lang.later(2000,this,D);var E=function H(I,J,K){this.widgets.searchButton.set("disabled",false);if(B){B.cancel()}if(F){F.destroy()}this.searchTerm=A;this.widgets.dataTable.onDataReturnInitializeTable.call(this.widgets.dataTable,I,J,K)};var z=function C(J,K){this.widgets.searchButton.set("disabled",false);if(B){B.cancel()}if(F){F.destroy()}if(K.status==401){window.location.reload()}else{try{var I=YAHOO.lang.JSON.parse(K.responseText);this.widgets.dataTable.set("MSG_ERROR",I.message);this.widgets.dataTable.showTableMessage(I.message,YAHOO.widget.DataTable.CLASS_ERROR)}catch(L){this._setDefaultDataTableErrors(this.widgets.dataTable)}}};this.widgets.dataSource.sendRequest(this._buildSearchParams(A),{success:E,failure:z,scope:this});this.widgets.searchButton.set("disabled",true)},_buildSearchParams:function a(z){var A=YAHOO.lang.substitute("size={maxResults}&nf={term}",{maxResults:this.options.maxSearchResults,term:encodeURIComponent(z)});return A},onSiteDeleted:function q(E,C){var B=C[1].site;var A=this.widgets.dataTable.getRecordSet();var F=A.getLength();for(var D=0;D. - */ - -/** - * Site Finder component. - * - * @namespace Alfresco - * @class Alfresco.SiteFinder - */ -(function() -{ - /** - * YUI Library aliases - */ - var Dom = YAHOO.util.Dom, - Event = YAHOO.util.Event, - KeyListener = YAHOO.util.KeyListener; - - /** - * Alfresco Slingshot aliases - */ - var $html = Alfresco.util.encodeHTML; - - /** - * SiteFinder constructor. - * - * @param {String} htmlId The HTML id of the parent element - * @return {Alfresco.SiteFinder} The new SiteFinder instance - * @constructor - */ - Alfresco.SiteFinder = function(htmlId) - { - Alfresco.SiteFinder.superclass.constructor.call(this, "Alfresco.SiteFinder", htmlId, ["button", "container", "datasource", "datatable", "json"]); - - // Initialise prototype properties - this.buttons = []; - this.searchTerm = ""; - this.memberOfSites = {}; - this.pendingInvites = {}; - - YAHOO.Bubbling.on("siteDeleted", this.onSiteDeleted, this); - - return this; - }; - - YAHOO.extend(Alfresco.SiteFinder, Alfresco.component.Base, - { - /** - * Object container for initialization options - * - * @property options - * @type object - */ - options: - { - /** - * Number of characters required for a search. - * - * @property minSearchTermLength - * @type int - * @default 0 - */ - minSearchTermLength: 0, - - /** - * Maximum number of items to display in the results list - * - * @property maxSearchResults - * @type int - * @default 100 - */ - maxSearchResults: 100, - - /** - * The userid of the current user - * - * @property currentUser - * @type string - */ - currentUser: "", - - /** - * Invite data for pending invitations - * - * @property @inviteData - * @type array - */ - inviteData: [], - - /** - * Whether to set UI focus to this component or not - * - * @property setFocus - * @type boolean - * @default false - */ - setFocus: false - }, - - /** - * List of Join/Leave buttons - * - * @property buttons - * @type array - */ - buttons: null, - - /** - * Search term used for the site search. - * - * @property searchTerm - * @type string - */ - searchTerm: null, - - /** - * List of sites the current user is a member of - * - * @property memberOfSites - * @type object - */ - memberOfSites: null, - - /** - * Provides easy look-up of pending invites for this user - * - * @property pendingInvites - * @type object - */ - pendingInvites: null, - - /** - * Fired by YUI when parent element is available for scripting. - * Component initialisation, including instantiation of YUI widgets and event listener binding. - * - * @method onReady - */ - onReady: function SiteFinder_onReady() - { - var me = this; - - // Copy the pending invite data - var invites = this.options.inviteData, invite; - for (i = 0, j = invites.length; i < j; i++) - { - invite = invites[i]; - this.pendingInvites[invite.siteId] = invite.id; - this.memberOfSites[invite.siteId] = "PENDING"; - } - - // DataSource definition - var uriSearchResults = Alfresco.constants.PROXY_URI + "api/sites?roles=user&"; - this.widgets.dataSource = new YAHOO.util.DataSource(uriSearchResults, - { - responseType: YAHOO.util.DataSource.TYPE_JSON, - connXhrMode: "queueRequests", - responseSchema: - { - resultsList: "items" - } - }); - this.widgets.dataSource.doBeforeParseData = function SiteFinder_doBeforeParseData(oRequest , oFullResponse) - { - var updatedResponse = oFullResponse; - - if (oFullResponse) - { - var items = []; - - // determine list of sites to show - if (me.searchTerm.length === 0) - { - items = oFullResponse; - } - else - { - var siteData, shortName, title, siteVisibility, isMemberOfGroup; - - for (var x = 0, y = oFullResponse.length; x < y; x++) - { - siteData = oFullResponse[x]; - shortName = siteData.shortName; - title = siteData.title; - siteVisibility = siteData.visibility; - isMemberOfGroup = siteData.isMemberOfGroup; - - // add site to list - items.push(siteData); - } - } - - // Sort the sites by their title - items.sort(function (site1, site2) - { - return (site1.title > site2.title) ? 1 : (site1.title < site2.title) ? -1 : 0; - }); - - // Resolve what sites the user is site admin for - var siteManagers, i, j, k, l; - for (i = 0, j = items.length; i < j; i++) - { - items[i].isSiteManager = (items[i].siteRole === "SiteManager"); - } - - // we need to wrap the array inside a JSON object so the DataTable is happy - updatedResponse = - { - "items": items - }; - } - - return updatedResponse; - }; - - // setup of the datatable. - this._setupDataTable(); - - // setup the button - this.widgets.searchButton = Alfresco.util.createYUIButton(this, "button", this.doSearch); - - // register the "enter" event on the search text field - var searchInput = Dom.get(this.id + "-term"), - keyListener = new KeyListener(searchInput, - { - keys:13 - }, - { - fn: function() - { - me.doSearch(); - }, - scope:this, - correctScope:true - }, "keydown").enable(); - - // Set initial focus? - if (this.options.setFocus) - { - searchInput.focus(); - } - - // Finally show the component body here to prevent UI artifacts on YUI button decoration - Dom.setStyle(this.id + "-body", "visibility", "visible"); - }, - - /** - * Declare inline DataTable renderes and create YUI object - * - * @method _setupDataTable - * @private - */ - _setupDataTable: function SiteFinder_setupDataTable() - { - /** - * DataTable Cell Renderers - * - * Each cell has a custom renderer defined as a custom function. See YUI documentation for details. - * These MUST be inline in order to have access to the Alfresco.SiteFinder class (via the "me" variable). - */ - var me = this; - - /** - * Thumbnail custom datacell formatter - * - * @method renderCellThumbnail - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellThumbnail = function SiteFinder_renderCellThumbnail(elCell, oRecord, oColumn, oData) - { - var shortName = oRecord.getData("shortName"), - url = Alfresco.constants.URL_PAGECONTEXT + "site/" + shortName + "/dashboard", - siteName = $html(oRecord.getData("title")); - - // Render the icon - elCell.innerHTML = '' + siteName + ''; - }; - - /** - * Description/detail custom datacell formatter - * - * @method renderCellDescription - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellDescription = function SiteFinder_renderCellDescription(elCell, oRecord, oColumn, oData) - { - var siteVisibility = oRecord.getData("visibility").toUpperCase(), - url = Alfresco.constants.URL_PAGECONTEXT + "site/" + oRecord.getData("shortName") + "/dashboard"; - - // title/link to site page - var details = '

' + $html(oRecord.getData("title")) + '

'; - // description - details += '
' + $html(oRecord.getData("description")) + '
'; - - // Private / Moderated flag - if (siteVisibility == "MODERATED") - { - details += '' + me.msg("site-finder.moderated") + ''; - } - else if (siteVisibility == "PRIVATE") - { - details += '' + me.msg("site-finder.private") + ''; - } - - elCell.innerHTML = details; - }; - - /** - * Actions custom datacell formatter - * - * @method renderCellActions - * @param elCell {object} - * @param oRecord {object} - * @param oColumn {object} - * @param oData {object|string} - */ - renderCellActions = function SiteFinder_renderCellActions(elCell, oRecord, oColumn, oData) - { - var siteVisibility = oRecord.getData("visibility").toUpperCase(), - shortName = oRecord.getData("shortName"), - isSiteManager = oRecord.getData("isSiteManager"), - title = $html(oRecord.getData("title")), - isMember = oRecord.getData("siteRole") !== ""; - - var hasDelete = (isMember && isSiteManager); - - // Create the mark-up for at least one button, adding delete if appropriate - var action = ''; - if (hasDelete) - { - action = ' ' + action; - } - elCell.innerHTML = action; - - if (hasDelete) - { - // Delete site button can now be YUI'd - var deleteButton = new YAHOO.widget.Button( - { - container: me.id + '-deleteButton-' + shortName - }); - deleteButton.set("label", me.msg("site-finder.delete")); - deleteButton.set("onclick", - { - fn: me.doDelete, - obj: - { - shortName: shortName, - title: title - }, - scope: me - }); - } - - // Create generic button - action populated later depending on state - var button = new YAHOO.widget.Button( - { - container: me.id + '-button-' + shortName, - disabled: oRecord.getData("isMemberOfGroup") - }); - - switch (siteVisibility) - { - case "PUBLIC": - // If already a member of the site then show leave action, otherwise show join - if (isMember) - { - // Leave site action - button.set("label", me.msg("site-finder.leave")); - button.set("onclick", - { - fn: me.doLeave, - obj: - { - shortName: shortName, - title: title - }, - scope: me - }); - } - else - { - // Join site action - button.set("label", me.msg("site-finder.join")); - button.set("onclick", - { - fn: me.doJoin, - obj: - { - shortName: shortName, - title: title - }, - scope: me - }); - } - - me.buttons[shortName] = - { - button: button - }; - break; - - case "PRIVATE": - if (isMember) - { - // Must already be a member of the site so show leave action - button.set("label", me.msg("site-finder.leave")); - button.set("onclick", - { - fn: me.doLeave, - obj: - { - shortName: shortName, - title: title - }, - scope: me - }); - - me.buttons[shortName] = - { - button: button - }; - break; - } - case "MODERATED": - // If already a member of the site then show leave action, otherwise show join request - if (isMember) - { - // Leave site action - button.set("label", me.msg("site-finder.leave")); - button.set("onclick", - { - fn: me.doLeave, - obj: - { - shortName: shortName, - title: title - }, - scope: me - }); - } - else if (me.memberOfSites[shortName] == "PENDING") - { - var skip = false; - for (i = 0; i < me.options.inviteData.length; i++) - { - if (me.options.inviteData[i].siteId == shortName) - { - if (me.options.inviteData[i].type != "MODERATED") - { - skip = true; - } - break; - } - } - - if (!skip) - { - // Leave site action - button.set("label", me.msg("site-finder.cancel-request")); - button.set("onclick", - { - fn: me.doCancelRequest, - obj: - { - shortName: shortName, - title: title - }, - scope: me - }); - } - else - { - elCell.innerHTML = '
'; - } - } - else - { - // Join site action - button.set("label", me.msg("site-finder.request-join")); - button.set("onclick", - { - fn: me.doRequestJoin, - obj: - { - shortName: shortName, - title: title - }, - scope: me - }); - } - - me.buttons[shortName] = - { - button: button - }; - break; - - default: - // output padding div so layout is not messed up due to missing buttons - elCell.innerHTML = '
'; - break; - } - }; - - // DataTable column defintions - var columnDefinitions = - [ - { - key: "shortName", label: "Short Name", sortable: false, formatter: renderCellThumbnail - }, - { - key: "description", label: "Description", sortable: false, formatter: renderCellDescription - }, - { - key: "button", label: "Actions", formatter: renderCellActions - } - ]; - - // DataTable definition - this.widgets.dataTable = new YAHOO.widget.DataTable(this.id + "-sites", columnDefinitions, this.widgets.dataSource, - { - renderLoopSize: 32, - initialLoad: false, - MSG_EMPTY: this.msg("message.instructions") - }); - this.widgets.dataTable.subscribe("rowDeleteEvent", this.onRowDeleteEvent, this, true); - - // Override abstract function within DataTable to set custom error message - this.widgets.dataTable.doBeforeLoadData = function SiteFinder_doBeforeLoadData(sRequest, oResponse, oPayload) - { - if (oResponse.error) - { - try - { - var response = YAHOO.lang.JSON.parse(oResponse.responseText); - this.widgets.dataTable.set("MSG_ERROR", response.message); - } - catch(e) - { - me._setDefaultDataTableErrors(me.widgets.dataTable); - } - } - else if (oResponse.results) - { - if (oResponse.results.length === 0) - { - me.widgets.dataTable.set("MSG_EMPTY", '' + me.msg("message.empty") + ''); - } - me.renderLoopSize = Alfresco.util.RENDERLOOPSIZE; - } - - // Must return true to have the "Searching..." message replaced by the error message - return true; - }; - }, - - /** - * Search event handler - * - * @method doSearch - */ - doSearch: function SiteFinder_doSearch() - { - this.searchTerm = YAHOO.lang.trim(Dom.get(this.id + "-term").value); - - // inform the user if the search term entered is too small - if (this.searchTerm.replace(/\*/g, "").length < this.options.minSearchTermLength) - { - Alfresco.util.PopupManager.displayMessage( - { - text: parent._msg("message.minimum-length", this.options.minSearchTermLength) - }); - return; - } - this.searchTerm = '*' + this.searchTerm + '*'; - - this._performSearch(this.searchTerm); - }, - - /** - * Generic failure callback handler - * - * @method _failureCallback - * @private - * @param message {string} Display message - */ - _failureCallback: function SiteFinder__failureCallback(obj, message) - { - this._clearFeedbackMessage(); - if (message) - { - Alfresco.util.PopupManager.displayPrompt( - { - title: Alfresco.util.message("message.failure"), - text: message - }); - } - }, - - /** - * Join event handler - * - * @method doJoin - * @param event {object} The event object - * @param site {string} The shortName of the site to join - */ - doJoin: function SiteFinder_doJoin(event, site) - { - var user = this.options.currentUser; - - // make ajax call to site service to join user - Alfresco.util.Ajax.jsonPut( - { - url: Alfresco.constants.PROXY_URI + "api/sites/" + site.shortName + "/memberships", - dataObj: - { - role: "SiteConsumer", - person: - { - userName: user - } - }, - successCallback: - { - fn: this._joinSuccess, - obj: site, - scope: this - }, - failureCallback: - { - fn: this._failureCallback, - obj: this.msg("site-finder.join-failure", this.options.currentUser, site.title), - scope: this - } - }); - }, - - /** - * Callback handler used when a user is successfully added to a site - * - * @method _joinSuccess - * @param response {object} - * @param siteData {object} - */ - _joinSuccess: function SiteFinder__joinSuccess(response, site) - { - // show popup message to confirm - Alfresco.util.PopupManager.displayMessage( - { - text: this.msg("site-finder.join-success", this.options.currentUser, site.title) - }); - - // redo the search again to get updated info - this.doSearch(); - }, - - /** - * Leave event handler - * - * @method doLeave - * @param event {object} The event object - * @param site {string} The shortName of the site to leave - */ - doLeave: function SiteFinder_doLeave(event, site) - { - var user = this.options.currentUser; - - // make ajax call to site service to join user - Alfresco.util.Ajax.request( - { - url: Alfresco.constants.PROXY_URI + "api/sites/" + site.shortName + "/memberships/" + encodeURIComponent(user), - method: "DELETE", - successCallback: - { - fn: this._leaveSuccess, - obj: site, - scope: this - }, - failureCallback: - { - fn: this._failureCallback, - obj: this.msg("site-finder.leave-failure", this.options.currentUser, site.title), - scope: this - } - }); - }, - - /** - * Callback handler used when a user is successfully removed from a site - * - * @method _leaveSuccess - * @param response {object} - * @param siteData {object} - */ - _leaveSuccess: function SiteFinder__leaveSuccess(response, site) - { - // remove site from site membership list - delete this.memberOfSites[site.shortName]; - - // show popup message to confirm - Alfresco.util.PopupManager.displayMessage( - { - text: this.msg("site-finder.leave-success", this.options.currentUser, site.title) - }); - - // redo the search again to get updated info - this.doSearch(); - }, - - /** - * Request Join event handler - * - * @method doRequestJoin - * @param event {object} The event object - * @param site {string} The shortName of the site to request joining - */ - doRequestJoin: function SiteFinder_doRequestJoin(event, site) - { - var user = this.options.currentUser; - - // show a wait message - this.widgets.feedbackMessage = Alfresco.util.PopupManager.displayMessage( - { - text: this.msg("message.please-wait"), - spanClass: "wait", - displayTime: 0 - }); - - // make ajax call to site service to request joining - Alfresco.util.Ajax.jsonRequest( - { - url: Alfresco.constants.PROXY_URI + "api/sites/" + site.shortName + "/invitations", - method: "POST", - dataObj: - { - invitationType: "MODERATED", - inviteeUserName: user, - inviteeComments: "", - inviteeRoleName: "SiteConsumer" - }, - successCallback: - { - fn: this._requestJoinSuccess, - obj: site, - scope: this - }, - failureCallback: - { - fn: this._failureCallback, - obj: this.msg("site-finder.request-join-failure", this.options.currentUser, site.title), - scope: this - } - }); - }, - - /** - * Callback handler used when a request has successfully been made to join a site - * - * @method _requestJoinSuccess - * @param response {object} - * @param siteData {object} - */ - _requestJoinSuccess: function SiteFinder__requestJoinSuccess(response, site) - { - var data = response.json.data, - siteId = site.shortName; - - // add site to site membership list - this.memberOfSites[siteId] = "PENDING"; - - // Get data.inviteId for the cancel request - this.pendingInvites[siteId] = data.inviteId; - - // show popup message to confirm - Alfresco.util.PopupManager.displayMessage( - { - text: this.msg("site-finder.request-join-success", this.options.currentUser, site.title) - }); - - // redo the search again to get updated info - this.doSearch(); - }, - - /** - * Cancel Join Request event handler - * - * @method doCancelRequest - * @param event {object} The event object - * @param site {string} The shortName of the site to cancel join request for - */ - doCancelRequest: function SiteFinder_doCancelRequest(event, site) - { - var user = this.options.currentUser, - siteId = site.shortName; - - // show a wait message - this.widgets.feedbackMessage = Alfresco.util.PopupManager.displayMessage( - { - text: this.msg("message.please-wait"), - spanClass: "wait", - displayTime: 0 - }); - - // make ajax call to site service to request joining - Alfresco.util.Ajax.jsonRequest( - { - url: Alfresco.constants.PROXY_URI + "api/sites/" + siteId + "/invitations/" + encodeURIComponent(this.pendingInvites[siteId]), - method: "DELETE", - successCallback: - { - fn: this._cancelRequestSuccess, - obj: site, - scope: this - }, - failureCallback: - { - fn: this._failureCallback, - obj: this.msg("site-finder.cancel-request-failure", this.options.currentUser, site.title), - scope: this - } - }); - }, - - /** - * Callback handler used when a request has successfully been cancelled to join a site - * - * @method _cancelRequestSuccess - * @param response {object} - * @param siteData {object} - */ - _cancelRequestSuccess: function SiteFinder__cancelRequestSuccess(response, site) - { - // reset site status - this.memberOfSites[site.shortName] = "MODERATED"; - - // show popup message to confirm - Alfresco.util.PopupManager.displayMessage( - { - text: this.msg("site-finder.cancel-request-success", this.options.currentUser, site.title) - }); - - // redo the search again to get updated info - this.doSearch(); - }, - - /** - * Delete event handler - * - * @method doDelete - * @param event {object} The event object - * @param site {object} An object literal of the site to delete - */ - doDelete: function SiteFinder_doDelete(event, site) - { - Alfresco.module.getDeleteSiteInstance().show( - { - site: site - }); - }, - - /** - * Resets the YUI DataTable errors to our custom messages - * - * NOTE: Scope could be YAHOO.widget.DataTable, so can't use "this" - * - * @method _setDefaultDataTableErrors - * @param dataTable {object} Instance of the DataTable - */ - _setDefaultDataTableErrors: function SiteFinder__setDefaultDataTableErrors(dataTable) - { - var msg = Alfresco.util.message; - dataTable.set("MSG_EMPTY", msg("message.empty", "Alfresco.SiteFinder")); - dataTable.set("MSG_ERROR", msg("message.error", "Alfresco.SiteFinder")); - }, - - /** - * Clears any current feedback message pop-up - * - * @method _cleanFeedbackMessage - */ - _clearFeedbackMessage: function SiteFinder__clearFeedbackMessage() - { - if (this.widgets.feedbackMessage) - { - try - { - this.widgets.feedbackMessage.destroy(); - } - catch(e) - { - - } - this.widgets.feeedbackMessage = null; - } - }, - - /** - * Updates site list by calling data webscript with current search term - * - * @method _performSearch - * @param searchTerm {string} The term to search for - */ - _performSearch: function SiteFinder__performSearch(searchTerm) - { - // Reset the custom error messages - this._setDefaultDataTableErrors(this.widgets.dataTable); - - // Display loading message - this.widgets.dataTable.set("MSG_EMPTY", Alfresco.util.message("site-finder.searching", "Alfresco.SiteFinder")); - - // empty results table - this.widgets.dataTable.deleteRows(0, this.widgets.dataTable.getRecordSet().getLength()); - - // loading message function - var loadingMessage = null; - var fnShowLoadingMessage = function SiteFinder__pS_fnShowLoadingMessage() - { - loadingMessage = Alfresco.util.PopupManager.displayMessage( - { - displayTime: 0, - text: '' + $html(this.msg("message.loading")) + '', - noEscape: true - }); - }; - - // slow data webscript message - var timerShowLoadingMessage = YAHOO.lang.later(2000, this, fnShowLoadingMessage); - - var successHandler = function SiteFinder__pS_successHandler(sRequest, oResponse, oPayload) - { - this.widgets.searchButton.set("disabled", false); - if (timerShowLoadingMessage) - { - timerShowLoadingMessage.cancel(); - } - if (loadingMessage) - { - loadingMessage.destroy(); - } - - this.searchTerm = searchTerm; - this.widgets.dataTable.onDataReturnInitializeTable.call(this.widgets.dataTable, sRequest, oResponse, oPayload); - }; - - var failureHandler = function SiteFinder__pS_failureHandler(sRequest, oResponse) - { - this.widgets.searchButton.set("disabled", false); - if (timerShowLoadingMessage) - { - timerShowLoadingMessage.cancel(); - } - if (loadingMessage) - { - loadingMessage.destroy(); - } - - if (oResponse.status == 401) - { - // Our session has likely timed-out, so refresh to offer the login page - window.location.reload(); - } - else - { - try - { - var response = YAHOO.lang.JSON.parse(oResponse.responseText); - this.widgets.dataTable.set("MSG_ERROR", response.message); - this.widgets.dataTable.showTableMessage(response.message, YAHOO.widget.DataTable.CLASS_ERROR); - } - catch(e) - { - this._setDefaultDataTableErrors(this.widgets.dataTable); - } - } - }; - - this.widgets.dataSource.sendRequest(this._buildSearchParams(searchTerm), - { - success: successHandler, - failure: failureHandler, - scope: this - }); - - this.widgets.searchButton.set("disabled", true); - }, - - /** - * Build URI parameter string for finding sites - * - * @method _buildSearchParams - * @param searchTerm {string} Path to query - */ - _buildSearchParams: function SiteFinder__buildSearchParams(searchTerm) - { - var params = YAHOO.lang.substitute("size={maxResults}&nf={term}", - { - maxResults : this.options.maxSearchResults, - term : encodeURIComponent(searchTerm) - }); - - return params; - }, - - /** - * Fired any another component, DeleteSite, to let other components know - * that a site has been deleted. - * Performs the search again. - * - * @method onSiteDeleted - * @param layer {object} Event fired (unused) - * @param args {array} Event parameters (unused) - */ - onSiteDeleted: function SiteFinder_onSiteDeleted(layer, args) - { - var site = args[1].site; - var rs = this.widgets.dataTable.getRecordSet(); - var length = rs.getLength(); - for (var i = 0; i < length; i++) - { - var record = rs.getRecord(i); - if (record.getData("shortName") == site.shortName) - { - this.widgets.dataTable.deleteRow(record); - } - } - if (rs.getLength() == 0) - { - this.widgets.dataTable.set("MSG_EMPTY", Alfresco.util.message("message.empty", "Alfresco.SiteFinder")); - } - }, - - /** - * Fired by YUI:s DataTable when a row has been added to the data table list. - * Keeps track of added files. - * - * @method onRowDeleteEvent - * @param event {object} a DataTable "rowDelete" event - */ - onRowDeleteEvent: function SiteFinder_onRowDeleteEvent(event) - { - if (this.widgets.dataTable.getRecordSet().getLength() === 0) - { - this.widgets.dataTable.showTableMessage(this.msg("site-finder.enter-search-term", this.name), "siteFinderTableMessage"); - } - } - }); -})(); \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/web/components/wiki/page-min.js b/mms-ent/share-amp/src/main/amp/web/components/wiki/page-min.js deleted file mode 100755 index 4ae84672..00000000 --- a/mms-ent/share-amp/src/main/amp/web/components/wiki/page-min.js +++ /dev/null @@ -1,631 +0,0 @@ -/** - * Copyright (C) 2005-2010 Alfresco Software Limited. - * - * This file is part of Alfresco - * - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - */ - -/** - * Alfresco.WikiPage - * - * @namespace Alfresco - * @class Alfresco.WikiPage - * @extends Alfresco.component.Base - */ -(function() -{ - /** - * YUI Library aliases - */ - var Dom = YAHOO.util.Dom, - Event = YAHOO.util.Event, - Element = YAHOO.util.Element; - - /** - * Alfresco Slingshot aliases - */ - var $html = Alfresco.util.encodeHTML; - - /** - * WikiPage constructor. - * - * @param {String} htmlId The HTML id of the parent element - * @return {Alfresco.WikiPage} The new Wiki instance - * @constructor - */ - Alfresco.WikiPage = function(htmlId) - { - Alfresco.WikiPage.superclass.constructor.call(this, "Alfresco.WikiPage", htmlId, ["button", "container", "connection", "editor", "tabview"]); - this.selectedTags = []; - this.parser = new Alfresco.WikiParser(); - return this; - }; - - YAHOO.extend(Alfresco.WikiPage, Alfresco.component.Base, - { - - /** - * Currently selected tags. - * - * @property selectedTags - * @type array - */ - selectedTags: null, - - /** - * An instance of a Wiki parser for this page. - * - * @property parser - * @type Alfresco.WikiParser - */ - parser: null, - - /** - * Flag to indicate the user is forcing a save (newer version overwrite) - * - * @property forceSave - * @type bool - * @default false - */ - forceSave: false, - - /** - * Saving page dialog popup - * - * @property savingPagePopup - * @type object - * @default null - */ - savingPagePopup: null, - - /** - * Object container for initialization options - * - * @property options - * @type object - */ - options: - { - /** - * Current siteId. - * - * @property siteId - * @type string - * @default "" - */ - siteId: "", - - /** - * The posts title. - * - * @property pageTitle - * @type string - * @default "" - */ - pageTitle: "", - - /** - * The display mode - * - * @property mode - * @type string - * @default "view" - */ - mode: "view", - - /** - * Set to true if error exist - * - * @property error - * @type boolean - * @default false - */ - error: false, - - /** - * Tags for the wiki post. - * - * @property tags - * @type array - * @default [] - */ - tags: [], - - /** - * Pages linked to from the wiki post. - * - * @property pages - * @type array - * @default [] - */ - pages: [], - - /** - * Versions of this the post. - * - * @property versions - * @type array - * @default [] - */ - versions: [], - - /** - * Permissions for the current user for the wiki post. - * - * @property permissions - * @type array - * @default [] - */ - permissions: {}, - - /** - * The current users locale - * - * @property locale - * @type string - * @default "" - */ - locale: "" - }, - - /** - * Fired by YUI when parent element is available for scripting. - * Initialises components, including YUI widgets. - * - * @method onReady - */ - onReady: function WikiPage_onReady() - { - if (this.options.error) - { - // Site or container not found - deactivate controls - YAHOO.Bubbling.fire("deactivateAllControls"); - return; - } - - if (this.options.mode === "edit") - { - this._setupEditForm(); - } - else if (this.options.mode === "details") - { - this._setupPageDetails(); - } - - //Append the Wiki page title to page title - document.title += $html(" \u00BB " + this.options.pageTitle); - - // Content area - var pageText = Dom.get(this.id + "-page"); - if (pageText) - { - this.parser.URL = this._getAbsolutePath(); - // Format any wiki markup - pageText.innerHTML = this.parser.parse(pageText.innerHTML, this.options.pages); - } - - // Fire permissions event to allow other components to update their UI accordingly - YAHOO.Bubbling.fire("userAccess", - { - userAccess: this.options.permissions - }); - }, - - /** - * Configure the page for "details" mode - * - * @method _setupPageDetails - * @private - */ - _setupPageDetails: function WikiPage__setupPageDetails() - { - var versions = this.options.versions; - - // Versioning drop down - if (versions.length > 0) - { - this.widgets.versionSelect = Alfresco.util.createYUIButton(this, "selectVersion-button", this.onVersionSelectChange, - { - type: "menu", - menu: "selectVersion-menu" - }); - } - - // Listen on clicks for revert version icons - var version, i, j, expandDiv, moreVersionInfoDiv; - - for (i = 0, j = versions.length; i < j; i++) - { - var revertSpan = Dom.get(this.id + "-revert-span-" + i); - if (revertSpan) - { - Event.addListener(revertSpan, "click", function (event, obj) - { - // Find the index of the version link by looking at its id - version = versions[obj.versionIndex]; - - // Find the version through the index and display the revert dialog for the version - Alfresco.module.getRevertWikiVersionInstance().show( - { - siteId: obj.siteId, - pageTitle: obj.pageTitle, - version: version.label, - versionId: version.versionId, - onRevertWikiVersionComplete: - { - fn: this.onRevertWikiVersionComplete, - scope: this - } - }); - }, - { - siteId: this.options.siteId, - pageTitle: this.options.pageTitle, - versionIndex: i - }, this); - } - - // Listen on clicks on the version - date row so we can expand and collapse it - expandDiv = Dom.get(this.id + "-expand-div-" + i); - moreVersionInfoDiv = Dom.get(this.id + "-moreVersionInfo-div-" + i); - - if (expandDiv) - { - Event.addListener(expandDiv, "click", function (event, obj) - { - if (obj.moreVersionInfoDiv && Dom.hasClass(obj.expandDiv, "collapsed")) - { - Alfresco.util.Anim.fadeIn(obj.moreVersionInfoDiv); - Dom.removeClass(obj.expandDiv, "collapsed"); - Dom.addClass(obj.expandDiv, "expanded"); - } - else - { - Dom.setStyle(obj.moreVersionInfoDiv, "display", "none"); - Dom.removeClass(obj.expandDiv, "expanded"); - Dom.addClass(obj.expandDiv, "collapsed"); - } - }, - { - expandDiv: expandDiv, - moreVersionInfoDiv: moreVersionInfoDiv - }, this); - } - - // Format and display the createdDate - Dom.get(this.id + "-createdDate-span-" + i).innerHTML = - Alfresco.util.formatDate(Alfresco.thirdparty.fromISO8601(versions[i].createdDate), this.msg("date-format.longDate")); - } - }, - - /** - * Fired by the Revert Version component after a successful revert. - * - * @method onRevertWikiVersionComplete - */ - onRevertWikiVersionComplete: function WikiPage_onRevertWikiVersionComplete() - { - Alfresco.util.PopupManager.displayMessage( - { - text: this.msg("message.revertComplete", this.name) - }); - - window.location.reload(); - }, - - /** - * Called via init if the page is in edit mode - * - * @method _setupEditForm - */ - _setupEditForm: function WikiPage__setupEditForm() - { - var width = Dom.get(this.id + "-form").offsetWidth - 400; - var height = YAHOO.env.ua.ie > 0 ? document.body.clientHeight : document.height; - this.tagLibrary = new Alfresco.module.TagLibrary(this.id); - this.tagLibrary.setOptions( - { - siteId: this.options.siteId - }); - if (this.options.tags.length > 0) - { - this.tagLibrary.setTags(this.options.tags); - } - - // Tiny MCE - this.pageEditor = Alfresco.util.createImageEditor(this.id + '-content', - { - height: 300, - width: 600, - inline_styles: false, - convert_fonts_to_spans: false, - theme: "advanced", - plugins: "table,visualchars,emotions,advhr,print,directionality,fullscreen,insertdatetime", - //plugins: "asciimath,table,visualchars,emotions,advhr,print,directionality,fullscreen,insertdatetime", - theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,forecolor,backcolor", - theme_advanced_buttons2: "bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,alfresco-imagelibrary,alfresco-linklibrary,image,cleanup,help,code,removeformat,|,insertdate,inserttime", - theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,advhr,|,print,|,ltr,rtl,|,fullscreen", - //theme_advanced_buttons3: "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,asciimath,emotions,advhr,|,print,|,ltr,rtl,|,fullscreen", - theme_advanced_toolbar_location: "top", - theme_advanced_toolbar_align: "left", - theme_advanced_statusbar_location: "bottom", - theme_advanced_path : false, - theme_advanced_resizing: true, - siteId: this.options.siteId, - language: this.options.locale - }); - this.pageEditor.addPageUnloadBehaviour(this.msg("message.unsavedChanges.wiki")); - this.pageEditor.render(); - - var saveButton = new YAHOO.widget.Button(this.id + "-save-button", - { - type: "submit" - }); - - Alfresco.util.createYUIButton(this, "cancel-button", this.onCancelSelect); - - // create the form that does the validation/submit - var form = new Alfresco.forms.Form(this.id + "-form"); - form.setSubmitElements(saveButton); - form.setAJAXSubmit(true, - { - successCallback: - { - fn: this.onPageUpdated, - scope: this - }, - failureCallback: - { - fn: function(data, form) - { - // Remove the Saving... popup - if (this.savingPagePopup) - { - this.savingPagePopup.destroy(); - this.savingPagePopup = null; - } - - // See if the error was a versino conflict - if (data.serverResponse.status == 409) - { - var me = this; - - // Version conflict, so let the user decide what to do - Alfresco.util.PopupManager.displayPrompt( - { - text: this.msg("message.confirm.newerVersion"), - buttons: [ - { - text: this.msg("button.savechanges"), - handler: function Wiki_submit_forceSave() - { - // Set the "force save" flag and re-submit - this.destroy(); - me.forceSave = true; - saveButton.fireEvent('click', - { - type: 'click' - }); - } - }, - { - text: this.msg("button.cancel"), - handler: function Wiki_submit_cancel() - { - this.destroy(); - }, - isDefault: true - }] - }); - } - else if (data.serverResponse.status == 401) - { - // Unauthenticated, which is probably due to a web-tier timeout or restart - Alfresco.util.PopupManager.displayPrompt( - { - title: this.msg("message.sessionTimeout.title"), - text: this.msg("message.sessionTimeout.text") - }); - } - else - { - Alfresco.util.PopupManager.displayPrompt( - { - title: this.msg("message.failure"), - text: data.json.message - }); - } - }, - scope: this, - obj: form - }, - noReloadOnAuthFailure: true - }); - - form.setSubmitAsJSON(true); - form.setAjaxSubmitMethod(Alfresco.util.Ajax.PUT); - form.doBeforeFormSubmit = - { - fn: function(form, obj) - { - // Display pop-up to indicate that the page is being saved - this.savingPagePopup = Alfresco.util.PopupManager.displayMessage( - { - displayTime: 0, - text: '' + $html(this.msg("message.saving", this.name)) + '', - noEscape: true - }); - - // Put the HTML back into the text area - this.pageEditor.save(); - // Update the tags set in the form - this.tagLibrary.updateForm(this.id + "-form", "tags"); - - // Avoid submitting the input field used for entering tags - var tagInputElem = Dom.get(this.id + "-tag-input-field"); - if (tagInputElem) - { - tagInputElem.disabled = true; - } - }, - scope: this - }; - form.doBeforeAjaxRequest = - { - fn: function(config, obj) - { - if (this.forceSave) - { - // Set the "force save" flag on the JSON request - this.forceSave = false; - config.dataObj["forceSave"] = true; - } - return true; - }, - scope: this - }; - - this.tagLibrary.initialize(form); - form.init(); - - YAHOO.Bubbling.on("onTagLibraryTagsChanged", this.onTagLibraryTagsChanged, this); - }, - - /** - * Called when tag library tags have been updated - * - * @method onTagLibraryTagsChanged - * @param layer {object} Event fired - * @param args {array} Event parameters (depends on event type) - */ - onTagLibraryTagsChanged: function WikiPage_onTagLibraryTagsChanged(layer, args) - { - this.selectedTags = args[1].tags; - }, - - /** - * Called when the user selects a version in the version list - * - * @method onVersionSelectChange - * @param sType {string} Event type, e.g. "click" - * @param aArgs {array} Arguments array, [0] = DomEvent, [1] = EventTarget - * @param p_obj {object} Object passed back from subscribe method - */ - onVersionSelectChange: function WikiPage_onVersionSelectChange(sType, aArgs, p_obj) - { - var versionId = aArgs[1].value; - var actionUrl = YAHOO.lang.substitute(Alfresco.constants.URL_SERVICECONTEXT + "components/wiki/version/{site}/{title}/{version}", - { - site: this.options.siteId, - title: encodeURIComponent(this.options.pageTitle), - version: versionId - }); - - Alfresco.util.Ajax.request( - { - method: Alfresco.util.Ajax.GET, - url: actionUrl, - successCallback: - { - fn: this.onVersionInfo, - scope: this, - obj: - { - index: aArgs[1].index - } - }, - failureMessage: "Could not retrieve version information" - }); - }, - - /** - * Called when the content for a new version has been loaded - * (because of a user click in the version select menu). - * - * @method onVersionInfo - * @param event {object} event from Alfresco.ajax.request - * @param obj {object} contians the index of the selected version in the versions array - */ - onVersionInfo: function WikiPage_onVersionInfo(event, obj) - { - // Show the content - var page = Dom.get(this.id + "-page"); - page.innerHTML = this.parser.parse(event.serverResponse.responseText, this.options.pages); - - // Update the version label in the header - var versionHeaderSpan = Dom.get(this.id + "-version-header"); - if (versionHeaderSpan) - { - versionHeaderSpan.innerHTML = this.msg("label.shortVersion", this.name) + this.options.versions[obj.index].label; - } - - // Update the label in the version select menu - var label = this.options.versions[obj.index].label; - if (obj.index == 0) - { - label += " (" + this.msg("label.latest") + ")"; - } - this.widgets.versionSelect.set("label", label); - }, - - /** - * Returns the absolute path (URL) to a wiki page, minus the title of the page. - * - * @method _getAbsolutePath - */ - _getAbsolutePath: function WikiPage__getAbsolutePath() - { - return Alfresco.constants.URL_PAGECONTEXT + "site/" + this.options.siteId + "/" + Alfresco.constants.PAGEID + "?title="; - }, - - /* - * Gets called when the user cancels an edit in progress. - * Returns the user to the page view of a page. - * - * @method onCancelSelect - * @param e {object} Event fired - */ - onCancelSelect: function WikiPage_onCancelSelect(e) - { - this.pageEditor.clearDirtyFlag(); - this._redirect(); - }, - - /* - * Event handler that gets fired when a page is successfully updated. - * This follows the "onSaveSelect" and "onRevert" event handlers. - * - * @method onPageUpdated - * @param e {object} Event fired - */ - onPageUpdated: function WikiPage_onPageUpdated(e) - { - this.pageEditor.clearDirtyFlag(); - this._redirect(); - }, - - /* - * Redirect browser to current pageTitle page - * - * @method _redirect - */ - _redirect: function WikiPage__redirect() - { - var url = this._getAbsolutePath() + encodeURIComponent(this.options.pageTitle); - window.location = url; - } - - }); -})(); diff --git a/mms-ent/share-amp/src/main/amp/web/css/base.css b/mms-ent/share-amp/src/main/amp/web/css/base.css deleted file mode 100755 index a76393cf..00000000 --- a/mms-ent/share-amp/src/main/amp/web/css/base.css +++ /dev/null @@ -1,1688 +0,0 @@ -/* Sticky Footer */ - -* -{ - margin: 0; -} - -html, body -{ - height: 100%; -} - -blockquote -{ - margin: 0 2em; -} - -.tiny -{ - font-size: 80%; -} - -.alfresco-share .sticky-wrapper ul -{ - */padding: 0;*/ - margin-left: 0; - list-style-position: inside; -} - -.yui-overlay ul -{ - padding: 0; - margin-left: 0; - list-style-position: inside; -} - -#bd -{ - padding-bottom: 2em; -} - -#alf-full-width -{ - margin: 0px 10px; -} - -.sticky-wrapper -{ - height: auto !important; - height: 100%; - margin: 0 auto -50px; - min-height: 100%; -} - -.sticky-footer, .sticky-push -{ - height: 50px; -} - -.login-panel .login-portlet -{ - padding: 132px 56px 64px 0px; - text-align: center; -} - -/* Font fallback defaults */ - -.sticky-wrapper, -.sticky-footer, -.yui-overlay, -#lightbox, -#ygddfdiv -{ - font-family: Arial, sans-serif; - font-size: 81%; -} - -/* Font fallback defaults */ - -.dnd-dragged -{ - font-family: Arial, sans-serif; - font-size: 81%; -} - -/* Site-wide Styles */ - -#alfresco-yuiloader -{ - display: none; - height: 0; - line-height: 0; -} - -.caret-fix -{ - overflow-x: auto; -} - -.clear -{ - clear: both; - display: block; - height: 1px; - overflow: hidden; - margin: 0; - padding: 0; -} - -.hidden -{ - display: none !important; -} - -/* Share pages */ - -.alfresco-share .sticky-wrapper p, -.yui-overlay p -{ - padding-top: 3px; - padding-bottom: 3px; -} - -.alfresco-share .sticky-wrapper hr, -.yui-overlay hr -{ - height: 1px; - margin-top: 5px; - margin-bottom: 8px; - border: 0; - width: 100%; - clear: both; -} - -.alfresco-share .yui-menu-button-menu hr, -.yui-overlay .yui-menu-button-menu hr -{ - width: auto; -} - -.sticky-wrapper fieldset, -.yui-overlay fieldset, -.login-panel fieldset -{ - border: 0; - margin: 0; - padding: 0; -} - -.yui-button button -{ - background-image: none; -} - -.yui-button.inline-button span button -{ - min-height: 1.8em; -} - -/* Enables a link to be vertically-aligned to a YUI button */ - -.yui-button-align -{ - border-color: transparent; - border-style: solid; - border-width: 1px 0; - display: inline-block; - vertical-align: text-bottom; -} - -.yui-button-align .first-child -{ - border-color: transparent; - border-style: solid; - border-width: 0 1px; -} - -.yui-button-align button, -.yui-button-align a -{ - font-size: 93%; - line-height: 2; - min-height: 2em; -} - -.yui-t1 -{ - width: auto; -} - -.yui-t1 #yui-main -{ - margin-left: -50em; -} - -h1.sub-title -{ - padding-top: 1em; -} - -/* History Manager */ - -#yui-history-iframe -{ - position: absolute; - top: 0; - left: 0; - width: 1px; - height: 1px; - visibility: hidden; -} - -/* Page title and navigation styles */ - -.page-title -{ - clear: left; - margin: 0px -10px; - min-height: 2em; - padding: 5px 10px; -} - -.page-title div.title -{ - float: left; -} - -.page-title div.links -{ - float: right; - min-width: 24em; - text-align: right; -} - -.page-title h1 -{ - display: inline; - position: relative; - top: 2px; -} - -.site-navigation -{ - clear: left; - margin: 0 -10px; - min-height: 1em; - padding: 5px 0 6px; -} - -span.navigation-separator, -span.navigation-item, -span.navigation-item-alt -{ - vertical-align: middle; - margin: 0px; -} - -span.navigation-item, -span.navigation-item-alt -{ - padding: 0 0 0 6px; -} - -span.navigation-item a, -span.navigation-item a:visited -{ - padding: 3px 4px; -} - -span.navigation-item a.active-page, -span.navigation-item a.active-page:visited, -span.navigation-item a:hover -{ - text-decoration: none; -} - -span.navigation-separator -{ - margin-right: 6px; - padding-left: 8px; - text-align: center; -} - -span.navigation-separator-alt -{ - padding: 0px 0px 0px 10px; - text-align: center; -} - -/* Standard toolbar that goes across the whole page */ - -.share-toolbar -{ - clear: both; - margin: 0 -10px; - height: 35px; - padding: 0; -} - -.share-toolbar .navigation-bar, -.share-toolbar .navigation-bar div, -.share-toolbar .action-bar, -.share-toolbar .action-bar div -{ - float: left; -} - -.share-toolbar .action-bar, -.share-toolbar .rss-feed -{ - padding: 4px 0.5em; -} - -.share-toolbar .navigation-bar -{ - padding: 2px 1em; - line-height: 30px; - height: 30px; - border-right: 2px solid #F0F3F4; -} - -.share-toolbar .navigation-bar div, -.share-toolbar .rss-feed div -{ - vertical-align: middle; -} - -.share-toolbar .backLink a:hover, -.share-toolbar .forwardLink a:hover -{ - text-decoration: underline; -} - -.share-toolbar .separator -{ - margin: 4px 10px 0 0; - padding: 2px 0 0 4px; -} - -.toolbar .separator -{ - margin: 4px 8px 0 0; - padding: 2px 0 0 4px; -} - -/* Standard Share forms using the forms component */ - -.share-form .form-manager -{ - padding: 1.5em 0 0 0; - width: 827px; -} - -.share-form .form-manager h1 -{ - padding-left: 0.5em; - margin-bottom: 0.75em; - word-wrap: break-word; -} - -.share-form .form-container -{ - padding: 0; - margin-top: 0; -} - -.share-form .form-container form -{ - - -/*margin-left: 1.5em;*/ - margin-top: 0.5em; -} - -.share-form .form-container .caption -{ - text-align: right; - width: 820px; -} - -.share-form .form-container .form-fields -{ - padding: 1em 1em 0 !important; - width: 800px; -} - -.share-form .form-container .form-buttons -{ - margin-top: 0.5em; - padding-left: 1em; -} - -/* Fixed Form-Based Pages */ - -.page-form-header -{ - margin: 4px; - padding: 0.85em 0 0.25em 0.15em; -} - -.page-form-body .yui-gd -{ - padding: 0.3em 0.3em 0.7em 0; -} - -.page-form-body .yui-gd .yui-u -{ - width: 88% !important; -} - -.page-form-body .yui-gd .first -{ - text-align: right; - width: 8% !important; - padding-top: 0.3em; -} - -/* Replace default styles for HTML content */ - -.dashlet .rich-content -{ - padding-top: 8px; -} - -.rich-content sub -{ - vertical-align: sub; -} - -.rich-content sup -{ - vertical-align: super; -} - -.rich-content ul, -.rich-content ol -{ - padding: 1em; -} - -.rich-content ul > li -{ - list-style-type: disc; - list-style-position: inside; -} - -.rich-content ol > li -{ - list-style-type: decimal; - list-style-position: inside; -} - -.rich-content th, -.rich-content td -{ - padding: 0.2em; -} - -.dnd-draggable -{ - cursor: move; -} - -.dnd-drag -{ - cursor: move; -} - -.dnd-dropInvalid -{ - cursor: no-drop; -} - -.dnd-dropValid -{ - cursor: pointer; -} - -.dnd-shadow -{ - visibility: hidden; -} - -.sticky-wrapper select, -.sticky-wrapper input[type="file"], -.sticky-wrapper input[type="text"], -.sticky-wrapper input[type="password"], -.sticky-wrapper textarea, -.yui-overlay select, -.yui-overlay input[type="file"], -.yui-overlay input[type="text"], -.yui-overlay input[type="password"], -.yui-overlay textarea -{ - padding: 2px; - width: 15em; -} - -input[type="text"].date-entry, -input[type="text"].crud-input-quota -{ - width: 6em; -} - -input[type="text"].time-entry -{ - width: 3em; -} - -select.wide, -input[type="text"].wide, -input[type="password"].wide, -textarea.wide -{ - width: 30em; -} - -/* Richtext Editor Plug-ins */ - -.yui-toolbar-container .yui-toolbar-alfresco-imagelib span.yui-toolbar-icon -{ - left: 6px; -} - -/* Dashlets */ - -.dashlet -{ - background-color: white; - margin: 20px 0; - padding: 0; - position: relative; -} - -.dashlet .title -{ - padding: 5px 9px 5px 9px; - overflow-x: hidden; -} - -.dashlet .toolbar -{ - min-height: 28px; - padding: 2px 9px 1px; -} - -.dashlet .toolbar .align-left -{ - float: left; -} - -.dashlet .toolbar .align-right -{ - float: right; -} - -.dashlet .toolbar .clear -{ - clear: both; -} - -.dashlet .body -{ - overflow-x: hidden; -} - -.dashlet .body a, -.dashlet .body a:visited, -.dashlet .body a:hover -{ - text-decoration: none; -} - -.dashlet .body a:hover -{ - cursor: pointer; - text-decoration: underline; -} - -.dashlet .scrollableList -{ - height: 208px; - padding: 4px 0px; - overflow: auto; -} - -.dashlet .scrollablePanel -{ - height: 208px; - overflow: auto; - margin-right: 1px; -} - -.dashlet .scrollablePanel div.resize-mask -{ - display: none; -} - -.dashlet .dashlet-padding -{ - padding: 8px; -} - -.dashlet .body h3 -{ - font-weight: normal; -} - -.dashlet .body .empty h3 -{ - font-weight: bold; - padding-bottom: 0.5em; -} - -.dashlet .body .empty span -{ - line-height: 1.5; -} - -.dashlet a.site-link -{ - background-image: url(../components/images/site-16.png); - background-repeat: no-repeat; - padding-left: 18px; -} - -/* Balloon pop-up */ - -/* Mac/Firefox 3.6 fix override */ -.prevent-scrollbars -{ - overflow: visible; -} - -.info-balloon -{ - background: none repeat scroll 0 0 #FFFFFF; - border: 1px solid #808080; - border-radius: 10px 10px 10px 10px; - box-shadow: 0 0 10px #000000; - color: #333333; - left: 50px; - margin: 1em 10px 15px; - padding: 15px; - position: relative; - top: 180px; -} - -.info-balloon-arrow -{ - border-style: none; -} - -.info-balloon .closeButton -{ - background: url("../themes/default/images/sprite.png") no-repeat scroll 0 -300px transparent; - cursor: pointer; - float: right; - text-indent: -999em; - width: 25px; -} - -.yui-resize div.yui-resize-handle-b -{ - bottom: -6px; - margin: 0 -1px; -} - -.yui-resize-resizing .scrollablePanel div.resize-mask -{ - display: block; - padding: 0; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - opacity: 0; -} - -.dashlet .msg -{ - padding-bottom: 8px; - padding-top: 8px; -} - -.dashlet .msg p -{ - margin-bottom: 0.3em; -} - -.dashlet .text-list-item -{ - padding-bottom: 6px; -} - -.dashlet .detail-list-item -{ - clear: both; - line-height: 1.4; - padding: 7px 9px; -} - -div.dashlet div.detail-list-item.first-item -{ - float: none; - padding-top: 0; -} - -div.dashlet div.hdr -{ - margin-bottom: 5px; - padding-top: 3px; - padding-left: 8px; -} - -.dashlet .detail-list-item.last-item -{ - border-bottom: none; -} - -.dashlet .detail-list-item .icon, -.dashlet .detail-list-item .avatar -{ - float: left; -} - -.dashlet .detail-list-item .avatar img -{ - width: 48px; -} - -.dashlet .detail-list-item .details -{ - padding-left: 40px; -} - -.dashlet .detail-list-item .person -{ - padding-left: 54px; -} - -.dashlet .detail-list-item .details2 -{ - padding-left: 20px; -} - -.dashlet .detail-list-item .user-status -{ - background-position: 0 1px; - background-repeat: no-repeat; - padding-left: 20px; -} - -.dashlet .titleBarActions -{ - height: 16px; - position: absolute; - right: 4px; - top: 1px; - visibility: visible; - opacity: 0; -} - -.dashlet .titleBarActions .titleBarActionIcon -{ - float: right; - margin: 3px; - height: 16px; - width: 16px; - cursor: pointer; - background-repeat: no-repeat; - -} - -.dashlet .titleBarActions .edit -{ - background-image: url(../components/images/edit-16.png); -} - -.dashlet .titleBarActions .help -{ - background-image: url(../components/images/header/help.png); -} - -.dashlet .titleBarActions .search -{ - background-image: url(../components/images/header/search-menu.png); -} - -.dashlet .titleBarActions .info -{ - background-image: url(../components/images/info-16.png); -} - -.dashlet .titleBarActions .rss -{ - background-image: url(../components/images/feed-icon-16.png); -} - -.yui-g.grid, -.yui-gb.grid, -.yui-gc.grid, -.yui-gd.grid -{ - margin: 0 10px; -} - -/* 3 column layout */ - -.yui-gb.grid .column1, -.yui-gb.grid .column3 -{ - width: 24%; -} - -.yui-gb.grid .column2 -{ - width: 48%; -} - -/* 4 column layout */ - -.yui-g.grid .yui-g .yui-u -{ - width: 48%; -} - -/* Twisters */ - -.alfresco-twister -{ - cursor: pointer; - padding-left: 1em !important; -} - -.alfresco-twister .alfresco-twister-actions -{ - position: absolute; - right: 1em; -} - -.alfresco-twister-closed .alfresco-twister-actions -{ - display: none; -} - -.alfresco-twister .alfresco-twister-actions a -{ - background-position: 0 center; - background-repeat: no-repeat; - padding: 0.5em; - text-decoration: none; -} - -/* Filters */ - -.tag -{ - white-space: nowrap; -} - -.filter h2 -{ - margin-top: 1em; -} - -.filter ul -{ - padding: 0.5em 0 1em; -} - -.filter li -{ - overflow-x: hidden; - padding: 4px 0px 3px 20px; -} - -/* Calendar Template */ - -#divCalendarContent -{ - border-left: 2px solid #EAEAEA; - margin-left: 16em; -} - -#divCalendarFilters -{ - width: 16em; -} - -/* Documents */ - -.document-version -{ - font-size: 65%; - padding: 2px 3px 1px 2px; -} - - -/* Document & Folder Details Pages */ - -.document-versions .document-version, -.document-publishing .document-version -{ - font-size: 93%; -} - -.folder-details-comments -{ - border-right: 1px solid #ccc; - padding-bottom: 20px; - padding-right: 1em; -} - -/* Invite Task Form */ - -.invite-task-title -{ - font-size: 108%; - margin-bottom: 1em; -} - -.invite-task-title img -{ - vertical-align: -8px; - margin-right: 4px; -} - -.invite-task-subtitle -{ - margin-left: 34px; -} - -.invite-task-role -{ - margin-top: 1em; - margin-bottom: 1em; - margin-left: 34px; -} - -.invite-task-priority -{ - text-align: right; -} - -.invite-task-controls -{ - margin-top: 1em; -} - -/* User Status */ - -div.user-status -{ - background-image: url(../components/images/status-16.png); - background-position: 0 1px; - background-repeat: no-repeat; - padding-left: 20px; -} - -div.user-status span.time -{ - color: #808080; - font-size: 93%; -} - -/* Alfresco.util.DataTable data tables */ - -.alfresco-datatable table -{ - border: medium none !important; - width: 100%; -} - -.alfresco-datatable thead -{ - display: none; -} - -.alfresco-datatable tbody -{ - outline: none; -} - -.alfresco-datatable tbody, -.alfresco-datatable tr.yui-dt-highlighted, -.alfresco-datatable tr.yui-dt-even, -.alfresco-datatable tr.yui-dt-odd, -.alfresco-datatable yui-dt-empty -{ - background-color: transparent !important; - cursor: default !important; -} - -.alfresco-datatable td -{ - border-bottom: 1px dashed #d9d9d9 !important; - border-right: medium none !important; - vertical-align: top; -} - -.alfresco-datatable tr.yui-dt-last td -{ - border-bottom: none !important; -} - -.alfresco-datatable td .yui-dt-liner -{ - padding: 4px; -} - -.alfresco-datatable table .yui-dt-message td -{ - border: medium none !important; -} - -.alfresco-datatable table tr.yui-dt-highlighted, -.alfresco-datatable table tr.yui-dt-highlighted td.yui-dt-asc, -.alfresco-datatable table tr.yui-dt-highlighted td.yui-dt-desc, -.alfresco-datatable table tr.yui-dt-even td.yui-dt-highlighted, -.alfresco-datatable table tr.yui-dt-odd td.yui-dt-highlighted -{ - cursor: default; -} - -.alfresco-datatable table tr td a -{ - cursor: pointer; -} - -/* Buttons */ - -button.alfresco-button -{ - display: none; -} - - -/* Insitu Edit */ - -span.insitu-edit -{ - background-image: url(../components/images/edit-16.png); - background-repeat: no-repeat; - cursor: pointer; - display: inline-block; - height: 16px; - margin-left: -20px; - margin-top: 3px; - opacity: 0; - position: absolute; - visibility: hidden; - width: 16px; -} - -form.insitu-edit -{ - display: none; -} - -form.insitu-edit input -{ - margin-bottom: -1px; - margin-right: 0.5em; - padding: 0; -} - -form.insitu-edit a -{ - font-size: 13px; - padding: 0 0.5em; -} - -/* Social Tagging */ - -.item-social a -{ - background-repeat: no-repeat; - font-size: 93%; - padding: 1px 0 1px 20px; - cursor: pointer; -} - -.item-social a.like-action -{ - background-image: url(../components/images/like-16.png); - background-position: 0 0; -} -.item-social a.like-action.enabled -{ - background-image: url(../components/images/liked-16.png); - padding-left: 16px; -} -.item-social span.likes-count -{ - background-color: #eee; - font-size: 93%; - margin-left: 0.5em; - padding:1px 2px 0; -} - -.item-social a.favourite-action -{ - background-image: url(../components/images/star-deselected_16x16.png); -} -.item-social a.favourite-action.enabled -{ - background-image: url(../components/images/star-selected_16x16.png); -} -.item-social a.favourite-imap -{ - background-image: url(../components/images/imap-fav-deselected-16.png); -} -.item-social a.favourite-imap.enabled -{ - background-image: url(../components/images/imap-fav-selected-16.png); -} - -.item-social a.quickshare-action -{ - background-image: url(../components/images/quickshare-action-16.png); -} -.item-social a.quickshare-action.enabled, -.item-social a.quickshare-action.enabled:active, -.item-social a.quickshare-action.enabled:hover -{ - padding-left: 20px; - background-image: url(../components/images/quickshare-action-enabled-16.png); -} -.item-social .quickshare-indicator -{ - display: none; -} -.item-social .quickshare-indicator.enabled -{ - display: inline; - background: no-repeat url(../components/images/quickshare-indicator-16.png) center center; - padding: 0.5em; -} -.quickshare-action-menu .bd -{ - padding: 0.75em 1em 0 1em; -} -.quickshare-action-menu .bd input -{ - margin-left: 0.5em; - margin-right: 0.5em; -} -.quickshare-action-menu .bd .section -{ - display: block; - margin-bottom: 0.75em; -} -.quickshare-action-menu .bd label -{ - min-width: 6em; - display: inline-block; -} -.quickshare-action-unshare -{ - margin-left: 0.5em; -} -.quickshare-linkshare -{ - padding-left: 0.5em; -} - -.linkshare-action a, -.linkshare-action a:active, -.linkshare-action a:hover -{ - text-decoration: none !important; - padding: 0.5em 0.75em; - background-position: center center; - background-repeat: no-repeat; -} -.linkshare-action-email -{ - background-image: url(../components/images/social-email-16.png); -} -.linkshare-action-facebook -{ - background-image: url(../components/images/social-facebook-16.png); -} -.linkshare-action-twitter -{ - background-image: url(../components/images/social-twitter-16.png); -} -.linkshare-action-google-plus -{ - background-image: url(../components/images/social-google-16.png); -} - -.item-social a.enabled -{ - height: 16px; - padding-left: 16px; -} - -.item-social a.enabled:active, -.item-social a.enabled:hover -{ - background-image: url(../components/images/delete-16.png); -} - - -span.item-social.item-separator, -.detail-social span.item-separator -{ - border-left: 1px solid #d9d9d9; - padding-left: 0.8em; -} - -.yui-dt-highlighted .detail-social span.item-separator -{ - border-left: 1px solid #C5E6E9; -} - -/** Simple Document List component **/ - -/* Thumbnail */ - -.simple-doclist .icon32 -{ - cursor: pointer; - display: block; - min-height: 32px; -} - -.simple-doclist .yui-dt-col-thumbnail .yui-dt-liner -{ - padding: 4px; - text-align: center; -} - -.simple-doclist .yui-dt-col-detail .yui-dt-liner -{ - padding: 4px; -} - -.simple-doclist .thumbnail -{ - cursor: pointer; - display: block; - height: 100px; - overflow: hidden; - padding-top: 2px; - position: relative; - width: 100px; -} - -/* Details */ - -.simple-doclist h3.filename -{ - font-size: 139%; - font-weight: normal; - padding-bottom: 0.2em; -} - -.simple-doclist h3.simple-view -{ - font-size: 116%; -} - -.simple-doclist h3.filename span.document-version -{ - margin-left: 0.8em; - padding: 1px; - position: relative; - top: -2px; - visibility: hidden; -} - -.simple-doclist .yui-dt-highlighted h3.filename span.document-version -{ - visibility: visible; -} - -.simple-doclist .detail -{ - clear: left; - line-height: 1.5em; - min-height: 1.5em; - padding-bottom: 0.2em; -} - -.simple-doclist .detail .faded -{ - color: #aaa; -} - -.simple-doclist .detail span.item -{ - float: left; - margin-right: 1.6em; -} - -.simple-doclist .detail span.item-simple -{ - padding-right: 0.5em; -} - -/* Social tagging */ - -.simple-doclist .detail-social -{ - padding-bottom: 0; - padding-top: 0.4em; -} - -.simple-doclist .detail-social span.item -{ - line-height: 1.2em; - margin-right: 0.8em; -} - -.item-social a.comment, -.simple-doclist .detail-social a.comment -{ - background-image: url(../components/images/comment-16.png); -} - -.item-social span.comment-count -{ - background-color: #eee; - font-size: 93%; - margin-left: 0.5em; - padding:1px 2px 0; -} - -/* Lightbox */ - -#lightbox -{ - background-color:#eee; - padding: 10px; - border-bottom: 2px solid #666; - border-right: 2px solid #666; -} - -#lightboxDetails -{ - font-size: 0.8em; - padding-top: 0.4em; -} - -#lightboxCaption -{ - float: left; -} - -#keyboardMsg -{ - float: right; -} - -#closeButton -{ - top: 5px; - right: 5px; -} - -#lightbox img -{ - border: none; - clear: both; -} - -#overlay img -{ - border: none; -} - -#overlay -{ - background-image: url(../components/images/lightbox/overlay.png); -} - -* html #overlay -{ - background-color: #333; - back\ground-color: transparent; - background-image: url(blank.gif); - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../components/images/lightbox/overlay.png", sizingMethod="scale"); -} - - -.inlineItemReadOnly -{ - background-color: #DCEAF4; - color: #4F94C9; - padding: 0.1em, 0.3em; - margin-right: 0.5em; -} - -.inlineItemEdit -{ - font-weight: normal; - padding: 0.3em 0.3em 0 0.3em; - min-height: 2em; - max-height: 8em; - overflow-y: auto; -} - -.invalid .inlineItemEdit input[type="text"] -{ - background-color: inherit; -} - -.inlineItemEditItem -{ - background-color: #eee; - color: #333;; - padding: 0.2em 0.3em; - margin-right: 0.5em; - margin-bottom: 0.3em; - display: inline-block; - cursor: pointer; - border-radius: 6px; -} - -.inlineItemEditItem span -{ - margin-left: 0.1em; -} - -.inlineItemEditItemPrimed -{ - background-color: #DCEAF4; - color: #4F94C9; -} - -.inlineItemEditItem img -{ - vertical-align: bottom; - margin-left: 0.3em; -} - -.inlineItemEdit input[type="text"]:focus -{ - outline: none; - width: inherit; -} - -.inlineItemEdit input[type="text"] -{ - width: 0; - position: static; - border: none !important; - padding-bottom: 0.5em; - padding-top: 0.3em; - padding-left: 0.3em; -} - -.inlineItemEditItemSelection -{ - vertical-align: bottom; - padding-bottom: 0.2em; - margin-left: 0.3em; -} - -.inlineItemEditAutoCompleteWrapper -{ - width: 12em; -} - -.inlineItemEditAutoComplete -{ - width: inherit !important; -} - -.inlineItemEditAutoComplete .yui-ac-content -{ - border: 1px solid #C5D6E2 !important; -} - -.inlineItemEditAutoComplete li.yui-ac-highlight -{ - background-color: #DCEAF4 !important; - color: #515D6B !important; -} - -.passwordStrengthMeter span, -.passwordStrengthMeter ul -{ - float: left; - margin-top: 0.75em; - margin-bottom: 0.75em; - padding-left: 0; - margin-right: 0.5em; - font-size: 75%; -} - -.passwordStrengthMeter li -{ - margin-left: 0.25em; - float: left; - border: 1px solid #CCCCCC; - background-color: #EEEEEE; - width: 2.7em; - height: 1em; - list-style: none; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-weak li.passwordStrengthMeterStrength-1 -{ - background-color: #FBA101; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-medium li.passwordStrengthMeterStrength-1, -.passwordStrengthMeter .passwordStrengthMeterStrength-medium li.passwordStrengthMeterStrength-2 -{ - background-color: #FFE118; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-strong li.passwordStrengthMeterStrength-1, -.passwordStrengthMeter .passwordStrengthMeterStrength-strong li.passwordStrengthMeterStrength-2, -.passwordStrengthMeter .passwordStrengthMeterStrength-strong li.passwordStrengthMeterStrength-3 -{ - background-color: #8ADC00; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-best li.passwordStrengthMeterStrength-1, -.passwordStrengthMeter .passwordStrengthMeterStrength-best li.passwordStrengthMeterStrength-2, -.passwordStrengthMeter .passwordStrengthMeterStrength-best li.passwordStrengthMeterStrength-3, -.passwordStrengthMeter .passwordStrengthMeterStrength-best li.passwordStrengthMeterStrength-4 -{ - background-color: #46B31B; -} - - -/* Company Brand Styling for "public" pages */ - -.brand-bgcolor-1 -{ - background-color: #53a3db; -} - -.brand-bgcolor-2 -{ - background-color: #3e76be; -} - -.brand-bgcolor-3 -{ - background-color: #95c62c; -} - -.brand-bgcolor-4 -{ - background-color: #4db440; -} - -.brand-bgcolor-5 -{ - background-color: #ffe800; -} - -.brand-bgcolor-6 -{ - background-color: #faa200; -} - -.brand-bg-1, -body.brand-bg-1 .sticky-wrapper -{ - background: -moz-linear-gradient(top, #fff 0%, #f0f4fb 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left 10, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f4fb)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #fff 0%,#f0f4fb 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #fff 0%,#f0f4fb 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #fff 0%,#f0f4fb 100%); /* IE10+ */ - background: linear-gradient(top, #fff 0%,#f0f4fb 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#f0f4fb',GradientType=0 ); /* IE6-9 */ - background-repeat: no-repeat; - background-attachment: fixed; - background-position: 0px 7.4em; /* Right below the public header */ -} - -.sticky-wrapper a.brand-button, -.yui-overlay a.brand-button, -.sticky-wrapper a.brand-button:hover, -.yui-overlay a.brand-button:hover, -.sticky-wrapper a.brand-button:visited, -.yui-overlay a.brand-button:visited -{ - border-radius: 0.5em; - padding: 0.5em 0.75em; - margin: 0 0.5em; - color: #fff; -} - -.passwordStrengthMeter span, -.passwordStrengthMeter ul -{ - float: left; - margin-top: 0.75em; - margin-bottom: 0.75em; - padding-left: 0; - margin-right: 0.5em; - font-size: 75%; -} - -.passwordStrengthMeter li -{ - margin-left: 0.25em; - float: left; - border: 1px solid #ccc; - background-color: #eee; - width: 2.7em; - height: 1em; - list-style: none; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-weak li.passwordStrengthMeterStrength-1 -{ - background-color: #FBA101; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-medium li.passwordStrengthMeterStrength-1, -.passwordStrengthMeter .passwordStrengthMeterStrength-medium li.passwordStrengthMeterStrength-2 -{ - background-color: #FFE118; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-strong li.passwordStrengthMeterStrength-1, -.passwordStrengthMeter .passwordStrengthMeterStrength-strong li.passwordStrengthMeterStrength-2, -.passwordStrengthMeter .passwordStrengthMeterStrength-strong li.passwordStrengthMeterStrength-3 -{ - background-color: #8ADC00 -} - -.passwordStrengthMeter .passwordStrengthMeter-best li.passwordStrengthMeterStrength-1, -.passwordStrengthMeter .passwordStrengthMeter-best li.passwordStrengthMeterStrength-2, -.passwordStrengthMeter .passwordStrengthMeter-best li.passwordStrengthMeterStrength-3, -.passwordStrengthMeter .passwordStrengthMeter-best li.passwordStrengthMeterStrength-4 -{ - background-color: #46B31B; -} - -.passwordStrengthMeter span, -.passwordStrengthMeter ul -{ - float: left; - margin-top: 0.75em; - margin-bottom: 0.75em; - padding-left: 0; - margin-right: 0.5em; - font-size: 75%; -} - -.passwordStrengthMeter li -{ - margin-left: 0.25em; - float: left; - border: 1px solid #ccc; - background-color: #eee; - width: 2.7em; - height: 1em; - list-style: none; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-weak li.passwordStrengthMeterStrength-1 -{ - background-color: #FBA101; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-medium li.passwordStrengthMeterStrength-1, -.passwordStrengthMeter .passwordStrengthMeterStrength-medium li.passwordStrengthMeterStrength-2 -{ - background-color: #FFE118; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-strong li.passwordStrengthMeterStrength-1, -.passwordStrengthMeter .passwordStrengthMeterStrength-strong li.passwordStrengthMeterStrength-2, -.passwordStrengthMeter .passwordStrengthMeterStrength-strong li.passwordStrengthMeterStrength-3 -{ - background-color: #8ADC00; -} - -.passwordStrengthMeter .passwordStrengthMeterStrength-best li.passwordStrengthMeterStrength-1, -.passwordStrengthMeter .passwordStrengthMeterStrength-best li.passwordStrengthMeterStrength-2, -.passwordStrengthMeter .passwordStrengthMeterStrength-best li.passwordStrengthMeterStrength-3, -.passwordStrengthMeter .passwordStrengthMeterStrength-best li.passwordStrengthMeterStrength-4 -{ - background-color: #46B31B; -} diff --git a/mms-ent/share-amp/src/main/amp/web/css/demoamp.css b/mms-ent/share-amp/src/main/amp/web/css/demoamp.css deleted file mode 100755 index ea3d34ba..00000000 --- a/mms-ent/share-amp/src/main/amp/web/css/demoamp.css +++ /dev/null @@ -1,16 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/web/css/yui-layout.css b/mms-ent/share-amp/src/main/amp/web/css/yui-layout.css deleted file mode 100755 index 58428d98..00000000 --- a/mms-ent/share-amp/src/main/amp/web/css/yui-layout.css +++ /dev/null @@ -1,227 +0,0 @@ -.alfresco-share .yui-panel -{ - border-style: none; -} - -.alfresco-share .yui-panel .ft span.button-group -{ - text-align: center; - vertical-align: middle; -} - -.alfresco-share .yui-panel .bd -{ - padding: 0; - text-align: left; -} - -.alfresco-share .yui-panel .bd div.yui-gd, -.alfresco-share .yui-panel .bd div.yui-u, -.alfresco-share .yui-panel .bd div.form-buttons, -.alfresco-share .yui-panel .bd div.bdft -{ - padding: 0.3em 0.3em 0.3em 0; -} - -.alfresco-share .yui-panel .yui-g h2 -{ - padding: 0.3em; -} - -.alfresco-share .yui-panel .yui-gd .yui-u -{ - width: 60%; -} - -.alfresco-share .yui-panel .yui-gd .yui-u.first -{ - width: 28%; -} - -.alfresco-share .yui-panel .hd -{ - line-height: 1.5; - word-wrap: break-word; -} - -.alfresco-share .yui-panel .hd, -.alfresco-share .yui-panel .bdft, -.alfresco-share .yui-panel .bd div.form-buttons, -.alfresco-share .yui-panel .ft -{ - text-align: center; -} - -.alfresco-share .yui-panel .bd .yui-u.first -{ - padding: 0.3em 0 0.3em 2px; - text-align: right; -} - -.alfresco-share .yui-panel .bd.yui-calcontainer -{ - padding: 0.5em; -} - -/* Style the default message */ - -.alfresco-share #message -{ - border: medium none; -} - -.alfresco-share #message .bd -{ - padding: 2em; -} - -.alfresco-share #message .bd span.wait -{ - padding: 1px 0 0 24px; - visibility: visible; -} - -/* Style the default prompt and user input pop-ups */ - -.alfresco-share #prompt .hd, -.alfresco-share #userInput .hd -{ -} - -.alfresco-share #prompt .bd, -.alfresco-share #userInput .bd -{ - padding: 1em; -} - -.alfresco-share #prompt .bd -{ - text-align: center; -} - -.alfresco-share #prompt .bd form, -.alfresco-share #userInput .bd form -{ - clear: both; -} - -.alfresco-share #userInput .bd label -{ - padding-right: 0.5em; - top: 0.2em; - vertical-align: top; -} - -.alfresco-share #userInput .bd textarea -{ - height: 4em; - width: 40em; -} - -.alfresco-share #userInput .bd input[type="text"] -{ - width: 30em; -} - -.alfresco-share #prompt .ft .button-group, -.alfresco-share #userInput .ft .button-group -{ - display: block; - text-align: center; -} - -.alfresco-share #prompt .ft, -.alfresco-share #userInput .ft -{ -} - -.alfresco-share .flat-button a:hover -{ - text-decoration: none; -} - -.alfresco-share .title-button .yui-button span a -{ - white-space: nowrap; -} - -/* A combination of a link and splitbutton wrapped inside a span */ - -.alfresco-share .link-menu-button -{ - border: 1px solid transparent; - padding-bottom: 2px; - padding-top: 0; - vertical-align: middle; -} - -.alfresco-share .link-menu-button .yui-button, -.alfresco-share .link-menu-button .yui-button span, -.alfresco-share .link-menu-button .yui-button span button -{ - margin: 0; - padding: 0; - vertical-align: middle; -} - -.alfresco-share .link-menu-button .yui-button -{ - border: 1px solid transparent; - background-image: none; -} - -.alfresco-share .link-menu-button .yui-button span button -{ - padding: 6px 7px; -} - -.alfresco-share .link-menu-button .yui-button.yui-button-activeoption button, -.alfresco-share .link-menu-button .yui-button.yui-button-hover button -{ - text-decoration: none; -} - -/* DataTable overrides */ - -.alfresco-share .yui-dt tr.yui-dt-first td -{ - border-top: medium none; -} - -/* ALF-9960 fix, after removing reset-fonts-grids.css we should add classes below */ -.sticky-wrapper h6 -{ - font-size: 100%; - font-weight: normal; -} - -.yui-overlay li, -.sticky-wrapper li -{ - list-style: none; -} - -.sticky-wrapper fieldset, -.sticky-wrapper img -{ - border: 0; -} - -.sticky-wrapper fieldset -{ - margin: 0; - padding: 0; -} - -.sticky-wrapper ul -{ - margin: 0; - /*padding: 0;*/ -} - -/* ALF-13227 fix, counter act previous selectors for Wiki */ - -.rich-content ul -{ - padding: 1em; -} \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/web/js/alfresco/header/css/Header.css b/mms-ent/share-amp/src/main/amp/web/js/alfresco/header/css/Header.css deleted file mode 100755 index a712e3b4..00000000 --- a/mms-ent/share-amp/src/main/amp/web/js/alfresco/header/css/Header.css +++ /dev/null @@ -1,98 +0,0 @@ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url(../../css/opensans.woff) format('woff'); -} -@font-face { - font-family: 'Open Sans Bold'; - font-style: normal; - font-weight: 600; - src: url(../../css/opensansbold.woff) format('woff'); -} -@font-face { - font-family: 'Open Sans Condensed'; - font-style: normal; - font-weight: 300; - src: url(../../css/opensanscondensed.woff) format('woff'); -} - -.alfresco-share .alf-home-icon { - background: url("./images/home.png"); - background-repeat: no-repeat; - height: 16px; - width: 16px; - display: block; - float: left; -} - -.alfresco-share .navigation-menu { - margin-top: 24px; -} - -.alfresco-share .title-menu { - margin-top: 24px; -} - -.alfresco-share .alf-header { - background-color: #6A80B1 !important; - color: #A6A6A6; - font-family: Open Sans,arial,helvetica,clean,sans-serif; - padding: 0; - margin: 0 -10px; -} - -/* Sets the highlight on the menu bar items in the header bar ONLY */ -.alfresco-share .alf-header .alf-menu-bar .dijitMenuPassive .dijitMenuItemHover { - background-color: #717171; - color: #fff; -} - -.alfresco-share .alf-header-menu-bar .dijitMenuItem { - color: #fff; -} - -/* Sets the highlight on popup menu items in the header bar ONLY. Note that we need to use "alf-header-menu-bar" and not - just "alf-header" because the popup is not a direct child of the node set with the "alf-header" class */ -.alfresco-share .alf-header-menu-bar .alf-menu-group .dijitMenuPassive .dijitMenuItemHover, -.alfresco-share .alf-header-menu-bar .alf-menu-group .dijitMenuItemSelected { - background-color: #717171; - color: #fff; -} - -/* Sets the selection highlight colour on header menu items - more specific than class in AlfMenuBar */ -.alfresco-share .alf-header .dijitReset.dijitInline.dijitMenuItemLabel.dijitMenuItemSelected.dijitMenuItem { - background-color: #4D4D4D; -} - -/* Sets the correct height for the header menu bar items. This may need to be changed for different browsers and - * possible adjusted if items in the header are changed */ -.alfresco-share .alf-header .dijitReset.dijitInline.dijitMenuItemLabel.dijitMenuItem { - height: 22px; - margin: 0 8px; - padding-top: 4px; - color: #ccc; -} - -/* Sets the dark grey colour in the drop-down menus in header menus ONLY. */ -.alfresco-share .alf-header-menu-bar.alf-menu-groups { - background-color: #4D4D4D; - border: 1px solid #4D4D4D; - box-shadow: 0.33px 2px 8px rgba(0, 0, 0, 0.3); -} - -/* Sets the dark grey colour in the menu groups in the header menu ONLY */ -.alfresco-share .alf-header-menu-bar .dijitMenuTable { - background-color: #4D4D4D; - color: #fff; -} - -/* Sets the menu group title background colour in the header menu ONLY */ -.alfresco-share .alf-header-menu-bar .alf-menu-group.dijitMenu { - background-color: #4D4D4D; -} - -/* Stops the line appearing between menu items in the header bar menu ONLY */ -.alfresco-share .alf-header-menu-bar .alf-menu-group .dijitReset.dijitMenuItem { - border-bottom: none; -} diff --git a/mms-ent/share-amp/src/main/amp/web/jsp/demoamp.jsp b/mms-ent/share-amp/src/main/amp/web/jsp/demoamp.jsp deleted file mode 100755 index 5ff2b730..00000000 --- a/mms-ent/share-amp/src/main/amp/web/jsp/demoamp.jsp +++ /dev/null @@ -1,19 +0,0 @@ -#set( $symbol_pound = '#' ) -#set( $symbol_dollar = '$' ) -#set( $symbol_escape = '\' ) - \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/web/licenses/README-licenses.txt b/mms-ent/share-amp/src/main/amp/web/licenses/README-licenses.txt deleted file mode 100755 index 3ff33baf..00000000 --- a/mms-ent/share-amp/src/main/amp/web/licenses/README-licenses.txt +++ /dev/null @@ -1,2 +0,0 @@ -This folder (root in the AMP) gets mapped automagically in WEB-INF/licenses -by the MMT or the alfresco-maven-plugin \ No newline at end of file diff --git a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/amcharmap.htm b/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/amcharmap.htm deleted file mode 100755 index c66a3720..00000000 --- a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/amcharmap.htm +++ /dev/null @@ -1,195 +0,0 @@ - - - - - Math Symbols - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
New`(x+1)/(x-1)``x^(m+n)``x_(mn)``sqrt(x)``root(n)(x)``dy/dx``lim_(x->oo)``sum_(n=1)^oo``int_a^bf(x)dx``int``oint``[[a,b],[c,d]]``((n),(k))`
`*``**``//``\\ ``xx``-:``@``o+``ox``o.``sum``prod``^^``^^^``vv``vvv`
`!=``<=``>=``-<``>-``in``!in``sub``sup``sube``supe``O/``nn``nnn``uu``uuu`
`and``or``not``=>``if``<=>``AA``EE``_|_``TT``|--``cong``-=``~=``~~``prop`
`"text"``"quad"``del``grad``+-``oo``aleph``diamond``square``|__``__|``|~``~|``<< x>>``/_``:.`
`uarr``darr``larr``->``|->``harr``lArr``rArr``hArr``hata``ula``bara``dota``ddota``{(1 if x>=0),(0 if x<0):}`
`NN``ZZ``QQ``RR``CC``bbA``bbbA``ccA``frA``sfA``ttA``veca``stackrel(+)(->)``upsilon`
`alpha``beta``gamma``Gamma``delta``Delta``epsilon``zeta``eta``theta``Theta``iota``kappa``lambda``Lambda``mu`
`nu``pi``Pi``rho``sigma``Sigma``tau``xi``Xi``phi``Phi``chi``psi``Psi``omega``Omega`
- - - diff --git a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/ampopup.htm b/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/ampopup.htm deleted file mode 100755 index f18e3905..00000000 --- a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/ampopup.htm +++ /dev/null @@ -1,101 +0,0 @@ - - - - Add ASCIIMath Formula - - - - - -
- -
-
- - - - -
- -
- - -
- -
- -
- -
- -
- - -

Examples - (Detailed Syntax) -

-

Note: enclose long variable names with double quotes (e.g., "mass").

- - - - - - - - - - - - - - - - - - -
ASCIIMathMathML
(x+1)/(x-1)`(x+1)/(x-1)`
x^(m+n)`x^(m+n)`
dy/dx`dy/dx`
- - - - - - - - - - - - - - - - - - -
ASCIIMathMathML
sqrt(x)`sqrt(x)`
root(n)(x)`root(n)(x)`
sum_(n=1)^oo`sum_(n=1)^oo`
- - - - - - - - - - - - - - - - - - -
ASCIIMathMathML
int_a^b f(x)dx`int_a^b f(x)dx`
[[a,b],[c,d]]`[[a,b],[c,d]]`
((n),(k))`((n),(k))`
- - -
- - - - diff --git a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/css/asciimath.css.dtml b/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/css/asciimath.css.dtml deleted file mode 100755 index 7abe2093..00000000 --- a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/css/asciimath.css.dtml +++ /dev/null @@ -1 +0,0 @@ -span.AMedit { border: 1px solid red } diff --git a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/editor_plugin.js b/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/editor_plugin.js deleted file mode 100755 index ec711475..00000000 --- a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/editor_plugin.js +++ /dev/null @@ -1,300 +0,0 @@ -/** - * ASCIIMath Plugin for TinyMCE editor - * based on TinyMCE ASCIIMath plugin written by David Lippman - * - * @author Roché Compaan - * @copyright Copyright © 2011 Roché Compaan - * - */ - -(function() { - tinymce.PluginManager.requireLangPack('asciimath'); - - tinymce.create('tinymce.plugins.AsciimathPlugin', { - init : function(ed, url) { - var t = this; - - ed.addCommand('mceAsciimath', function(val) { - - selected = ed.selection.getNode(); - var AMcontainer = ed.dom.getParent(selected, - 'span.AMcontainer'); - var spanAM = ed.dom.create('span', {'class' : 'AM'}, val); - t.ascii2mathml(spanAM); - var mathml = spanAM.innerHTML; - mathml = mathml.replace(/>/g,">"); - mathml = mathml.replace(/'; - var spanMathML = ed.dom.create( - 'span', {'class': 'MathML'}, cdata); - - if (AMcontainer) { - var tmpAMcontainer = ed.dom.create('span', - {'class': 'AMcontainer'}); - ed.dom.add(tmpAMcontainer, spanAM); - ed.dom.add(tmpAMcontainer, spanMathML); - AMcontainer.innerHTML = tmpAMcontainer.innerHTML; - } else { - AMcontainer = ed.dom.create('span', - {'class': 'AMcontainer'}); - ed.dom.add(AMcontainer, spanAM); - ed.dom.add(AMcontainer, spanMathML); - ed.selection.setNode(AMcontainer); - } - - }); - - ed.addCommand('mceAsciimathCharmap', function() { - ed.windowManager.open({ - file : url + '/amcharmap', - width : 630 + parseInt( - ed.getLang('asciimathdlg.delta_width', 0)), - height : 390 + parseInt( - ed.getLang('asciimathdlg.delta_height', 0)), - inline : 1 - }, { - plugin_url : url, // Plugin absolute URL - }); - - }); - - ed.addCommand('mceAsciimathPopup', function() { - var el = ed.selection.getNode(); - var spanAM = ed.dom.getParent(el, 'span.AM'); - var asciimath = ""; - - if (spanAM) { - mathml = spanAM.cloneNode(true); - t.math2ascii(mathml); - asciimath = mathml.innerHTML.slice(1,-1); - } - - ed.windowManager.open({ - file : url + '/ampopup.htm', - width : 630 + parseInt( - ed.getLang('asciimathdlg.delta_width', 0)), - height : 390 + parseInt( - ed.getLang('asciimathdlg.delta_height', 0)), - inline : 1 - }, { - plugin_url : url, // Plugin absolute URL - asciimath: asciimath, - }); - - }); - - // Add a node change handler, selects the button in the UI - // when mathml is selected - ed.onNodeChange.add(function(ed, cm, n) { - selected = ed.dom.select('math.mceItemVisualAid'); - for (var i=0; i < selected.length; i++) { - math = selected[i]; - math.removeAttribute('class'); - }; - var AMspan = ed.dom.getParent(n, 'span.AM'); - cm.setActive('asciimath', AMspan != null); - if (AMspan) { - math = AMspan.getElementsByTagName('math')[0]; - // force selection of the math element since - // selection of child elements causes an exception when - // TinyMCE tries access the style attribute on those - // MathML elements - ed.selection.select(math); - ed.selection.collapse(true); - // highlight the math element - if (AMspan.getElementsByClassName('mceItemVisualAid')) { - if (math != null) { - // not sure why ed.dom.addClass does not work - // ed.dom.addClass(math, 'mceItemVisualAid'); - math.setAttribute('class', 'mceItemVisualAid'); - } - }; - - } - }); - - ed.onKeyPress.add(function(ed, e) { - // delete MathML when delete or backspace key is pressed - if (e.keyCode == 46 || e.keyCode == 8) { - node = ed.selection.getNode(); - var AMcontainer = ed.dom.getParent(node, 'span.AMcontainer'); - if (AMcontainer) { - AMcontainer.parentNode.removeChild(AMcontainer); - } - } - - // place the caret after the MathML node when pressing - // enter, spacebar, down or right arrow - if (e.keyCode == 13 || e.keyCode == 0 || - e.keyCode == 37 || e.keyCode == 38 || - e.keyCode == 39 || e.keyCode == 40) { - var rng, AMcontainer, dom = ed.dom; - - rng = ed.selection.getRng(); - AMcontainer = dom.getParent(rng.startContainer, 'span.AMcontainer'); - - if (AMcontainer) { - rng = dom.createRng(); - - if (e.keyCode == 37 || e.keyCode == 38) { - rng.setStartBefore(AMcontainer); - rng.setEndBefore(AMcontainer); - } else { - rng.setStartAfter(AMcontainer); - rng.setEndAfter(AMcontainer); - } - ed.selection.setRng(rng); - } - } - }); - - - // Fix caret position - ed.onInit.add(function(ed) { - if (!tinymce.isIE) { - function fixCaretPos() { - var last = ed.getBody().lastChild; - if (last && last.nodeName == 'SPAN' && last.className =='AMcontainer') { - br = ed.dom.create('br', {'mce_bogus' : '1'}); - ed.getBody().appendChild(br); - } - }; - fixCaretPos(); - }; - ed.onKeyUp.add(fixCaretPos); - ed.onSetContent.add(fixCaretPos); - ed.onVisualAid.add(fixCaretPos); - }); - - - // Register asciimath button - ed.addButton('asciimath', { - title : 'asciimath.desc', - cmd : 'mceAsciimathPopup', - image : url + '/img/ed_mathformula2.gif' - }); - - - ed.addButton('asciimathcharmap', { - title : 'asciimathcharmap.desc', - cmd : 'mceAsciimathCharmap', - image : url + '/img/ed_mathformula.gif' - }); - - ed.onPreInit.add(function(ed) { - if (tinymce.isIE) { - addhtml = ""; - addhtml +=""; - - ed.dom.doc.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd",addhtml); - } - - }); - - ed.onPreProcess.add(function(ed,o) { - if (o.get) { - AMtags = ed.dom.select('span.AM', o.node); - for (var i=0; i]*?)\s.*>.*/g,"$2"); - myAM = myAM.replace(/.+(alt|title)=(.*?)>.*/g,"$2"); - //myAM = myAM.replace(/>/g,">"); - //myAM = myAM.replace(/</g,"<"); - myAM = myAM.replace(/>/g,">"); - myAM = myAM.replace(/ - -(using the graphics in IE also requires the file "d.svg" in the same folder). -This is a convenient and inexpensive solution for authoring MathML and SVG. - -Version 2.1 Oct 8, 2008, (c) Peter Jipsen http://www.chapman.edu/~jipsen -This version extends ASCIIMathML.js with LaTeXMathML.js and ASCIIsvg.js. -Latest version at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML.js -If you use it on a webpage, please send the URL to jipsen@chapman.edu - -The LaTeXMathML modifications were made by Douglas Woodall, June 2006. -(for details see header on the LaTeXMathML part in middle of file) -Extensive clean-up and improvements by Paulo Soares, Oct 2007. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or (at -your option) any later version. - -This program is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License -(at http://www.gnu.org/licences/lgpl.html) for more details. -*/ - -var mathcolor = "blue"; // change it to "" (to inherit) or another color -var mathfontsize = "1em"; // change to e.g. 1.2em for larger math -var mathfontfamily = "serif"; // change to "" to inherit (works in IE) - // or another family (e.g. "arial") -var automathrecognize = false; // writing "amath" on page makes this true -var checkForMathML = true; // check if browser can display MathML -var notifyIfNoMathML = true; // display note at top if no MathML capability -var alertIfNoMathML = false; // show alert box if no MathML capability -var translateOnLoad = true; // set to false to do call translators from js -var translateLaTeX = false; // false to preserve $..$, $$..$$ -var translateLaTeXformatting = true; // false to preserve \emph,\begin{},\end{} -var translateASCIIMath = true; // false to preserve `..` -var translateASCIIsvg = true; // false to preserve agraph.., \begin{graph}.. -var avoidinnerHTML = false; // set true if assigning to innerHTML gives error -var displaystyle = true; // puts limits above and below large operators -var showasciiformulaonhover = true; // helps students learn ASCIIMath -var decimalsign = "."; // change to "," if you like, beware of `(1,2)`! -var AMdelimiter1 = "`", AMescape1 = "\\\\`"; // can use other characters -var AMdocumentId = "wikitext" // PmWiki element containing math (default=body) -var checkforprocessasciimathinmoodle = false; // true for systems like Moodle -var dsvglocation = ""; // path to d.svg (blank if same as ASCIIMathML.js loc) - -/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ - -var isIE = document.createElementNS==null; -var noMathML = false, translated = false; - -if (isIE) { // avoid adding MathPlayer info explicitly to each webpage - document.write(""); - document.write(""); -} - -// Add a stylesheet, replacing any previous custom stylesheet (adapted from TW) -function setStylesheet(s) { - var id = "AMMLcustomStyleSheet"; - var n = document.getElementById(id); - if(document.createStyleSheet) { - // Test for IE's non-standard createStyleSheet method - if(n) - n.parentNode.removeChild(n); - // This failed without the   - document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," "); - } else { - if(n) { - n.replaceChild(document.createTextNode(s),n.firstChild); - } else { - n = document.createElement("style"); - n.type = "text/css"; - n.id = id; - n.appendChild(document.createTextNode(s)); - document.getElementsByTagName("head")[0].appendChild(n); - } - } -} - -setStylesheet("#AMMLcloseDiv \{font-size:0.8em; padding-top:1em; color:#014\}\n#AMMLwarningBox \{position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30\}"); - -function init(){ - var msg, warnings = new Array(); - if (document.getElementById==null){ - alert("This webpage requires a recent browser such as Mozilla Firefox/Netscape 7+ or Internet Explorer 6+ with MathPlayer and Adobe SVGviewer"); - return null; - } - if (checkForMathML && (msg = checkMathML())) warnings.push(msg); - if (checkIfSVGavailable && (msg = checkSVG())) warnings.push(msg); - if (warnings.length>0) displayWarnings(warnings); - /* if (!noMathML) initSymbols(); */ - return true; -} - -function checkMathML(){ - if (navigator.appName.slice(0,8)=="Netscape") - if (navigator.appVersion.slice(0,1)>="5") noMathML = null; - else noMathML = true; - else if (navigator.appName.slice(0,9)=="Microsoft") - try { - var ActiveX = new ActiveXObject("MathPlayer.Factory.1"); - noMathML = null; - } catch (e) { - noMathML = true; - } - else if (navigator.appName.slice(0,5)=="Opera") - if (navigator.appVersion.slice(0,3)>="9.5") noMathML = null; - else noMathML = true; -//noMathML = true; //uncomment to check - if (noMathML && notifyIfNoMathML) { - var msg = "To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later."; - if (alertIfNoMathML) - alert(msg); - else return msg; - } -} - -function hideWarning(){ - var body = document.getElementsByTagName("body")[0]; - body.removeChild(document.getElementById('AMMLwarningBox')); - body.onclick = null; -} - -function displayWarnings(warnings) { - var i, frag, nd = createElementXHTML("div"); - var body = document.getElementsByTagName("body")[0]; - body.onclick=hideWarning; - nd.id = 'AMMLwarningBox'; - for (i=0; i=", tag:"mo", output:"\u2265", tex:"ge", ttype:CONST}, -{input:"geq", tag:"mo", output:"\u2265", tex:null, ttype:CONST}, -{input:"-<", tag:"mo", output:"\u227A", tex:"prec", ttype:CONST}, -{input:"-lt", tag:"mo", output:"\u227A", tex:null, ttype:CONST}, -{input:">-", tag:"mo", output:"\u227B", tex:"succ", ttype:CONST}, -{input:"-<=", tag:"mo", output:"\u2AAF", tex:"preceq", ttype:CONST}, -{input:">-=", tag:"mo", output:"\u2AB0", tex:"succeq", ttype:CONST}, -{input:"in", tag:"mo", output:"\u2208", tex:null, ttype:CONST}, -{input:"!in", tag:"mo", output:"\u2209", tex:"notin", ttype:CONST}, -{input:"sub", tag:"mo", output:"\u2282", tex:"subset", ttype:CONST}, -{input:"sup", tag:"mo", output:"\u2283", tex:"supset", ttype:CONST}, -{input:"sube", tag:"mo", output:"\u2286", tex:"subseteq", ttype:CONST}, -{input:"supe", tag:"mo", output:"\u2287", tex:"supseteq", ttype:CONST}, -{input:"-=", tag:"mo", output:"\u2261", tex:"equiv", ttype:CONST}, -{input:"~=", tag:"mo", output:"\u2245", tex:"cong", ttype:CONST}, -{input:"~~", tag:"mo", output:"\u2248", tex:"approx", ttype:CONST}, -{input:"prop", tag:"mo", output:"\u221D", tex:"propto", ttype:CONST}, - -//logical symbols -{input:"and", tag:"mtext", output:"and", tex:null, ttype:SPACE}, -{input:"or", tag:"mtext", output:"or", tex:null, ttype:SPACE}, -{input:"not", tag:"mo", output:"\u00AC", tex:"neg", ttype:CONST}, -{input:"=>", tag:"mo", output:"\u21D2", tex:"implies", ttype:CONST}, -{input:"if", tag:"mo", output:"if", tex:null, ttype:SPACE}, -{input:"<=>", tag:"mo", output:"\u21D4", tex:"iff", ttype:CONST}, -{input:"AA", tag:"mo", output:"\u2200", tex:"forall", ttype:CONST}, -{input:"EE", tag:"mo", output:"\u2203", tex:"exists", ttype:CONST}, -{input:"_|_", tag:"mo", output:"\u22A5", tex:"bot", ttype:CONST}, -{input:"TT", tag:"mo", output:"\u22A4", tex:"top", ttype:CONST}, -{input:"|--", tag:"mo", output:"\u22A2", tex:"vdash", ttype:CONST}, -{input:"|==", tag:"mo", output:"\u22A8", tex:"models", ttype:CONST}, - -//grouping brackets -{input:"(", tag:"mo", output:"(", tex:null, ttype:LEFTBRACKET}, -{input:")", tag:"mo", output:")", tex:null, ttype:RIGHTBRACKET}, -{input:"[", tag:"mo", output:"[", tex:null, ttype:LEFTBRACKET}, -{input:"]", tag:"mo", output:"]", tex:null, ttype:RIGHTBRACKET}, -{input:"{", tag:"mo", output:"{", tex:null, ttype:LEFTBRACKET}, -{input:"}", tag:"mo", output:"}", tex:null, ttype:RIGHTBRACKET}, -{input:"|", tag:"mo", output:"|", tex:null, ttype:LEFTRIGHT}, -//{input:"||", tag:"mo", output:"||", tex:null, ttype:LEFTRIGHT}, -{input:"(:", tag:"mo", output:"\u2329", tex:"langle", ttype:LEFTBRACKET}, -{input:":)", tag:"mo", output:"\u232A", tex:"rangle", ttype:RIGHTBRACKET}, -{input:"<<", tag:"mo", output:"\u2329", tex:null, ttype:LEFTBRACKET}, -{input:">>", tag:"mo", output:"\u232A", tex:null, ttype:RIGHTBRACKET}, -{input:"{:", tag:"mo", output:"{:", tex:null, ttype:LEFTBRACKET, invisible:true}, -{input:":}", tag:"mo", output:":}", tex:null, ttype:RIGHTBRACKET, invisible:true}, - -//miscellaneous symbols -{input:"int", tag:"mo", output:"\u222B", tex:null, ttype:CONST}, -{input:"dx", tag:"mi", output:"{:d x:}", tex:null, ttype:DEFINITION}, -{input:"dy", tag:"mi", output:"{:d y:}", tex:null, ttype:DEFINITION}, -{input:"dz", tag:"mi", output:"{:d z:}", tex:null, ttype:DEFINITION}, -{input:"dt", tag:"mi", output:"{:d t:}", tex:null, ttype:DEFINITION}, -{input:"oint", tag:"mo", output:"\u222E", tex:null, ttype:CONST}, -{input:"del", tag:"mo", output:"\u2202", tex:"partial", ttype:CONST}, -{input:"grad", tag:"mo", output:"\u2207", tex:"nabla", ttype:CONST}, -{input:"+-", tag:"mo", output:"\u00B1", tex:"pm", ttype:CONST}, -{input:"O/", tag:"mo", output:"\u2205", tex:"emptyset", ttype:CONST}, -{input:"oo", tag:"mo", output:"\u221E", tex:"infty", ttype:CONST}, -{input:"aleph", tag:"mo", output:"\u2135", tex:null, ttype:CONST}, -{input:"...", tag:"mo", output:"...", tex:"ldots", ttype:CONST}, -{input:":.", tag:"mo", output:"\u2234", tex:"therefore", ttype:CONST}, -{input:"/_", tag:"mo", output:"\u2220", tex:"angle", ttype:CONST}, -{input:"\\ ", tag:"mo", output:"\u00A0", tex:null, ttype:CONST}, -{input:"quad", tag:"mo", output:"\u00A0\u00A0", tex:null, ttype:CONST}, -{input:"qquad", tag:"mo", output:"\u00A0\u00A0\u00A0\u00A0", tex:null, ttype:CONST}, -{input:"cdots", tag:"mo", output:"\u22EF", tex:null, ttype:CONST}, -{input:"vdots", tag:"mo", output:"\u22EE", tex:null, ttype:CONST}, -{input:"ddots", tag:"mo", output:"\u22F1", tex:null, ttype:CONST}, -{input:"diamond", tag:"mo", output:"\u22C4", tex:null, ttype:CONST}, -{input:"square", tag:"mo", output:"\u25A1", tex:null, ttype:CONST}, -{input:"|__", tag:"mo", output:"\u230A", tex:"lfloor", ttype:CONST}, -{input:"__|", tag:"mo", output:"\u230B", tex:"rfloor", ttype:CONST}, -{input:"|~", tag:"mo", output:"\u2308", tex:"lceiling", ttype:CONST}, -{input:"~|", tag:"mo", output:"\u2309", tex:"rceiling", ttype:CONST}, -{input:"CC", tag:"mo", output:"\u2102", tex:null, ttype:CONST}, -{input:"NN", tag:"mo", output:"\u2115", tex:null, ttype:CONST}, -{input:"QQ", tag:"mo", output:"\u211A", tex:null, ttype:CONST}, -{input:"RR", tag:"mo", output:"\u211D", tex:null, ttype:CONST}, -{input:"ZZ", tag:"mo", output:"\u2124", tex:null, ttype:CONST}, -{input:"f", tag:"mi", output:"f", tex:null, ttype:UNARY, func:true}, -{input:"g", tag:"mi", output:"g", tex:null, ttype:UNARY, func:true}, - -//standard functions -{input:"lim", tag:"mo", output:"lim", tex:null, ttype:UNDEROVER}, -{input:"Lim", tag:"mo", output:"Lim", tex:null, ttype:UNDEROVER}, -{input:"sin", tag:"mo", output:"sin", tex:null, ttype:UNARY, func:true}, -{input:"cos", tag:"mo", output:"cos", tex:null, ttype:UNARY, func:true}, -{input:"tan", tag:"mo", output:"tan", tex:null, ttype:UNARY, func:true}, -{input:"sinh", tag:"mo", output:"sinh", tex:null, ttype:UNARY, func:true}, -{input:"cosh", tag:"mo", output:"cosh", tex:null, ttype:UNARY, func:true}, -{input:"tanh", tag:"mo", output:"tanh", tex:null, ttype:UNARY, func:true}, -{input:"cot", tag:"mo", output:"cot", tex:null, ttype:UNARY, func:true}, -{input:"sec", tag:"mo", output:"sec", tex:null, ttype:UNARY, func:true}, -{input:"csc", tag:"mo", output:"csc", tex:null, ttype:UNARY, func:true}, -{input:"log", tag:"mo", output:"log", tex:null, ttype:UNARY, func:true}, -{input:"ln", tag:"mo", output:"ln", tex:null, ttype:UNARY, func:true}, -{input:"det", tag:"mo", output:"det", tex:null, ttype:UNARY, func:true}, -{input:"dim", tag:"mo", output:"dim", tex:null, ttype:CONST}, -{input:"mod", tag:"mo", output:"mod", tex:null, ttype:CONST}, -{input:"gcd", tag:"mo", output:"gcd", tex:null, ttype:UNARY, func:true}, -{input:"lcm", tag:"mo", output:"lcm", tex:null, ttype:UNARY, func:true}, -{input:"lub", tag:"mo", output:"lub", tex:null, ttype:CONST}, -{input:"glb", tag:"mo", output:"glb", tex:null, ttype:CONST}, -{input:"min", tag:"mo", output:"min", tex:null, ttype:UNDEROVER}, -{input:"max", tag:"mo", output:"max", tex:null, ttype:UNDEROVER}, - -//arrows -{input:"uarr", tag:"mo", output:"\u2191", tex:"uparrow", ttype:CONST}, -{input:"darr", tag:"mo", output:"\u2193", tex:"downarrow", ttype:CONST}, -{input:"rarr", tag:"mo", output:"\u2192", tex:"rightarrow", ttype:CONST}, -{input:"->", tag:"mo", output:"\u2192", tex:"to", ttype:CONST}, -{input:">->", tag:"mo", output:"\u21A3", tex:"rightarrowtail", ttype:CONST}, -{input:"->>", tag:"mo", output:"\u21A0", tex:"twoheadrightarrow", ttype:CONST}, -{input:">->>", tag:"mo", output:"\u2916", tex:"twoheadrightarrowtail", ttype:CONST}, -{input:"|->", tag:"mo", output:"\u21A6", tex:"mapsto", ttype:CONST}, -{input:"larr", tag:"mo", output:"\u2190", tex:"leftarrow", ttype:CONST}, -{input:"harr", tag:"mo", output:"\u2194", tex:"leftrightarrow", ttype:CONST}, -{input:"rArr", tag:"mo", output:"\u21D2", tex:"Rightarrow", ttype:CONST}, -{input:"lArr", tag:"mo", output:"\u21D0", tex:"Leftarrow", ttype:CONST}, -{input:"hArr", tag:"mo", output:"\u21D4", tex:"Leftrightarrow", ttype:CONST}, -//commands with argument -{input:"sqrt", tag:"msqrt", output:"sqrt", tex:null, ttype:UNARY}, -{input:"root", tag:"mroot", output:"root", tex:null, ttype:BINARY}, -{input:"frac", tag:"mfrac", output:"/", tex:null, ttype:BINARY}, -{input:"/", tag:"mfrac", output:"/", tex:null, ttype:INFIX}, -{input:"stackrel", tag:"mover", output:"stackrel", tex:null, ttype:BINARY}, -{input:"_", tag:"msub", output:"_", tex:null, ttype:INFIX}, -{input:"^", tag:"msup", output:"^", tex:null, ttype:INFIX}, -{input:"hat", tag:"mover", output:"\u005E", tex:null, ttype:UNARY, acc:true}, -{input:"bar", tag:"mover", output:"\u00AF", tex:"overline", ttype:UNARY, acc:true}, -{input:"vec", tag:"mover", output:"\u2192", tex:null, ttype:UNARY, acc:true}, -{input:"dot", tag:"mover", output:".", tex:null, ttype:UNARY, acc:true}, -{input:"ddot", tag:"mover", output:"..", tex:null, ttype:UNARY, acc:true}, -{input:"ul", tag:"munder", output:"\u0332", tex:"underline", ttype:UNARY, acc:true}, -{input:"text", tag:"mtext", output:"text", tex:null, ttype:TEXT}, -{input:"mbox", tag:"mtext", output:"mbox", tex:null, ttype:TEXT}, -AMquote, -{input:"bb", tag:"mstyle", atname:"fontweight", atval:"bold", output:"bb", tex:null, ttype:UNARY}, -{input:"mathbf", tag:"mstyle", atname:"fontweight", atval:"bold", output:"mathbf", tex:null, ttype:UNARY}, -{input:"sf", tag:"mstyle", atname:"fontfamily", atval:"sans-serif", output:"sf", tex:null, ttype:UNARY}, -{input:"mathsf", tag:"mstyle", atname:"fontfamily", atval:"sans-serif", output:"mathsf", tex:null, ttype:UNARY}, -{input:"bbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"bbb", tex:null, ttype:UNARY, codes:AMbbb}, -{input:"mathbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"mathbb", tex:null, ttype:UNARY, codes:AMbbb}, -{input:"cc", tag:"mstyle", atname:"mathvariant", atval:"script", output:"cc", tex:null, ttype:UNARY, codes:AMcal}, -{input:"mathcal", tag:"mstyle", atname:"mathvariant", atval:"script", output:"mathcal", tex:null, ttype:UNARY, codes:AMcal}, -{input:"tt", tag:"mstyle", atname:"fontfamily", atval:"monospace", output:"tt", tex:null, ttype:UNARY}, -{input:"mathtt", tag:"mstyle", atname:"fontfamily", atval:"monospace", output:"mathtt", tex:null, ttype:UNARY}, -{input:"fr", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"fr", tex:null, ttype:UNARY, codes:AMfrk}, -{input:"mathfrak", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"mathfrak", tex:null, ttype:UNARY, codes:AMfrk} -]; - -function compareNames(s1,s2) { - if (s1.input > s2.input) return 1 - else return -1; -} - -var AMnames = []; //list of input symbols - -function initSymbols() { - var texsymbols = [], i; - for (i=0; i=n where str appears or would be inserted -// assumes arr is sorted - if (n==0) { - var h,m; - n = -1; - h = arr.length; - while (n+1> 1; - if (arr[m]=str -} - -function AMgetSymbol(str) { -//return maximal initial substring of str that appears in names -//return null if there is none - var k = 0; //new pos - var j = 0; //old pos - var mk; //match pos - var st; - var tagst; - var match = ""; - var more = true; - for (var i=1; i<=str.length && more; i++) { - st = str.slice(0,i); //initial substring of length i - j = k; - k = position(AMnames, st, j); - if (k=AMnames[k]; - } - AMpreviousSymbol=AMcurrentSymbol; - if (match!=""){ - AMcurrentSymbol=AMsymbols[mk].ttype; - return AMsymbols[mk]; - } -// if str[0] is a digit or - return maxsubstring of digits.digits - AMcurrentSymbol=CONST; - k = 1; - st = str.slice(0,1); - var integ = true; - while ("0"<=st && st<="9" && k<=str.length) { - st = str.slice(k,k+1); - k++; - } - if (st == decimalsign) { - st = str.slice(k,k+1); - if ("0"<=st && st<="9") { - integ = false; - k++; - while ("0"<=st && st<="9" && k<=str.length) { - st = str.slice(k,k+1); - k++; - } - } - } - if ((integ && k>1) || k>2) { - st = str.slice(0,k-1); - tagst = "mn"; - } else { - k = 2; - st = str.slice(0,1); //take 1 character - tagst = (("A">st || st>"Z") && ("a">st || st>"z")?"mo":"mi"); - } - if (st=="-" && AMpreviousSymbol==INFIX) { - AMcurrentSymbol = INFIX; //trick "/" into recognizing "-" on second parse - return {input:st, tag:tagst, output:st, ttype:UNARY, func:true}; - } - return {input:st, tag:tagst, output:st, ttype:CONST}; -} - -function AMremoveBrackets(node) { - var st; - if (node.nodeName=="mrow") { - st = node.firstChild.firstChild.nodeValue; - if (st=="(" || st=="[" || st=="{") node.removeChild(node.firstChild); - } - if (node.nodeName=="mrow") { - st = node.lastChild.firstChild.nodeValue; - if (st==")" || st=="]" || st=="}") node.removeChild(node.lastChild); - } -} - -/*Parsing ASCII math expressions with the following grammar -v ::= [A-Za-z] | greek letters | numbers | other constant symbols -u ::= sqrt | text | bb | other unary symbols for font commands -b ::= frac | root | stackrel binary symbols -l ::= ( | [ | { | (: | {: left brackets -r ::= ) | ] | } | :) | :} right brackets -S ::= v | lEr | uS | bSS Simple expression -I ::= S_S | S^S | S_S^S | S Intermediate expression -E ::= IE | I/I Expression -Each terminal symbol is translated into a corresponding mathml node.*/ - -var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol; - -function AMparseSexpr(str) { //parses str and returns [node,tailstr] - var symbol, node, result, i, st,// rightvert = false, - newFrag = document.createDocumentFragment(); - str = AMremoveCharsAndBlanks(str,0); - symbol = AMgetSymbol(str); //either a token or a bracket or empty - if (symbol == null || symbol.ttype == RIGHTBRACKET && AMnestingDepth > 0) { - return [null,str]; - } - if (symbol.ttype == DEFINITION) { - str = symbol.output+AMremoveCharsAndBlanks(str,symbol.input.length); - symbol = AMgetSymbol(str); - } - switch (symbol.ttype) { case UNDEROVER: - case CONST: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode(symbol.tag, //its a constant - document.createTextNode(symbol.output)),str]; - case LEFTBRACKET: //read (expr+) - AMnestingDepth++; - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseExpr(str,true); - AMnestingDepth--; - if (typeof symbol.invisible == "boolean" && symbol.invisible) - node = createMmlNode("mrow",result[0]); - else { - node = createMmlNode("mo",document.createTextNode(symbol.output)); - node = createMmlNode("mrow",node); - node.appendChild(result[0]); - } - return [node,result[1]]; - case TEXT: - if (symbol!=AMquote) str = AMremoveCharsAndBlanks(str,symbol.input.length); - if (str.charAt(0)=="{") i=str.indexOf("}"); - else if (str.charAt(0)=="(") i=str.indexOf(")"); - else if (str.charAt(0)=="[") i=str.indexOf("]"); - else if (symbol==AMquote) i=str.slice(1).indexOf("\"")+1; - else i = 0; - if (i==-1) i = str.length; - st = str.slice(1,i); - if (st.charAt(0) == " ") { - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - } - newFrag.appendChild( - createMmlNode(symbol.tag,document.createTextNode(st))); - if (st.charAt(st.length-1) == " ") { - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - } - str = AMremoveCharsAndBlanks(str,i+1); - return [createMmlNode("mrow",newFrag),str]; - case UNARY: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseSexpr(str); - if (result[0]==null) return [createMmlNode(symbol.tag, - document.createTextNode(symbol.output)),str]; - if (typeof symbol.func == "boolean" && symbol.func) { // functions hack - st = str.charAt(0); - if (st=="^" || st=="_" || st=="/" || st=="|" || st==",") { - return [createMmlNode(symbol.tag, - document.createTextNode(symbol.output)),str]; - } else { - node = createMmlNode("mrow", - createMmlNode(symbol.tag,document.createTextNode(symbol.output))); - node.appendChild(result[0]); - return [node,result[1]]; - } - } - AMremoveBrackets(result[0]); - if (symbol.input == "sqrt") { // sqrt - return [createMmlNode(symbol.tag,result[0]),result[1]]; - } else if (typeof symbol.acc == "boolean" && symbol.acc) { // accent - node = createMmlNode(symbol.tag,result[0]); - node.appendChild(createMmlNode("mo",document.createTextNode(symbol.output))); - return [node,result[1]]; - } else { // font change command - if (!isIE && typeof symbol.codes != "undefined") { - for (i=0; i64 && st.charCodeAt(j)<91) newst = newst + - String.fromCharCode(symbol.codes[st.charCodeAt(j)-65]); - else newst = newst + st.charAt(j); - if (result[0].nodeName=="mi") - result[0]=createMmlNode("mo"). - appendChild(document.createTextNode(newst)); - else result[0].replaceChild(createMmlNode("mo"). - appendChild(document.createTextNode(newst)), - result[0].childNodes[i]); - } - } - node = createMmlNode(symbol.tag,result[0]); - node.setAttribute(symbol.atname,symbol.atval); - return [node,result[1]]; - } - case BINARY: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseSexpr(str); - if (result[0]==null) return [createMmlNode("mo", - document.createTextNode(symbol.input)),str]; - AMremoveBrackets(result[0]); - var result2 = AMparseSexpr(result[1]); - if (result2[0]==null) return [createMmlNode("mo", - document.createTextNode(symbol.input)),str]; - AMremoveBrackets(result2[0]); - if (symbol.input=="root" || symbol.input=="stackrel") - newFrag.appendChild(result2[0]); - newFrag.appendChild(result[0]); - if (symbol.input=="frac") newFrag.appendChild(result2[0]); - return [createMmlNode(symbol.tag,newFrag),result2[1]]; - case INFIX: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode("mo",document.createTextNode(symbol.output)),str]; - case SPACE: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - newFrag.appendChild( - createMmlNode(symbol.tag,document.createTextNode(symbol.output))); - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - return [createMmlNode("mrow",newFrag),str]; - case LEFTRIGHT: -// if (rightvert) return [null,str]; else rightvert = true; - AMnestingDepth++; - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseExpr(str,false); - AMnestingDepth--; - var st = ""; - if (result[0].lastChild!=null) - st = result[0].lastChild.firstChild.nodeValue; - if (st == "|") { // its an absolute value subterm - node = createMmlNode("mo",document.createTextNode(symbol.output)); - node = createMmlNode("mrow",node); - node.appendChild(result[0]); - return [node,result[1]]; - } else { // the "|" is a \mid so use unicode 2223 (divides) for spacing - node = createMmlNode("mo",document.createTextNode("\u2223")); - node = createMmlNode("mrow",node); - return [node,str]; - } - default: -//alert("default"); - str = AMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode(symbol.tag, //its a constant - document.createTextNode(symbol.output)),str]; - } -} - -function AMparseIexpr(str) { - var symbol, sym1, sym2, node, result, underover; - str = AMremoveCharsAndBlanks(str,0); - sym1 = AMgetSymbol(str); - result = AMparseSexpr(str); - node = result[0]; - str = result[1]; - symbol = AMgetSymbol(str); - if (symbol.ttype == INFIX && symbol.input != "/") { - str = AMremoveCharsAndBlanks(str,symbol.input.length); -// if (symbol.input == "/") result = AMparseIexpr(str); else ... - result = AMparseSexpr(str); - if (result[0] == null) // show box in place of missing argument - result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); - else AMremoveBrackets(result[0]); - str = result[1]; -// if (symbol.input == "/") AMremoveBrackets(node); - if (symbol.input == "_") { - sym2 = AMgetSymbol(str); - underover = (sym1.ttype == UNDEROVER); - if (sym2.input == "^") { - str = AMremoveCharsAndBlanks(str,sym2.input.length); - var res2 = AMparseSexpr(str); - AMremoveBrackets(res2[0]); - str = res2[1]; - node = createMmlNode((underover?"munderover":"msubsup"),node); - node.appendChild(result[0]); - node.appendChild(res2[0]); - node = createMmlNode("mrow",node); // so sum does not stretch - } else { - node = createMmlNode((underover?"munder":"msub"),node); - node.appendChild(result[0]); - } - } else { - node = createMmlNode(symbol.tag,node); - node.appendChild(result[0]); - } - } - return [node,str]; -} - -function AMparseExpr(str,rightbracket) { - var symbol, node, result, i, nodeList = [], - newFrag = document.createDocumentFragment(); - do { - str = AMremoveCharsAndBlanks(str,0); - result = AMparseIexpr(str); - node = result[0]; - str = result[1]; - symbol = AMgetSymbol(str); - if (symbol.ttype == INFIX && symbol.input == "/") { - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseIexpr(str); - if (result[0] == null) // show box in place of missing argument - result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); - else AMremoveBrackets(result[0]); - str = result[1]; - AMremoveBrackets(node); - node = createMmlNode(symbol.tag,node); - node.appendChild(result[0]); - newFrag.appendChild(node); - symbol = AMgetSymbol(str); - } - else if (node!=undefined) newFrag.appendChild(node); - } while ((symbol.ttype != RIGHTBRACKET && - (symbol.ttype != LEFTRIGHT || rightbracket) - || AMnestingDepth == 0) && symbol!=null && symbol.output!=""); - if (symbol.ttype == RIGHTBRACKET || symbol.ttype == LEFTRIGHT) { -// if (AMnestingDepth > 0) AMnestingDepth--; - var len = newFrag.childNodes.length; - if (len>0 && newFrag.childNodes[len-1].nodeName == "mrow" && len>1 && - newFrag.childNodes[len-2].nodeName == "mo" && - newFrag.childNodes[len-2].firstChild.nodeValue == ",") { //matrix - var right = newFrag.childNodes[len-1].lastChild.firstChild.nodeValue; - if (right==")" || right=="]") { - var left = newFrag.childNodes[len-1].firstChild.firstChild.nodeValue; - if (left=="(" && right==")" && symbol.output != "}" || - left=="[" && right=="]") { - var pos = []; // positions of commas - var matrix = true; - var m = newFrag.childNodes.length; - for (i=0; matrix && i1) matrix = pos[i].length == pos[i-2].length; - } - if (matrix) { - var row, frag, n, k, table = document.createDocumentFragment(); - for (i=0; i(-,-,...,-,-) - n = node.childNodes.length; - k = 0; - node.removeChild(node.firstChild); //remove ( - for (j=1; j2) { - newFrag.removeChild(newFrag.firstChild); //remove ) - newFrag.removeChild(newFrag.firstChild); //remove , - } - table.appendChild(createMmlNode("mtr",row)); - } - node = createMmlNode("mtable",table); - if (typeof symbol.invisible == "boolean" && symbol.invisible) node.setAttribute("columnalign","left"); - newFrag.replaceChild(node,newFrag.firstChild); - } - } - } - } - str = AMremoveCharsAndBlanks(str,symbol.input.length); - if (typeof symbol.invisible != "boolean" || !symbol.invisible) { - node = createMmlNode("mo",document.createTextNode(symbol.output)); - newFrag.appendChild(node); - } - } - return [newFrag,str]; -} - -function parseMath(str,latex) { - var frag, node; - AMnestingDepth = 0; - frag = latex ? LMparseExpr(str.replace(/^\s+/g,""),false,false)[0] : AMparseExpr(str.replace(/^\s+/g,""),false)[0]; - node = createMmlNode("mstyle",frag); - node.setAttribute("mathcolor",mathcolor); - node.setAttribute("fontfamily",mathfontfamily); - node.setAttribute("mathsize",mathfontsize); - if (displaystyle) node.setAttribute("displaystyle","true"); - node = createMmlNode("math",node); - if (showasciiformulaonhover) //fixed by djhsu so newline - node.setAttribute("title",str.replace(/\s+/g," "));//does not show in Gecko - return node; -} - -function strarr2docFrag(arr, linebreaks, latex) { - var newFrag=document.createDocumentFragment(); - var expr = false; - for (var i=0; i,\\|!:;'~]|\\.(?!(?:\x20|$))|"+ambigAMtoken+englishAMtoken+simpleAMtoken; - var re = new RegExp("(^|\\s)((("+token+")\\s?)(("+token+secondenglishAMtoken+")\\s?)+)([,.?]?(?=\\s|$))","g"); - str = str.replace(re," `$2`$7"); - var arr = str.split(AMdelimiter1); - var re1 = new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+texcommand+ambigAMtoken+simpleAMtoken+")(\\s|\\n|$)","g"); - var re2 = new RegExp("(^|\\s)([a-z]|"+texcommand+ambigAMtoken+simpleAMtoken+")([,.])","g"); // removed |\d+ for now - for (i=0; i1 || mtch) { - if (!noMathML) { - frg = strarr2docFrag(arr,n.nodeType==8,latex); - var len = frg.childNodes.length; - n.parentNode.replaceChild(frg,n); - return len-1; - } else return 0; - } - } - } else return 0; - } else if (n.nodeName!="math") { - for (i=0; i -This is a convenient and inexpensive solution for authoring MathML. - -Version 1.4.7 Dec 15, 2005, (c) Peter Jipsen http://www.chapman.edu/~jipsen -Latest version at http://www.chapman.edu/~jipsen/mathml/ASCIIMathML.js -For changes see http://www.chapman.edu/~jipsen/mathml/asciimathchanges.txt -If you use it on a webpage, please send the URL to jipsen@chapman.edu - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or (at -your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser -General Public License (at http://www.gnu.org/license/lgpl.html) -for more details. - -LaTeXMathML.js (ctd) -============== - -Content between $...$ and $$...$$ is converted by this part of the file -*/ - -// all further global variables start with "LM" - -// Commented out by DRW to prevent 1/2 turning into a 2-line fraction -// LMdiv = {input:"/", tag:"mfrac", output:"/", ttype:INFIX}, -// Commented out by DRW so that " prints literally in equations -// LMquote = {input:"\"", tag:"mtext", output:"mbox", ttype:TEXT}; - -var LMsymbols = [ -//Greek letters -{input:"\\alpha", tag:"mi", output:"\u03B1", ttype:CONST}, -{input:"\\beta", tag:"mi", output:"\u03B2", ttype:CONST}, -{input:"\\gamma", tag:"mi", output:"\u03B3", ttype:CONST}, -{input:"\\delta", tag:"mi", output:"\u03B4", ttype:CONST}, -{input:"\\epsilon", tag:"mi", output:"\u03B5", ttype:CONST}, -{input:"\\varepsilon", tag:"mi", output:"\u025B", ttype:CONST}, -{input:"\\zeta", tag:"mi", output:"\u03B6", ttype:CONST}, -{input:"\\eta", tag:"mi", output:"\u03B7", ttype:CONST}, -{input:"\\theta", tag:"mi", output:"\u03B8", ttype:CONST}, -{input:"\\vartheta", tag:"mi", output:"\u03D1", ttype:CONST}, -{input:"\\iota", tag:"mi", output:"\u03B9", ttype:CONST}, -{input:"\\kappa", tag:"mi", output:"\u03BA", ttype:CONST}, -{input:"\\lambda", tag:"mi", output:"\u03BB", ttype:CONST}, -{input:"\\mu", tag:"mi", output:"\u03BC", ttype:CONST}, -{input:"\\nu", tag:"mi", output:"\u03BD", ttype:CONST}, -{input:"\\xi", tag:"mi", output:"\u03BE", ttype:CONST}, -{input:"\\pi", tag:"mi", output:"\u03C0", ttype:CONST}, -{input:"\\varpi", tag:"mi", output:"\u03D6", ttype:CONST}, -{input:"\\rho", tag:"mi", output:"\u03C1", ttype:CONST}, -{input:"\\varrho", tag:"mi", output:"\u03F1", ttype:CONST}, -{input:"\\varsigma", tag:"mi", output:"\u03C2", ttype:CONST}, -{input:"\\sigma", tag:"mi", output:"\u03C3", ttype:CONST}, -{input:"\\tau", tag:"mi", output:"\u03C4", ttype:CONST}, -{input:"\\upsilon", tag:"mi", output:"\u03C5", ttype:CONST}, -{input:"\\phi", tag:"mi", output:"\u03C6", ttype:CONST}, -{input:"\\varphi", tag:"mi", output:"\u03D5", ttype:CONST}, -{input:"\\chi", tag:"mi", output:"\u03C7", ttype:CONST}, -{input:"\\psi", tag:"mi", output:"\u03C8", ttype:CONST}, -{input:"\\omega", tag:"mi", output:"\u03C9", ttype:CONST}, -{input:"\\Gamma", tag:"mo", output:"\u0393", ttype:CONST}, -{input:"\\Delta", tag:"mo", output:"\u0394", ttype:CONST}, -{input:"\\Theta", tag:"mo", output:"\u0398", ttype:CONST}, -{input:"\\Lambda", tag:"mo", output:"\u039B", ttype:CONST}, -{input:"\\Xi", tag:"mo", output:"\u039E", ttype:CONST}, -{input:"\\Pi", tag:"mo", output:"\u03A0", ttype:CONST}, -{input:"\\Sigma", tag:"mo", output:"\u03A3", ttype:CONST}, -{input:"\\Upsilon", tag:"mo", output:"\u03A5", ttype:CONST}, -{input:"\\Phi", tag:"mo", output:"\u03A6", ttype:CONST}, -{input:"\\Psi", tag:"mo", output:"\u03A8", ttype:CONST}, -{input:"\\Omega", tag:"mo", output:"\u03A9", ttype:CONST}, - -//fractions -{input:"\\frac12", tag:"mo", output:"\u00BD", ttype:CONST}, -{input:"\\frac14", tag:"mo", output:"\u00BC", ttype:CONST}, -{input:"\\frac34", tag:"mo", output:"\u00BE", ttype:CONST}, -{input:"\\frac13", tag:"mo", output:"\u2153", ttype:CONST}, -{input:"\\frac23", tag:"mo", output:"\u2154", ttype:CONST}, -{input:"\\frac15", tag:"mo", output:"\u2155", ttype:CONST}, -{input:"\\frac25", tag:"mo", output:"\u2156", ttype:CONST}, -{input:"\\frac35", tag:"mo", output:"\u2157", ttype:CONST}, -{input:"\\frac45", tag:"mo", output:"\u2158", ttype:CONST}, -{input:"\\frac16", tag:"mo", output:"\u2159", ttype:CONST}, -{input:"\\frac56", tag:"mo", output:"\u215A", ttype:CONST}, -{input:"\\frac18", tag:"mo", output:"\u215B", ttype:CONST}, -{input:"\\frac38", tag:"mo", output:"\u215C", ttype:CONST}, -{input:"\\frac58", tag:"mo", output:"\u215D", ttype:CONST}, -{input:"\\frac78", tag:"mo", output:"\u215E", ttype:CONST}, - -//binary operation symbols -{input:"\\pm", tag:"mo", output:"\u00B1", ttype:CONST}, -{input:"\\mp", tag:"mo", output:"\u2213", ttype:CONST}, -{input:"\\triangleleft",tag:"mo", output:"\u22B2", ttype:CONST}, -{input:"\\triangleright",tag:"mo",output:"\u22B3", ttype:CONST}, -{input:"\\cdot", tag:"mo", output:"\u22C5", ttype:CONST}, -{input:"\\star", tag:"mo", output:"\u22C6", ttype:CONST}, -{input:"\\ast", tag:"mo", output:"\u002A", ttype:CONST}, -{input:"\\times", tag:"mo", output:"\u00D7", ttype:CONST}, -{input:"\\div", tag:"mo", output:"\u00F7", ttype:CONST}, -{input:"\\circ", tag:"mo", output:"\u2218", ttype:CONST}, -//{input:"\\bullet", tag:"mo", output:"\u2219", ttype:CONST}, -{input:"\\bullet", tag:"mo", output:"\u2022", ttype:CONST}, -{input:"\\oplus", tag:"mo", output:"\u2295", ttype:CONST}, -{input:"\\ominus", tag:"mo", output:"\u2296", ttype:CONST}, -{input:"\\otimes", tag:"mo", output:"\u2297", ttype:CONST}, -{input:"\\bigcirc", tag:"mo", output:"\u25CB", ttype:CONST}, -{input:"\\oslash", tag:"mo", output:"\u2298", ttype:CONST}, -{input:"\\odot", tag:"mo", output:"\u2299", ttype:CONST}, -{input:"\\land", tag:"mo", output:"\u2227", ttype:CONST}, -{input:"\\wedge", tag:"mo", output:"\u2227", ttype:CONST}, -{input:"\\lor", tag:"mo", output:"\u2228", ttype:CONST}, -{input:"\\vee", tag:"mo", output:"\u2228", ttype:CONST}, -{input:"\\cap", tag:"mo", output:"\u2229", ttype:CONST}, -{input:"\\cup", tag:"mo", output:"\u222A", ttype:CONST}, -{input:"\\sqcap", tag:"mo", output:"\u2293", ttype:CONST}, -{input:"\\sqcup", tag:"mo", output:"\u2294", ttype:CONST}, -{input:"\\uplus", tag:"mo", output:"\u228E", ttype:CONST}, -{input:"\\amalg", tag:"mo", output:"\u2210", ttype:CONST}, -{input:"\\bigtriangleup",tag:"mo",output:"\u25B3", ttype:CONST}, -{input:"\\bigtriangledown",tag:"mo",output:"\u25BD", ttype:CONST}, -{input:"\\dag", tag:"mo", output:"\u2020", ttype:CONST}, -{input:"\\dagger", tag:"mo", output:"\u2020", ttype:CONST}, -{input:"\\ddag", tag:"mo", output:"\u2021", ttype:CONST}, -{input:"\\ddagger", tag:"mo", output:"\u2021", ttype:CONST}, -{input:"\\lhd", tag:"mo", output:"\u22B2", ttype:CONST}, -{input:"\\rhd", tag:"mo", output:"\u22B3", ttype:CONST}, -{input:"\\unlhd", tag:"mo", output:"\u22B4", ttype:CONST}, -{input:"\\unrhd", tag:"mo", output:"\u22B5", ttype:CONST}, - - -//BIG Operators -{input:"\\sum", tag:"mo", output:"\u2211", ttype:UNDEROVER}, -{input:"\\prod", tag:"mo", output:"\u220F", ttype:UNDEROVER}, -{input:"\\bigcap", tag:"mo", output:"\u22C2", ttype:UNDEROVER}, -{input:"\\bigcup", tag:"mo", output:"\u22C3", ttype:UNDEROVER}, -{input:"\\bigwedge", tag:"mo", output:"\u22C0", ttype:UNDEROVER}, -{input:"\\bigvee", tag:"mo", output:"\u22C1", ttype:UNDEROVER}, -{input:"\\bigsqcap", tag:"mo", output:"\u2A05", ttype:UNDEROVER}, -{input:"\\bigsqcup", tag:"mo", output:"\u2A06", ttype:UNDEROVER}, -{input:"\\coprod", tag:"mo", output:"\u2210", ttype:UNDEROVER}, -{input:"\\bigoplus", tag:"mo", output:"\u2A01", ttype:UNDEROVER}, -{input:"\\bigotimes", tag:"mo", output:"\u2A02", ttype:UNDEROVER}, -{input:"\\bigodot", tag:"mo", output:"\u2A00", ttype:UNDEROVER}, -{input:"\\biguplus", tag:"mo", output:"\u2A04", ttype:UNDEROVER}, -{input:"\\int", tag:"mo", output:"\u222B", ttype:CONST}, -{input:"\\oint", tag:"mo", output:"\u222E", ttype:CONST}, - -//binary relation symbols -{input:":=", tag:"mo", output:":=", ttype:CONST}, -{input:"\\lt", tag:"mo", output:"<", ttype:CONST}, -{input:"\\gt", tag:"mo", output:">", ttype:CONST}, -{input:"\\ne", tag:"mo", output:"\u2260", ttype:CONST}, -{input:"\\neq", tag:"mo", output:"\u2260", ttype:CONST}, -{input:"\\le", tag:"mo", output:"\u2264", ttype:CONST}, -{input:"\\leq", tag:"mo", output:"\u2264", ttype:CONST}, -{input:"\\leqslant", tag:"mo", output:"\u2264", ttype:CONST}, -{input:"\\ge", tag:"mo", output:"\u2265", ttype:CONST}, -{input:"\\geq", tag:"mo", output:"\u2265", ttype:CONST}, -{input:"\\geqslant", tag:"mo", output:"\u2265", ttype:CONST}, -{input:"\\equiv", tag:"mo", output:"\u2261", ttype:CONST}, -{input:"\\ll", tag:"mo", output:"\u226A", ttype:CONST}, -{input:"\\gg", tag:"mo", output:"\u226B", ttype:CONST}, -{input:"\\doteq", tag:"mo", output:"\u2250", ttype:CONST}, -{input:"\\prec", tag:"mo", output:"\u227A", ttype:CONST}, -{input:"\\succ", tag:"mo", output:"\u227B", ttype:CONST}, -{input:"\\preceq", tag:"mo", output:"\u227C", ttype:CONST}, -{input:"\\succeq", tag:"mo", output:"\u227D", ttype:CONST}, -{input:"\\subset", tag:"mo", output:"\u2282", ttype:CONST}, -{input:"\\supset", tag:"mo", output:"\u2283", ttype:CONST}, -{input:"\\subseteq", tag:"mo", output:"\u2286", ttype:CONST}, -{input:"\\supseteq", tag:"mo", output:"\u2287", ttype:CONST}, -{input:"\\sqsubset", tag:"mo", output:"\u228F", ttype:CONST}, -{input:"\\sqsupset", tag:"mo", output:"\u2290", ttype:CONST}, -{input:"\\sqsubseteq", tag:"mo", output:"\u2291", ttype:CONST}, -{input:"\\sqsupseteq", tag:"mo", output:"\u2292", ttype:CONST}, -{input:"\\sim", tag:"mo", output:"\u223C", ttype:CONST}, -{input:"\\simeq", tag:"mo", output:"\u2243", ttype:CONST}, -{input:"\\approx", tag:"mo", output:"\u2248", ttype:CONST}, -{input:"\\cong", tag:"mo", output:"\u2245", ttype:CONST}, -{input:"\\Join", tag:"mo", output:"\u22C8", ttype:CONST}, -{input:"\\bowtie", tag:"mo", output:"\u22C8", ttype:CONST}, -{input:"\\in", tag:"mo", output:"\u2208", ttype:CONST}, -{input:"\\ni", tag:"mo", output:"\u220B", ttype:CONST}, -{input:"\\owns", tag:"mo", output:"\u220B", ttype:CONST}, -{input:"\\propto", tag:"mo", output:"\u221D", ttype:CONST}, -{input:"\\vdash", tag:"mo", output:"\u22A2", ttype:CONST}, -{input:"\\dashv", tag:"mo", output:"\u22A3", ttype:CONST}, -{input:"\\models", tag:"mo", output:"\u22A8", ttype:CONST}, -{input:"\\perp", tag:"mo", output:"\u22A5", ttype:CONST}, -{input:"\\smile", tag:"mo", output:"\u2323", ttype:CONST}, -{input:"\\frown", tag:"mo", output:"\u2322", ttype:CONST}, -{input:"\\asymp", tag:"mo", output:"\u224D", ttype:CONST}, -{input:"\\notin", tag:"mo", output:"\u2209", ttype:CONST}, - -//matrices -{input:"\\begin{eqnarray}", output:"X", ttype:MATRIX, invisible:true}, -{input:"\\begin{array}", output:"X", ttype:MATRIX, invisible:true}, -{input:"\\\\", output:"}&{", ttype:DEFINITION}, -{input:"\\end{eqnarray}", output:"}}", ttype:DEFINITION}, -{input:"\\end{array}", output:"}}", ttype:DEFINITION}, - -//grouping and literal brackets -- ieval is for IE -{input:"\\big", tag:"mo", output:"X", atval:"1.2", ieval:"2.2", ttype:BIG}, -{input:"\\Big", tag:"mo", output:"X", atval:"1.6", ieval:"2.6", ttype:BIG}, -{input:"\\bigg", tag:"mo", output:"X", atval:"2.2", ieval:"3.2", ttype:BIG}, -{input:"\\Bigg", tag:"mo", output:"X", atval:"2.9", ieval:"3.9", ttype:BIG}, -{input:"\\left", tag:"mo", output:"X", ttype:LEFTBRACKET}, -{input:"\\right", tag:"mo", output:"X", ttype:RIGHTBRACKET}, -{input:"{", output:"{", ttype:LEFTBRACKET, invisible:true}, -{input:"}", output:"}", ttype:RIGHTBRACKET, invisible:true}, - -{input:"(", tag:"mo", output:"(", atval:"1", ttype:STRETCHY}, -{input:"[", tag:"mo", output:"[", atval:"1", ttype:STRETCHY}, -{input:"\\lbrack", tag:"mo", output:"[", atval:"1", ttype:STRETCHY}, -{input:"\\{", tag:"mo", output:"{", atval:"1", ttype:STRETCHY}, -{input:"\\lbrace", tag:"mo", output:"{", atval:"1", ttype:STRETCHY}, -{input:"\\langle", tag:"mo", output:"\u2329", atval:"1", ttype:STRETCHY}, -{input:"\\lfloor", tag:"mo", output:"\u230A", atval:"1", ttype:STRETCHY}, -{input:"\\lceil", tag:"mo", output:"\u2308", atval:"1", ttype:STRETCHY}, - -// rtag:"mi" causes space to be inserted before a following sin, cos, etc. -// (see function LMparseExpr() ) -{input:")", tag:"mo",output:")", rtag:"mi",atval:"1",ttype:STRETCHY}, -{input:"]", tag:"mo",output:"]", rtag:"mi",atval:"1",ttype:STRETCHY}, -{input:"\\rbrack",tag:"mo",output:"]", rtag:"mi",atval:"1",ttype:STRETCHY}, -{input:"\\}", tag:"mo",output:"}", rtag:"mi",atval:"1",ttype:STRETCHY}, -{input:"\\rbrace",tag:"mo",output:"}", rtag:"mi",atval:"1",ttype:STRETCHY}, -{input:"\\rangle",tag:"mo",output:"\u232A", rtag:"mi",atval:"1",ttype:STRETCHY}, -{input:"\\rfloor",tag:"mo",output:"\u230B", rtag:"mi",atval:"1",ttype:STRETCHY}, -{input:"\\rceil", tag:"mo",output:"\u2309", rtag:"mi",atval:"1",ttype:STRETCHY}, - -// "|", "\\|", "\\vert" and "\\Vert" modified later: lspace = rspace = 0em -{input:"|", tag:"mo", output:"\u2223", atval:"1", ttype:STRETCHY}, -{input:"\\|", tag:"mo", output:"\u2225", atval:"1", ttype:STRETCHY}, -{input:"\\vert", tag:"mo", output:"\u2223", atval:"1", ttype:STRETCHY}, -{input:"\\Vert", tag:"mo", output:"\u2225", atval:"1", ttype:STRETCHY}, -{input:"\\mid", tag:"mo", output:"\u2223", atval:"1", ttype:STRETCHY}, -{input:"\\parallel", tag:"mo", output:"\u2225", atval:"1", ttype:STRETCHY}, -{input:"/", tag:"mo", output:"/", atval:"1.01", ttype:STRETCHY}, -{input:"\\backslash", tag:"mo", output:"\u2216", atval:"1", ttype:STRETCHY}, -{input:"\\setminus", tag:"mo", output:"\\", ttype:CONST}, - -//miscellaneous symbols -{input:"\\!", tag:"mspace", atname:"width", atval:"-0.167em", ttype:SPACE}, -{input:"\\,", tag:"mspace", atname:"width", atval:"0.167em", ttype:SPACE}, -{input:"\\>", tag:"mspace", atname:"width", atval:"0.222em", ttype:SPACE}, -{input:"\\:", tag:"mspace", atname:"width", atval:"0.222em", ttype:SPACE}, -{input:"\\;", tag:"mspace", atname:"width", atval:"0.278em", ttype:SPACE}, -{input:"~", tag:"mspace", atname:"width", atval:"0.333em", ttype:SPACE}, -{input:"\\quad", tag:"mspace", atname:"width", atval:"1em", ttype:SPACE}, -{input:"\\qquad", tag:"mspace", atname:"width", atval:"2em", ttype:SPACE}, -//{input:"{}", tag:"mo", output:"\u200B", ttype:CONST}, // zero-width -{input:"\\prime", tag:"mo", output:"\u2032", ttype:CONST}, -{input:"'", tag:"mo", output:"\u02B9", ttype:CONST}, -{input:"''", tag:"mo", output:"\u02BA", ttype:CONST}, -{input:"'''", tag:"mo", output:"\u2034", ttype:CONST}, -{input:"''''", tag:"mo", output:"\u2057", ttype:CONST}, -{input:"\\ldots", tag:"mo", output:"\u2026", ttype:CONST}, -{input:"\\cdots", tag:"mo", output:"\u22EF", ttype:CONST}, -{input:"\\vdots", tag:"mo", output:"\u22EE", ttype:CONST}, -{input:"\\ddots", tag:"mo", output:"\u22F1", ttype:CONST}, -{input:"\\forall", tag:"mo", output:"\u2200", ttype:CONST}, -{input:"\\exists", tag:"mo", output:"\u2203", ttype:CONST}, -{input:"\\Re", tag:"mo", output:"\u211C", ttype:CONST}, -{input:"\\Im", tag:"mo", output:"\u2111", ttype:CONST}, -{input:"\\aleph", tag:"mo", output:"\u2135", ttype:CONST}, -{input:"\\hbar", tag:"mo", output:"\u210F", ttype:CONST}, -{input:"\\ell", tag:"mo", output:"\u2113", ttype:CONST}, -{input:"\\wp", tag:"mo", output:"\u2118", ttype:CONST}, -{input:"\\emptyset", tag:"mo", output:"\u2205", ttype:CONST}, -{input:"\\infty", tag:"mo", output:"\u221E", ttype:CONST}, -{input:"\\surd", tag:"mo", output:"\\sqrt{}", ttype:DEFINITION}, -{input:"\\partial", tag:"mo", output:"\u2202", ttype:CONST}, -{input:"\\nabla", tag:"mo", output:"\u2207", ttype:CONST}, -{input:"\\triangle", tag:"mo", output:"\u25B3", ttype:CONST}, -{input:"\\therefore", tag:"mo", output:"\u2234", ttype:CONST}, -{input:"\\angle", tag:"mo", output:"\u2220", ttype:CONST}, -//{input:"\\\\ ", tag:"mo", output:"\u00A0", ttype:CONST}, -{input:"\\diamond", tag:"mo", output:"\u22C4", ttype:CONST}, -//{input:"\\Diamond", tag:"mo", output:"\u25CA", ttype:CONST}, -{input:"\\Diamond", tag:"mo", output:"\u25C7", ttype:CONST}, -{input:"\\neg", tag:"mo", output:"\u00AC", ttype:CONST}, -{input:"\\lnot", tag:"mo", output:"\u00AC", ttype:CONST}, -{input:"\\bot", tag:"mo", output:"\u22A5", ttype:CONST}, -{input:"\\top", tag:"mo", output:"\u22A4", ttype:CONST}, -{input:"\\square", tag:"mo", output:"\u25AB", ttype:CONST}, -{input:"\\Box", tag:"mo", output:"\u25A1", ttype:CONST}, -{input:"\\wr", tag:"mo", output:"\u2240", ttype:CONST}, - -//standard functions -//Note UNDEROVER *must* have tag:"mo" to work properly -{input:"\\arccos", tag:"mi", output:"arccos", ttype:UNARY, func:true}, -{input:"\\arcsin", tag:"mi", output:"arcsin", ttype:UNARY, func:true}, -{input:"\\arctan", tag:"mi", output:"arctan", ttype:UNARY, func:true}, -{input:"\\arg", tag:"mi", output:"arg", ttype:UNARY, func:true}, -{input:"\\cos", tag:"mi", output:"cos", ttype:UNARY, func:true}, -{input:"\\cosh", tag:"mi", output:"cosh", ttype:UNARY, func:true}, -{input:"\\cot", tag:"mi", output:"cot", ttype:UNARY, func:true}, -{input:"\\coth", tag:"mi", output:"coth", ttype:UNARY, func:true}, -{input:"\\csc", tag:"mi", output:"csc", ttype:UNARY, func:true}, -{input:"\\deg", tag:"mi", output:"deg", ttype:UNARY, func:true}, -{input:"\\det", tag:"mi", output:"det", ttype:UNARY, func:true}, -{input:"\\dim", tag:"mi", output:"dim", ttype:UNARY, func:true}, //CONST? -{input:"\\exp", tag:"mi", output:"exp", ttype:UNARY, func:true}, -{input:"\\gcd", tag:"mi", output:"gcd", ttype:UNARY, func:true}, //CONST? -{input:"\\hom", tag:"mi", output:"hom", ttype:UNARY, func:true}, -{input:"\\inf", tag:"mo", output:"inf", ttype:UNDEROVER}, -{input:"\\ker", tag:"mi", output:"ker", ttype:UNARY, func:true}, -{input:"\\lg", tag:"mi", output:"lg", ttype:UNARY, func:true}, -{input:"\\lim", tag:"mo", output:"lim", ttype:UNDEROVER}, -{input:"\\liminf", tag:"mo", output:"liminf", ttype:UNDEROVER}, -{input:"\\limsup", tag:"mo", output:"limsup", ttype:UNDEROVER}, -{input:"\\ln", tag:"mi", output:"ln", ttype:UNARY, func:true}, -{input:"\\log", tag:"mi", output:"log", ttype:UNARY, func:true}, -{input:"\\max", tag:"mo", output:"max", ttype:UNDEROVER}, -{input:"\\min", tag:"mo", output:"min", ttype:UNDEROVER}, -{input:"\\Pr", tag:"mi", output:"Pr", ttype:UNARY, func:true}, -{input:"\\sec", tag:"mi", output:"sec", ttype:UNARY, func:true}, -{input:"\\sin", tag:"mi", output:"sin", ttype:UNARY, func:true}, -{input:"\\sinh", tag:"mi", output:"sinh", ttype:UNARY, func:true}, -{input:"\\sup", tag:"mo", output:"sup", ttype:UNDEROVER}, -{input:"\\tan", tag:"mi", output:"tan", ttype:UNARY, func:true}, -{input:"\\tanh", tag:"mi", output:"tanh", ttype:UNARY, func:true}, - -//arrows -{input:"\\gets", tag:"mo", output:"\u2190", ttype:CONST}, -{input:"\\leftarrow", tag:"mo", output:"\u2190", ttype:CONST}, -{input:"\\to", tag:"mo", output:"\u2192", ttype:CONST}, -{input:"\\rightarrow", tag:"mo", output:"\u2192", ttype:CONST}, -{input:"\\leftrightarrow", tag:"mo", output:"\u2194", ttype:CONST}, -{input:"\\uparrow", tag:"mo", output:"\u2191", ttype:CONST}, -{input:"\\downarrow", tag:"mo", output:"\u2193", ttype:CONST}, -{input:"\\updownarrow", tag:"mo", output:"\u2195", ttype:CONST}, -{input:"\\Leftarrow", tag:"mo", output:"\u21D0", ttype:CONST}, -{input:"\\Rightarrow", tag:"mo", output:"\u21D2", ttype:CONST}, -{input:"\\Leftrightarrow", tag:"mo", output:"\u21D4", ttype:CONST}, -{input:"\\iff", tag:"mo", output:"~\\Longleftrightarrow~", ttype:DEFINITION}, -{input:"\\Uparrow", tag:"mo", output:"\u21D1", ttype:CONST}, -{input:"\\Downarrow", tag:"mo", output:"\u21D3", ttype:CONST}, -{input:"\\Updownarrow", tag:"mo", output:"\u21D5", ttype:CONST}, -{input:"\\mapsto", tag:"mo", output:"\u21A6", ttype:CONST}, -{input:"\\longleftarrow", tag:"mo", output:"\u2190", ttype:LONG}, -{input:"\\longrightarrow", tag:"mo", output:"\u2192", ttype:LONG}, -{input:"\\longleftrightarrow", tag:"mo", output:"\u2194", ttype:LONG}, -{input:"\\Longleftarrow", tag:"mo", output:"\u21D0", ttype:LONG}, -{input:"\\Longrightarrow", tag:"mo", output:"\u21D2", ttype:LONG}, -{input:"\\implies", tag:"mo", output:"\u21D2", ttype:LONG}, -{input:"\\Longleftrightarrow", tag:"mo", output:"\u21D4", ttype:LONG}, -{input:"\\longmapsto", tag:"mo", output:"\u21A6", ttype:CONST}, - // disaster if LONG - -//commands with argument - -{input:"\\sqrt", tag:"msqrt", output:"sqrt", ttype:UNARY}, -{input:"\\root", tag:"mroot", output:"root", ttype:BINARY}, -{input:"\\frac", tag:"mfrac", output:"/", ttype:BINARY}, -{input:"\\stackrel", tag:"mover", output:"stackrel", ttype:BINARY}, -{input:"\\atop", tag:"mfrac", output:"", ttype:INFIX}, -{input:"\\choose", tag:"mfrac", output:"", ttype:INFIX}, -{input:"_", tag:"msub", output:"_", ttype:INFIX}, -{input:"^", tag:"msup", output:"^", ttype:INFIX}, -{input:"\\mathrm", tag:"mtext", output:"text", ttype:TEXT}, -{input:"\\mbox", tag:"mtext", output:"mbox", ttype:TEXT}, - -//diacritical marks -{input:"\\acute", tag:"mover", output:"\u00B4", ttype:UNARY, acc:true}, -//{input:"\\acute", tag:"mover", output:"\u0317", ttype:UNARY, acc:true}, -//{input:"\\acute", tag:"mover", output:"\u0301", ttype:UNARY, acc:true}, -//{input:"\\grave", tag:"mover", output:"\u0300", ttype:UNARY, acc:true}, -//{input:"\\grave", tag:"mover", output:"\u0316", ttype:UNARY, acc:true}, -{input:"\\grave", tag:"mover", output:"\u0060", ttype:UNARY, acc:true}, -{input:"\\breve", tag:"mover", output:"\u02D8", ttype:UNARY, acc:true}, -{input:"\\check", tag:"mover", output:"\u02C7", ttype:UNARY, acc:true}, -{input:"\\dot", tag:"mover", output:".", ttype:UNARY, acc:true}, -{input:"\\ddot", tag:"mover", output:"..", ttype:UNARY, acc:true}, -//{input:"\\ddot", tag:"mover", output:"\u00A8", ttype:UNARY, acc:true}, -{input:"\\mathring", tag:"mover", output:"\u00B0", ttype:UNARY, acc:true}, -{input:"\\vec", tag:"mover", output:"\u20D7", ttype:UNARY, acc:true}, -{input:"\\overrightarrow",tag:"mover",output:"\u20D7", ttype:UNARY, acc:true}, -{input:"\\overleftarrow",tag:"mover", output:"\u20D6", ttype:UNARY, acc:true}, -{input:"\\hat", tag:"mover", output:"\u005E", ttype:UNARY, acc:true}, -{input:"\\widehat", tag:"mover", output:"\u0302", ttype:UNARY, acc:true}, -{input:"\\tilde", tag:"mover", output:"~", ttype:UNARY, acc:true}, -//{input:"\\tilde", tag:"mover", output:"\u0303", ttype:UNARY, acc:true}, -{input:"\\widetilde", tag:"mover", output:"\u02DC", ttype:UNARY, acc:true}, -{input:"\\bar", tag:"mover", output:"\u203E", ttype:UNARY, acc:true}, -{input:"\\overbrace", tag:"mover", output:"\u23B4", ttype:UNARY, acc:true}, -{input:"\\overline", tag:"mover", output:"\u00AF", ttype:UNARY, acc:true}, -{input:"\\underbrace", tag:"munder", output:"\u23B5", ttype:UNARY, acc:true}, -{input:"\\underline", tag:"munder", output:"\u00AF", ttype:UNARY, acc:true}, -//{input:"underline", tag:"munder", output:"\u0332", ttype:UNARY, acc:true}, - -//typestyles and fonts -{input:"\\displaystyle",tag:"mstyle",atname:"displaystyle",atval:"true", ttype:UNARY}, -{input:"\\textstyle",tag:"mstyle",atname:"displaystyle",atval:"false", ttype:UNARY}, -{input:"\\scriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"1", ttype:UNARY}, -{input:"\\scriptscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"2", ttype:UNARY}, -{input:"\\textrm", tag:"mstyle", output:"\\mathrm", ttype: DEFINITION}, -{input:"\\mathbf", tag:"mstyle", atname:"mathvariant", atval:"bold", ttype:UNARY}, -{input:"\\textbf", tag:"mstyle", atname:"mathvariant", atval:"bold", ttype:UNARY}, -{input:"\\mathit", tag:"mstyle", atname:"mathvariant", atval:"italic", ttype:UNARY}, -{input:"\\textit", tag:"mstyle", atname:"mathvariant", atval:"italic", ttype:UNARY}, -{input:"\\mathtt", tag:"mstyle", atname:"mathvariant", atval:"monospace", ttype:UNARY}, -{input:"\\texttt", tag:"mstyle", atname:"mathvariant", atval:"monospace", ttype:UNARY}, -{input:"\\mathsf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", ttype:UNARY}, -{input:"\\mathbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", ttype:UNARY, codes:AMbbb}, -{input:"\\mathcal",tag:"mstyle", atname:"mathvariant", atval:"script", ttype:UNARY, codes:AMcal}, -{input:"\\mathfrak",tag:"mstyle",atname:"mathvariant", atval:"fraktur",ttype:UNARY, codes:AMfrk} -]; - -var LMnames = []; //list of input symbols - -function LMremoveCharsAndBlanks(str,n) { -//remove n characters and any following blanks - var st; - st = str.slice(n); - for (var i=0; i=LMnames[k]; - } - LMpreviousSymbol=LMcurrentSymbol; - if (match!=""){ - LMcurrentSymbol=LMsymbols[mk].ttype; - return LMsymbols[mk]; - } - LMcurrentSymbol=CONST; - k = 1; - st = str.slice(0,1); //take 1 character - if ("0"<=st && st<="9") tagst = "mn"; - else tagst = (("A">st || st>"Z") && ("a">st || st>"z")?"mo":"mi"); -/* -// Commented out by DRW (not fully understood, but probably to do with -// use of "/" as an INFIX version of "\\frac", which we don't want): -//} -//if (st=="-" && LMpreviousSymbol==INFIX) { -// LMcurrentSymbol = INFIX; //trick "/" into recognizing "-" on second parse -// return {input:st, tag:tagst, output:st, ttype:UNARY, func:true}; -//} -*/ - return {input:st, tag:tagst, output:st, ttype:CONST}; -} - - -/*Parsing ASCII math expressions with the following grammar -v ::= [A-Za-z] | greek letters | numbers | other constant symbols -u ::= sqrt | text | bb | other unary symbols for font commands -b ::= frac | root | stackrel binary symbols -l ::= { | \left left brackets -r ::= } | \right right brackets -S ::= v | lEr | uS | bSS Simple expression -I ::= S_S | S^S | S_S^S | S Intermediate expression -E ::= IE | I/I Expression -Each terminal symbol is translated into a corresponding mathml node.*/ - -var LMpreviousSymbol,LMcurrentSymbol; - -function LMparseSexpr(str) { //parses str and returns [node,tailstr,(node)tag] - var symbol, node, result, result2, i, st,// rightvert = false, - newFrag = document.createDocumentFragment(); - str = LMremoveCharsAndBlanks(str,0); - symbol = LMgetSymbol(str); //either a token or a bracket or empty - if (symbol == null || symbol.ttype == RIGHTBRACKET) - return [null,str,null]; - if (symbol.ttype == DEFINITION) { - str = symbol.output+LMremoveCharsAndBlanks(str,symbol.input.length); - symbol = LMgetSymbol(str); - if (symbol == null || symbol.ttype == RIGHTBRACKET) - return [null,str,null]; - } - str = LMremoveCharsAndBlanks(str,symbol.input.length); - switch (symbol.ttype) { - case SPACE: - node = createMmlNode(symbol.tag); - node.setAttribute(symbol.atname,symbol.atval); - return [node,str,symbol.tag]; - case UNDEROVER: - if (isIE) { - if (symbol.input.substr(0,4) == "\\big") { // botch for missing symbols - str = "\\"+symbol.input.substr(4)+str; // make \bigcup = \cup etc. - symbol = LMgetSymbol(str); - symbol.ttype = UNDEROVER; - str = LMremoveCharsAndBlanks(str,symbol.input.length); - } - } - return [createMmlNode(symbol.tag, - document.createTextNode(symbol.output)),str,symbol.tag]; - case CONST: - var output = symbol.output; - if (isIE) { - if (symbol.input == "'") - output = "\u2032"; - else if (symbol.input == "''") - output = "\u2033"; - else if (symbol.input == "'''") - output = "\u2033\u2032"; - else if (symbol.input == "''''") - output = "\u2033\u2033"; - else if (symbol.input == "\\square") - output = "\u25A1"; // same as \Box - else if (symbol.input.substr(0,5) == "\\frac") { - // botch for missing fractions - var denom = symbol.input.substr(6,1); - if (denom == "5" || denom == "6") { - str = symbol.input.replace(/\\frac/,"\\frac ")+str; - return [node,str,symbol.tag]; - } - } - } - node = createMmlNode(symbol.tag,document.createTextNode(output)); - return [node,str,symbol.tag]; - case LONG: // added by DRW - node = createMmlNode(symbol.tag,document.createTextNode(symbol.output)); - node.setAttribute("minsize","1.5"); - node.setAttribute("maxsize","1.5"); - node = createMmlNode("mover",node); - node.appendChild(createMmlNode("mspace")); - return [node,str,symbol.tag]; - case STRETCHY: // added by DRW - if (isIE && symbol.input == "\\backslash") - symbol.output = "\\"; // doesn't expand, but then nor does "\u2216" - node = createMmlNode(symbol.tag,document.createTextNode(symbol.output)); - if (symbol.input == "|" || symbol.input == "\\vert" || - symbol.input == "\\|" || symbol.input == "\\Vert") { - node.setAttribute("lspace","0em"); - node.setAttribute("rspace","0em"); - } - node.setAttribute("maxsize",symbol.atval); // don't allow to stretch here - if (symbol.rtag != null) - return [node,str,symbol.rtag]; - else - return [node,str,symbol.tag]; - case BIG: // added by DRW - var atval = symbol.atval; - if (isIE) - atval = symbol.ieval; - symbol = LMgetSymbol(str); - if (symbol == null) - return [null,str,null]; - str = LMremoveCharsAndBlanks(str,symbol.input.length); - node = createMmlNode(symbol.tag,document.createTextNode(symbol.output)); - if (isIE) { // to get brackets to expand - var space = createMmlNode("mspace"); - space.setAttribute("height",atval+"ex"); - node = createMmlNode("mrow",node); - node.appendChild(space); - } else { // ignored in IE - node.setAttribute("minsize",atval); - node.setAttribute("maxsize",atval); - } - return [node,str,symbol.tag]; - case LEFTBRACKET: //read (expr+) - if (symbol.input == "\\left") { // left what? - symbol = LMgetSymbol(str); - if (symbol != null) { - if (symbol.input == ".") - symbol.invisible = true; - str = LMremoveCharsAndBlanks(str,symbol.input.length); - } - } - result = LMparseExpr(str,true,false); - if (symbol==null || - (typeof symbol.invisible == "boolean" && symbol.invisible)) - node = createMmlNode("mrow",result[0]); - else { - node = createMmlNode("mo",document.createTextNode(symbol.output)); - node = createMmlNode("mrow",node); - node.appendChild(result[0]); - } - return [node,result[1],result[2]]; - case MATRIX: //read (expr+) - if (symbol.input == "\\begin{array}") { - var mask = ""; - symbol = LMgetSymbol(str); - str = LMremoveCharsAndBlanks(str,0); - if (symbol == null) - mask = "l"; - else { - str = LMremoveCharsAndBlanks(str,symbol.input.length); - if (symbol.input != "{") - mask = "l"; - else do { - symbol = LMgetSymbol(str); - if (symbol != null) { - str = LMremoveCharsAndBlanks(str,symbol.input.length); - if (symbol.input != "}") - mask = mask+symbol.input; - } - } while (symbol != null && symbol.input != "" && symbol.input != "}"); - } - result = LMparseExpr("{"+str,true,true); -// if (result[0]==null) return [createMmlNode("mo", -// document.createTextNode(symbol.input)),str]; - node = createMmlNode("mtable",result[0]); - mask = mask.replace(/l/g,"left "); - mask = mask.replace(/r/g,"right "); - mask = mask.replace(/c/g,"center "); - node.setAttribute("columnalign",mask); - node.setAttribute("displaystyle","false"); - if (isIE) - return [node,result[1],null]; -// trying to get a *little* bit of space around the array -// (IE already includes it) - var lspace = createMmlNode("mspace"); - lspace.setAttribute("width","0.167em"); - var rspace = createMmlNode("mspace"); - rspace.setAttribute("width","0.167em"); - var node1 = createMmlNode("mrow",lspace); - node1.appendChild(node); - node1.appendChild(rspace); - return [node1,result[1],null]; - } else { // eqnarray - result = LMparseExpr("{"+str,true,true); - node = createMmlNode("mtable",result[0]); - if (isIE) - node.setAttribute("columnspacing","0.25em"); // best in practice? - else - node.setAttribute("columnspacing","0.167em"); // correct (but ignored?) - node.setAttribute("columnalign","right center left"); - node.setAttribute("displaystyle","true"); - node = createMmlNode("mrow",node); - return [node,result[1],null]; - } - case TEXT: - if (str.charAt(0)=="{") i=str.indexOf("}"); - else i = 0; - if (i==-1) - i = str.length; - st = str.slice(1,i); - if (st.charAt(0) == " ") { - node = createMmlNode("mspace"); - node.setAttribute("width","0.33em"); // was 1ex - newFrag.appendChild(node); - } - newFrag.appendChild( - createMmlNode(symbol.tag,document.createTextNode(st))); - if (st.charAt(st.length-1) == " ") { - node = createMmlNode("mspace"); - node.setAttribute("width","0.33em"); // was 1ex - newFrag.appendChild(node); - } - str = LMremoveCharsAndBlanks(str,i+1); - return [createMmlNode("mrow",newFrag),str,null]; - case UNARY: - result = LMparseSexpr(str); - if (result[0]==null) return [createMmlNode(symbol.tag, - document.createTextNode(symbol.output)),str]; - if (typeof symbol.func == "boolean" && symbol.func) { // functions hack - st = str.charAt(0); -// if (st=="^" || st=="_" || st=="/" || st=="|" || st==",") { - if (st=="^" || st=="_" || st==",") { - return [createMmlNode(symbol.tag, - document.createTextNode(symbol.output)),str,symbol.tag]; - } else { - node = createMmlNode("mrow", - createMmlNode(symbol.tag,document.createTextNode(symbol.output))); - if (isIE) { - var space = createMmlNode("mspace"); - space.setAttribute("width","0.167em"); - node.appendChild(space); - } - node.appendChild(result[0]); - return [node,result[1],symbol.tag]; - } - } - if (symbol.input == "\\sqrt") { // sqrt - if (isIE) { // set minsize, for \surd - var space = createMmlNode("mspace"); - space.setAttribute("height","1.2ex"); - space.setAttribute("width","0em"); // probably no effect - node = createMmlNode(symbol.tag,result[0]) -// node.setAttribute("minsize","1"); // ignored -// node = createMmlNode("mrow",node); // hopefully unnecessary - node.appendChild(space); - return [node,result[1],symbol.tag]; - } else - return [createMmlNode(symbol.tag,result[0]),result[1],symbol.tag]; - } else if (typeof symbol.acc == "boolean" && symbol.acc) { // accent - node = createMmlNode(symbol.tag,result[0]); - var output = symbol.output; - if (isIE) { - if (symbol.input == "\\hat") - output = "\u0302"; - else if (symbol.input == "\\widehat") - output = "\u005E"; - else if (symbol.input == "\\bar") - output = "\u00AF"; - else if (symbol.input == "\\grave") - output = "\u0300"; - else if (symbol.input == "\\tilde") - output = "\u0303"; - } - var node1 = createMmlNode("mo",document.createTextNode(output)); - if (symbol.input == "\\vec" || symbol.input == "\\check") - // don't allow to stretch - node1.setAttribute("maxsize","1.2"); - // why doesn't "1" work? \vec nearly disappears in firefox - if (isIE && symbol.input == "\\bar") - node1.setAttribute("maxsize","0.5"); - if (symbol.input == "\\underbrace" || symbol.input == "\\underline") - node1.setAttribute("accentunder","true"); - else - node1.setAttribute("accent","true"); - node.appendChild(node1); - if (symbol.input == "\\overbrace" || symbol.input == "\\underbrace") - node.ttype = UNDEROVER; - return [node,result[1],symbol.tag]; - } else { // font change or displaystyle command - if (!isIE && typeof symbol.codes != "undefined") { - for (i=0; i64 && st.charCodeAt(j)<91) newst = newst + - String.fromCharCode(symbol.codes[st.charCodeAt(j)-65]); - else newst = newst + st.charAt(j); - if (result[0].nodeName=="mi") - result[0]=createMmlNode("mo"). - appendChild(document.createTextNode(newst)); - else result[0].replaceChild(createMmlNode("mo"). - appendChild(document.createTextNode(newst)),result[0].childNodes[i]); - } - } - node = createMmlNode(symbol.tag,result[0]); - node.setAttribute(symbol.atname,symbol.atval); - if (symbol.input == "\\scriptstyle" || - symbol.input == "\\scriptscriptstyle") - node.setAttribute("displaystyle","false"); - return [node,result[1],symbol.tag]; - } - case BINARY: - result = LMparseSexpr(str); - if (result[0]==null) return [createMmlNode("mo", - document.createTextNode(symbol.input)),str,null]; - result2 = LMparseSexpr(result[1]); - if (result2[0]==null) return [createMmlNode("mo", - document.createTextNode(symbol.input)),str,null]; - if (symbol.input=="\\root" || symbol.input=="\\stackrel") - newFrag.appendChild(result2[0]); - newFrag.appendChild(result[0]); - if (symbol.input=="\\frac") newFrag.appendChild(result2[0]); - return [createMmlNode(symbol.tag,newFrag),result2[1],symbol.tag]; - case INFIX: - str = LMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode("mo",document.createTextNode(symbol.output)), - str,symbol.tag]; - default: - return [createMmlNode(symbol.tag, //its a constant - document.createTextNode(symbol.output)),str,symbol.tag]; - } -} - -function LMparseIexpr(str) { - var symbol, sym1, sym2, node, result, tag, underover; - str = LMremoveCharsAndBlanks(str,0); - sym1 = LMgetSymbol(str); - result = LMparseSexpr(str); - node = result[0]; - str = result[1]; - tag = result[2]; - symbol = LMgetSymbol(str); - if (symbol.ttype == INFIX) { - str = LMremoveCharsAndBlanks(str,symbol.input.length); - result = LMparseSexpr(str); - if (result[0] == null) // show box in place of missing argument - result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); - str = result[1]; - tag = result[2]; - if (symbol.input == "_" || symbol.input == "^") { - sym2 = LMgetSymbol(str); - tag = null; // no space between x^2 and a following sin, cos, etc. -// This is for \underbrace and \overbrace - underover = ((sym1.ttype == UNDEROVER) || (node.ttype == UNDEROVER)); -// underover = (sym1.ttype == UNDEROVER); - if (symbol.input == "_" && sym2.input == "^") { - str = LMremoveCharsAndBlanks(str,sym2.input.length); - var res2 = LMparseSexpr(str); - str = res2[1]; - tag = res2[2]; // leave space between x_1^2 and a following sin etc. - node = createMmlNode((underover?"munderover":"msubsup"),node); - node.appendChild(result[0]); - node.appendChild(res2[0]); - } else if (symbol.input == "_") { - node = createMmlNode((underover?"munder":"msub"),node); - node.appendChild(result[0]); - } else { - node = createMmlNode((underover?"mover":"msup"),node); - node.appendChild(result[0]); - } - node = createMmlNode("mrow",node); // so sum does not stretch - } else { - node = createMmlNode(symbol.tag,node); - if (symbol.input == "\\atop" || symbol.input == "\\choose") - node.setAttribute("linethickness","0ex"); - node.appendChild(result[0]); - if (symbol.input == "\\choose") - node = createMmlNode("mfenced",node); - } - } - return [node,str,tag]; -} - -function LMparseExpr(str,rightbracket,matrix) { - var symbol, node, result, i, tag, - newFrag = document.createDocumentFragment(); - do { - str = LMremoveCharsAndBlanks(str,0); - result = LMparseIexpr(str); - node = result[0]; - str = result[1]; - tag = result[2]; - symbol = LMgetSymbol(str); - if (node!=undefined) { - if ((tag == "mn" || tag == "mi") && symbol!=null && - typeof symbol.func == "boolean" && symbol.func) { - // Add space before \sin in 2\sin x or x\sin x - var space = createMmlNode("mspace"); - space.setAttribute("width","0.167em"); - node = createMmlNode("mrow",node); - node.appendChild(space); - } - newFrag.appendChild(node); - } - } while ((symbol.ttype != RIGHTBRACKET) - && symbol!=null && symbol.output!=""); - tag = null; - if (symbol.ttype == RIGHTBRACKET) { - if (symbol.input == "\\right") { // right what? - str = LMremoveCharsAndBlanks(str,symbol.input.length); - symbol = LMgetSymbol(str); - if (symbol != null && symbol.input == ".") - symbol.invisible = true; - if (symbol != null) - tag = symbol.rtag; - } - if (symbol!=null) - str = LMremoveCharsAndBlanks(str,symbol.input.length); // ready to return - var len = newFrag.childNodes.length; - if (matrix && - len>0 && newFrag.childNodes[len-1].nodeName == "mrow" && len>1 && - newFrag.childNodes[len-2].nodeName == "mo" && - newFrag.childNodes[len-2].firstChild.nodeValue == "&") { //matrix - var pos = []; // positions of ampersands - var m = newFrag.childNodes.length; - for (i=0; matrix && i -&-&...&-&- - n = node.childNodes.length; - k = 0; - for (j=0; j2) { - newFrag.removeChild(newFrag.firstChild); //remove - newFrag.removeChild(newFrag.firstChild); //remove & - } - table.appendChild(createMmlNode("mtr",row)); - } - return [table,str]; - } - if (typeof symbol.invisible != "boolean" || !symbol.invisible) { - node = createMmlNode("mo",document.createTextNode(symbol.output)); - newFrag.appendChild(node); - } - } - return [newFrag,str,tag]; -} - -var tcnt = 0, dcnt = 0; //theorem and definition counters - -function simpleLaTeXformatting(st) { - st = st.replace(/\$\$((.|\n)*?)\$\$/g,"

$\\displaystyle{$1}$

"); - st = st.replace(/\\begin{(theorem|lemma|proposition|corollary)}((.|\n)*?)\\end{\1}/g,function(r,s,t){tcnt++; return ""+s.charAt(0).toUpperCase()+s.slice(1)+" "+tcnt+". "+t.replace(/^\s*<\/?\w+\/?>|\s*<\/?\w+\/?>$/g,"")+""}); - st = st.replace(/\\begin{(definition|example|remark|problem|exercise|conjecture|solution)}((.|\n)*?)\\end{\1}/g,function(r,s,t){dcnt++; return ""+s.charAt(0).toUpperCase()+s.slice(1)+" "+dcnt+". "+t.replace(/^\s*<\/?\w+\/?>|\s*<\/?\w+\/?>$/g,"")}); - st = st.replace(/\\begin{proof}((.|\n)*?)\\end{proof}/g,function(s,t){return "Proof: "+t.replace(/^\s*<\/?\w+\/?>|\s*<\/?\w+\/?>$/g,"")+" □"}); - st = st.replace(/\\emph{(.*?)}/g,"$1"); - st = st.replace(/\\textbf{(.*?)}/g,"$1"); - st = st.replace(/\\cite{(.*?)}/g,"[$1]"); - st = st.replace(/\\chapter{(.*?)}/g,"

$1

"); - st = st.replace(/\\section{(.*?)}(\s*<\/?(br|p)\s?\/?>)?/g,"

$1

"); - st = st.replace(/\\subsection{((.|\n)*?)}/g,"

$1

"); - st = st.replace(/\\begin{itemize}(\s*<\/?(br|p)\s?\/?>)?/g,"
    "); - st = st.replace(/\\item\s((.|\n)*?)(?=(\\item|\\end))/g,"
  • $1
  • "); - st = st.replace(/\\end{itemize}(\s*<\/?(br|p)\s?\/?>)?/g,"
"); - st = st.replace(/\\begin{enumerate}(\s*<\/?(br|p)\s?\/?>)?/g,"
    "); - st = st.replace(/\\end{enumerate}(\s*<\/?(br|p)\s?\/?>)?/g,"
"); - st = st.replace(/\\item\[(.*?)]{(.*?)}/g,"
$1
$2
"); - st = st.replace(/\\begin{description}/g,"
"); - st = st.replace(/\\end{description}/g,"
"); - st = st.replace(/\\newline\b/g,"
"); - st = st.replace(/\\newpage\b/g,"
"); - st = st.replace(/\\par\b/g,"

 

"); - st = st.replace(/\\bigskip/g,"

 

"); - st = st.replace(/\\medskip/g,"

 

"); - st = st.replace(/\\smallskip/g,"

 

"); - st = st.replace(/\\begin{center}((.|\n)*?)\\end{center}/g,"
$1
"); - return st -} - -function ASCIIandgraphformatting(st) { - st = st.replace(/(.*?)<\/sup>(\s|(\S))/gi,"^{$1} $3"); -//st = st.replace(/<\/?font.*?>/gi,""); // do this only in amath...endamath - st = st.replace(/(Proof:)/g,"$1"); - st = st.replace(/QED/g,"    □"); - st = st.replace(/(\\?end{?a?math}?)/ig,"$1"); - st = st.replace(/(\bamath\b|\\begin{a?math})/ig,"$1"); - st = st.replace(/([>\n])(Theorem|Lemma|Proposition|Corollary|Definition|Example|Remark|Problem|Exercise|Conjecture|Solution)(:|\W\W?(\w|\s|-|\.)*?\W?:)/g,"$1$2$3"); - st = st.replace(/
/gi,"\n")+"\'/>
"}); - st = st.replace(/insertASCIIMathCalculator/g,"
"); -//alert(dsvglocation) - return st -} - -function LMprocessNode(n) { - var frag,st; - try { - st = n.innerHTML; - } catch(err) {} - var am = /amath\b|graph/i.test(st); - if ((st==null || st.indexOf("\$ ")!=-1 || st.indexOf("\$<")!=-1 || - st.indexOf("\\begin")!=-1 || am || st.slice(-1)=="$" || - st.indexOf("\$\n")!=-1)&& !/edit-content|HTMLArea|wikiedit|wpTextbox1/.test(st)){ - if (!avoidinnerHTML && translateLaTeXformatting) - st = simpleLaTeXformatting(st); - if (st!=null && am && !avoidinnerHTML) { - st = ASCIIandgraphformatting(st); - } - st = st.replace(/%7E/g,"~"); // else PmWiki has url issues -//alert(st) - if (!avoidinnerHTML) n.innerHTML = st; - processNodeR(n,false,true); - } -/* if (isIE) { //needed to match size and font of formula to surrounding text - frag = document.getElementsByTagName('math'); - for (var i=0;i|o|* - -// global values used for all pictures (you can change these) -var showcoordinates = true; -var markerstrokewidth = "1"; -var markerstroke = "black"; -var markerfill = "yellow"; -var markersize = 4; -var arrowfill = stroke; -var dotradius = 4; -var ticklength = 4; -var axesstroke = "black"; -var gridstroke = "grey"; -var backgroundstyle = "fill-opacity:1; fill:white"; -var singlelettersitalic = true; - -// internal variables (probably no need to change these) -var picturepos = null; // position of picture relative to top of HTML page -var xunitlength; // in pixels, used to convert to user coordinates -var yunitlength; // in pixels -var origin = [0,0]; // in pixels (default is bottom left corner) -var above = "above"; // shorthands (to avoid typing quotes) -var below = "below"; -var left = "left"; -var right = "right"; -var aboveleft = "aboveleft"; -var aboveright = "aboveright"; -var belowleft = "belowleft"; -var belowright = "belowright"; -var xmin, xmax, ymin, ymax, xscl, yscl, - xgrid, ygrid, xtick, ytick, initialized; -var strokewidth, strokedasharray, stroke, fill, strokeopacity, fillopacity; -var fontstyle, fontfamily, fontsize, fontweight, fontstroke, fontfill; -var marker, endpoints, dynamic = {}; -var picture, svgpicture, doc, width, height; -var isIE = document.createElementNS==null; - -var cpi = "\u03C0", ctheta = "\u03B8"; // character for pi, theta -var log = function(x) { return ln(x)/ln(10) }; -var pi = Math.PI, e = Math.E, ln = Math.log, sqrt = Math.sqrt; -var floor = Math.floor, ceil = Math.ceil, abs = Math.abs; -var sin = Math.sin, cos = Math.cos, tan = Math.tan; -var arcsin = Math.asin, arccos = Math.acos, arctan = Math.atan; -var sec = function(x) { return 1/Math.cos(x) }; -var csc = function(x) { return 1/Math.sin(x) }; -var cot = function(x) { return 1/Math.tan(x) }; -var arcsec = function(x) { return arccos(1/x) }; -var arccsc = function(x) { return arcsin(1/x) }; -var arccot = function(x) { return arctan(1/x) }; -var sinh = function(x) { return (Math.exp(x)-Math.exp(-x))/2 }; -var cosh = function(x) { return (Math.exp(x)+Math.exp(-x))/2 }; -var tanh = - function(x) { return (Math.exp(x)-Math.exp(-x))/(Math.exp(x)+Math.exp(-x)) }; -var sech = function(x) { return 1/cosh(x) }; -var csch = function(x) { return 1/sinh(x) }; -var coth = function(x) { return 1/tanh(x) }; -var arcsinh = function(x) { return ln(x+Math.sqrt(x*x+1)) }; -var arccosh = function(x) { return ln(x+Math.sqrt(x*x-1)) }; -var arctanh = function(x) { return ln((1+x)/(1-x))/2 }; -var sech = function(x) { return 1/cosh(x) }; -var csch = function(x) { return 1/sinh(x) }; -var coth = function(x) { return 1/tanh(x) }; -var arcsech = function(x) { return arccosh(1/x) }; -var arccsch = function(x) { return arcsinh(1/x) }; -var arccoth = function(x) { return arctanh(1/x) }; -var sign = function(x) { return (x==0?0:(x<0?-1:1)) }; - -function factorial(x,n) { // Factorial function - if (n==null) n=1; - if (Math.abs(x-Math.round(x*1000000)/1000000)<1e-15) - x = Math.round(x*1000000)/1000000; - if (x-Math.floor(x)!=0) return NaN; - for (var i=x-n; i>0; i-=n) x*=i; - return (x<0?NaN:(x==0?1:x)); -} - -function C(x,k) { // Binomial coefficient function - var res=1; - for (var i=0; i 2*x - src = src.replace(/([0-9])([a-df-zA-Z]|e^)/g,"$1*$2"); - src = src.replace(/\)([\(0-9a-zA-Z])/g,"\)*$1"); - - try { - with (Math) eval(src); // here the svgpicture object is created - } catch(err) { - if (err!="wait") { -//alert(dsvglocation) - if (typeof err=="object") - errstr = err.name+" "+err.message+" "+err.number+" "+err.description; - else errstr = err; - alert(errstr+"\n"+src) - } - } -} - -var lastSlot = 0; - -function drawPictures() { // main routine; called after webpage has loaded - var src, id, dsvg, nd, node, ht, index, cols, arr, i, node2; - var ASbody = document.getElementsByTagName("body")[0]; - pictures = getElementsByClass(ASbody,"embed","ASCIIsvg"); - var len = pictures.length; - if(len==0) return; - for (index = lastSlot; index < len+lastSlot; index++) { - width = null; height = null; - xmin = null; xmax = null; ymin = null; ymax = null; - xscl = null; xgrid = null; yscl = null; ygrid = null; - initialized = false; - picture = pictures[index-lastSlot]; // current picture object - src = picture.getAttribute("script"); // get the ASCIIsvg code - if (src==null) src = ""; - // insert "axes()" if not present ******** experimental - if (!/axes\b|initPicture/.test(src)) { - var i = 0; - while (/((yscl|ymax|ymin|xscl|xmax|xmin|\bwidth|\bheight)\s*=\s*-?\d*(\d\.|\.\d|\d)\d*\s*;?)/.test(src.slice(i))) i++; - src = (i==0?"axes(); "+src: src.slice(0,i)+src.slice(i).replace(/((scl|max|min|idth|eight)\s*=\s*-?\d*(\d\.|\.\d|\d)\d*\s*;?)/,"$1\naxes();")); - } - ht = picture.getAttribute("height"); - if (isIE) { - picture.setAttribute("wmode","transparent"); -//alert("*"+picture.getAttribute("src")+dsvglocation); -//adding d.svg dynamically greates problems in IE... -// if (picture.getAttribute("src")=="") picture.setAttribute("src",dsvglocation+"d.svg"); - } - if (document.getElementById("picture"+(index+1)+"mml")==null) { - picture.parentNode.style.position = "relative"; - node = createElementXHTML("div"); - node.style.position = "absolute"; - node.style.top = "0px"; - node.style.left = "0px"; - node.setAttribute("id","picture"+(index+1)+"mml"); - picture.parentNode.insertBefore(node,picture.nextSibling); - } - if (ht==null) ht =""; -// if (ht!="") defaultborder = 25; - if (ht=="" || src=="") - if (document.getElementById("picture"+(index+1)+"input")==null) { - node = createElementXHTML("textarea"); - arr = src.split("\n"); - cols = 0; - for (i=0;i= xmax) - alert("Picture requires at least two numbers: xmin < xmax"); - else if (y_max != null && (typeof y_min != "number" || - typeof y_max != "number" || y_min >= y_max)) - alert("initPicture(xmin,xmax,ymin,ymax) requires numbers ymin < ymax"); - else { - if (width==null) { - width = picture.getAttribute("width"); - if (width==null || width=="") width=defaultwidth; - } - picture.setAttribute("width",width); - if (height==null) { - height = picture.getAttribute("height"); - if (height==null || height=="") height=defaultheight; - } - picture.setAttribute("height",height); - xunitlength = (width-2*border)/(xmax-xmin); - yunitlength = xunitlength; -//alert(xmin+" "+xmax+" "+ymin+" "+ymax) - if (ymin==null) { - origin = [-xmin*xunitlength+border,height/2]; - ymin = -(height-2*border)/(2*yunitlength); - ymax = -ymin; - } else { - if (ymax!=null) yunitlength = (height-2*border)/(ymax-ymin); - else ymax = (height-2*border)/yunitlength + ymin; - origin = [-xmin*xunitlength+border,-ymin*yunitlength+border]; - } - if (isIE) { - if (picture.FULLSCREEN==undefined) { - setTimeout('drawPictures()',50); - throw "wait"; - } - svgpicture = picture.getSVGDocument().getElementById("root"); - if (svgpicture==null) { - setTimeout('drawPictures()',50); - throw "wait"; - } - svgpicture = picture.getSVGDocument().getElementById("root"); - while (svgpicture.childNodes.length>0) - svgpicture.removeChild(svgpicture.lastChild); - svgpicture.setAttribute("width",width); - svgpicture.setAttribute("height",height); - svgpicture.setAttribute("name",picture.getAttribute("id")); - doc = picture.getSVGDocument(); - } else { - var qnode = document.createElementNS("http://www.w3.org/2000/svg","svg"); - qnode.setAttribute("id",picture.getAttribute("id")); - qnode.setAttribute("name",picture.getAttribute("id")); -// qnode.setAttribute("style","display:inline"); - qnode.setAttribute("width",picture.getAttribute("width")); - qnode.setAttribute("height",picture.getAttribute("height")); - picturepos = findPos(picture); -// qnode.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"); - if (picture.parentNode!=null) { - picture.parentNode.replaceChild(qnode,picture); - } else { - svgpicture.parentNode.replaceChild(qnode,svgpicture); - } - svgpicture = qnode; - doc = document; - } - var nd = document.getElementById(picture.getAttribute("id")+"mml"); - if (nd!=null) // clear out MathML layer - while (nd.childNodes.length>0) nd.removeChild(nd.lastChild); - svgpicture.setAttribute("xunitlength",xunitlength); - svgpicture.setAttribute("yunitlength",yunitlength); - svgpicture.setAttribute("xmin",xmin); - svgpicture.setAttribute("xmax",xmax); - svgpicture.setAttribute("ymin",ymin); - svgpicture.setAttribute("ymax",ymax); - svgpicture.setAttribute("ox",origin[0]); - svgpicture.setAttribute("oy",origin[1]); - var node = myCreateElementSVG("rect"); - node.setAttribute("x","0"); - node.setAttribute("y","0"); - node.setAttribute("width",width); - node.setAttribute("height",height); - node.setAttribute("style",backgroundstyle); - svgpicture.appendChild(node); - svgpicture.setAttribute("onmousemove","displayCoord(evt)"); - svgpicture.setAttribute("onmouseout","removeCoord(evt)"); - svgpicture.setAttribute("onclick","mClick(evt)"); - node = myCreateElementSVG("text"); // used for displayCoord - node.appendChild(doc.createTextNode(" ")); - node.setAttribute("id","coords"); - svgpicture.appendChild(node); - node = myCreateElementSVG("text"); // used for text display - node.appendChild(doc.createTextNode(" ")); - node.setAttribute("id","coords"); - svgpicture.appendChild(node); - border = defaultborder; - } - } -} - -//////////////////////////user graphics commands start///////////////////////// - -function line(p,q,id,endpts) { // segment connecting points p,q (coordinates in units) - var node; - if (id!=null) node = doc.getElementById(id); - if (node==null) { - node = myCreateElementSVG("path"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - } - node.setAttribute("d","M"+(p[0]*xunitlength+origin[0])+","+ - (height-p[1]*yunitlength-origin[1])+" "+ - (q[0]*xunitlength+origin[0])+","+(height-q[1]*yunitlength-origin[1])); - node.setAttribute("stroke-width", strokewidth); - if (strokedasharray!=null) - node.setAttribute("stroke-dasharray", strokedasharray); - node.setAttribute("stroke", stroke); - node.setAttribute("fill", fill); - node.setAttribute("stroke-opacity", strokeopacity); - node.setAttribute("fill-opacity", fillopacity); - if (marker=="dot" || marker=="arrowdot") { - ASdot(p,markersize,markerstroke,markerfill); - if (marker=="arrowdot") arrowhead(p,q); - ASdot(q,markersize,markerstroke,markerfill); - } else if (marker=="arrow") arrowhead(p,q); - if (endpts==null && endpoints!="") endpts = endpoints; - if (endpts!=null) { - if (endpts.indexOf("<-") != -1) arrowhead(q,p); - if (endpts.indexOf("o-") != -1) dot(p, "open"); - if (endpts.indexOf("*-") != -1) dot(p, "closed"); - if (endpts.indexOf("->") != -1) arrowhead(p,q); - if (endpts.indexOf("-o") != -1) dot(q, "open"); - if (endpts.indexOf("-*") != -1) dot(q, "closed"); - } -} - -function path(plist,id,c,endpts) { - if (c==null) c=""; - var node, st, i; - if (id!=null) node = doc.getElementById(id); - if (node==null) { - node = myCreateElementSVG("path"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - } - if (typeof plist == "string") st = plist; - else { - st = "M"; - st += (plist[0][0]*xunitlength+origin[0])+","+ - (height-plist[0][1]*yunitlength-origin[1])+" "+c; - for (i=1; i") != -1) arrowhead(plist[plist.length-2],plist[plist.length-1]); - if (endpts.indexOf("-o") != -1) dot(plist[plist.length-1], "open"); - if (endpts.indexOf("-*") != -1) dot(plist[plist.length-1], "closed"); - } -} - -function curve(plist,id,endpts) { - path(plist,id,"T",endpts); -} - -function vector(p,q,id) { - line(p,q,id,"","->"); -} - -function circle(center,radius,id) { // coordinates in units - var node; - if (id!=null) node = doc.getElementById(id); - if (node==null) { - node = myCreateElementSVG("circle"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - } - node.setAttribute("cx",center[0]*xunitlength+origin[0]); - node.setAttribute("cy",height-center[1]*yunitlength-origin[1]); - node.setAttribute("r",radius*xunitlength); - node.setAttribute("stroke-width", strokewidth); - node.setAttribute("stroke", stroke); - node.setAttribute("fill", fill); - node.setAttribute("stroke-opacity", strokeopacity); - node.setAttribute("fill-opacity", fillopacity); -} - -function loop(p,d,id) { -// d is a direction vector e.g. [1,0] means loop starts in that direction - if (d==null) d=[1,0]; - path([p,[p[0]+d[0],p[1]+d[1]],[p[0]-d[1],p[1]+d[0]],p],id,"C"); - if (marker=="arrow" || marker=="arrowdot") - arrowhead([p[0]+Math.cos(1.4)*d[0]-Math.sin(1.4)*d[1], - p[1]+Math.sin(1.4)*d[0]+Math.cos(1.4)*d[1]],p); -} - -function arc(start,end,radius,id,largearc) { // coordinates in units - var node, v; -//alert([fill, stroke, origin, xunitlength, yunitlength, height]) - if (id!=null) node = doc.getElementById(id); - if (largearc==null) largearc=0; - if (radius==null) { - v=[end[0]-start[0],end[1]-start[1]]; - radius = Math.sqrt(v[0]*v[0]+v[1]*v[1]); - } - if (node==null) { - node = myCreateElementSVG("path"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - } - node.setAttribute("d","M"+(start[0]*xunitlength+origin[0])+","+ - (height-start[1]*yunitlength-origin[1])+" A"+radius*xunitlength+","+ - radius*yunitlength+" 0 "+largearc+",0 "+(end[0]*xunitlength+origin[0])+","+ - (height-end[1]*yunitlength-origin[1])); - node.setAttribute("stroke-width", strokewidth); - node.setAttribute("stroke", stroke); - node.setAttribute("fill", fill); - node.setAttribute("stroke-opacity", strokeopacity); - node.setAttribute("fill-opacity", fillopacity); - if (marker=="arrow" || marker=="arrowdot") { - u = [(end[1]-start[1])/4,(start[0]-end[0])/4]; - v = [(end[0]-start[0])/2,(end[1]-start[1])/2]; -//alert([u,v]) - v = [start[0]+v[0]+u[0],start[1]+v[1]+u[1]]; - } else v=[start[0],start[1]]; - if (marker=="dot" || marker=="arrowdot") { - ASdot(start,markersize,markerstroke,markerfill); - if (marker=="arrowdot") arrowhead(v,end); - ASdot(end,markersize,markerstroke,markerfill); - } else if (marker=="arrow") arrowhead(v,end); -} - -function sector(center,start,end,id) { // center,start,end should be isoceles - var rx = start[0]-center[0], ry = start[1]-center[1]; - arc(start,end,Math.sqrt(rx*rx+ry*ry),id+"arc"); - path([end,center,start],id+"path"); -} - -function ellipse(center,rx,ry,id) { // coordinates in units - var node; - if (id!=null) node = doc.getElementById(id); - if (node==null) { - node = myCreateElementSVG("ellipse"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - } - node.setAttribute("cx",center[0]*xunitlength+origin[0]); - node.setAttribute("cy",height-center[1]*yunitlength-origin[1]); - node.setAttribute("rx",rx*xunitlength); - node.setAttribute("ry",ry*yunitlength); - node.setAttribute("stroke-width", strokewidth); - node.setAttribute("stroke", stroke); - node.setAttribute("fill", fill); - node.setAttribute("stroke-opacity", strokeopacity); - node.setAttribute("fill-opacity", fillopacity); -} - -function triangle(p,q,r,id) { - path([p,q,r,p],id) -} - -function rect(p,q,id,rx,ry) { // opposite corners in units, rounded by radii - var node; - if (id!=null) node = doc.getElementById(id); - if (node==null) { - node = myCreateElementSVG("rect"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - } - node.setAttribute("x",p[0]*xunitlength+origin[0]); - node.setAttribute("y",height-q[1]*yunitlength-origin[1]); - node.setAttribute("width",(q[0]-p[0])*xunitlength); - node.setAttribute("height",(q[1]-p[1])*yunitlength); - if (rx!=null) node.setAttribute("rx",rx*xunitlength); - if (ry!=null) node.setAttribute("ry",ry*yunitlength); - node.setAttribute("stroke-width", strokewidth); - node.setAttribute("stroke", stroke); - node.setAttribute("fill", fill); - node.setAttribute("stroke-opacity", strokeopacity); - node.setAttribute("fill-opacity", fillopacity); -} - -function text(p,st,pos,id,fontsty) { - var dnode, node, dx = 0, dy = fontsize/3, str = st.toString(); - if (/(`|\$)/.test(str)) { // layer for ASCIIMathML and LaTeXMathML - dnode = document.getElementById(svgpicture.getAttribute("name")+"mml"); - if (dnode!=null) { - if (id!=null) node = document.getElementById(id); - if (node==null) { -//alert(dnode.childNodes.length) - node = createElementXHTML("div"); - node.setAttribute("id", id); - node.style.position = "absolute"; - dnode.appendChild(node); - } - while (node.childNodes.length>0) node.removeChild(node.lastChild); - node.appendChild(document.createTextNode(str)); - if (/`/.test(str)) AMprocessNode(node); else LMprocessNode(node); - dx = -node.offsetWidth/2; - dy = -node.offsetHeight/2; - if (pos!=null) { - if (/above/.test(pos)) dy = -node.offsetHeight; - if (/below/.test(pos)) dy = 0; - if (/right/.test(pos)) dx = 0; - if ( /left/.test(pos)) dx = -node.offsetWidth; - } - node.style.left = ""+(p[0]*xunitlength+origin[0]+dx)+"px"; - node.style.top = ""+(height-p[1]*yunitlength-origin[1]+dy)+"px"; - } - return p; - } - var textanchor = "middle"; // regular text goes into SVG - if (pos!=null) { - if (/above/.test(pos)) dy = -fontsize/2; - if (/below/.test(pos)) dy = fontsize-0; - if (/right/.test(pos)) {textanchor = "start"; dx = fontsize/4;} - if ( /left/.test(pos)) {textanchor = "end"; dx = -fontsize/4;} - } - if (id!=null) node = doc.getElementById(id); - if (node==null) { - node = myCreateElementSVG("text"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - node.appendChild(doc.createTextNode(str)); - } - while (node.childNodes.length>1) node.removeChild(node.lastChild); - node.lastChild.nodeValue = "\xA0"+str+"\xA0"; - node.setAttribute("x",p[0]*xunitlength+origin[0]+dx); - node.setAttribute("y",height-p[1]*yunitlength-origin[1]+dy); - node.setAttribute("font-style",(fontsty!=null?fontsty: - (str.search(/^[a-zA-Z]$/)!=-1?"italic":fontstyle))); - node.setAttribute("font-family",fontfamily); - node.setAttribute("font-size",fontsize); - node.setAttribute("font-weight",fontweight); - node.setAttribute("text-anchor",textanchor); - if (fontstroke!="none") node.setAttribute("stroke",fontstroke); - if (fontfill!="none") node.setAttribute("fill",fontfill); - return p; -} - -function mtext(p,st,pos,fontsty,fontsz) { // method for updating text on an svg -// "this" is the text object or the svgpicture object - var textanchor = "middle"; - var dx = 0; var dy = fontsize/3; - if (pos!=null) { - if (pos.slice(0,5)=="above") dy = -fontsize/2; - if (pos.slice(0,5)=="below") dy = fontsize-0; - if (pos.slice(0,5)=="right" || pos.slice(5,10)=="right") { - textanchor = "start"; - dx = fontsize/2; - } - if (pos.slice(0,4)=="left" || pos.slice(5,9)=="left") { - textanchor = "end"; - dx = -fontsize/2; - } - } - var node = this; - if (this.nodeName=="svg") { - node = myCreateElementSVG("text"); - this.appendChild(node); - node.appendChild(doc.createTextNode(st)); - } - node.lastChild.nodeValue = st; - node.setAttribute("x",p[0]+dx); - node.setAttribute("y",p[1]+dy); - node.setAttribute("font-style",(fontsty!=null?fontsty:fontstyle)); - node.setAttribute("font-family",fontfamily); - node.setAttribute("font-size",(fontsz!=null?fontsz:fontsize)); - node.setAttribute("font-weight",fontweight); - node.setAttribute("text-anchor",textanchor); - if (fontstroke!="none") node.setAttribute("stroke",fontstroke); - if (fontfill!="none") node.setAttribute("fill",fontfill); -} - -function image(imgurl,p,w,h,id) { // not working yet - var node; - if (id!=null) node = doc.getElementById(id); - if (node==null) { - node = myCreateElementSVG("image"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - } - node.setAttribute("x",p[0]*xunitlength+origin[0]); - node.setAttribute("y",height-p[1]*yunitlength-origin[1]); - node.setAttribute("width",w); - node.setAttribute("height",h); - node.setAttribute("xlink:href", imgurl); -} - -function ASdot(center,radius,s,f) { // coordinates in units, radius in pixel - if (s==null) s = stroke; if (f==null) f = fill; - var node = myCreateElementSVG("circle"); - node.setAttribute("cx",center[0]*xunitlength+origin[0]); - node.setAttribute("cy",height-center[1]*yunitlength-origin[1]); - node.setAttribute("r",radius); - node.setAttribute("stroke-width", strokewidth); - node.setAttribute("stroke", s); - node.setAttribute("fill", f); - svgpicture.appendChild(node); -} - -function dot(center, typ, label, pos, id) { - var node; - var cx = center[0]*xunitlength+origin[0]; - var cy = height-center[1]*yunitlength-origin[1]; - if (id!=null) node = doc.getElementById(id); - if (typ=="+" || typ=="-" || typ=="|") { - if (node==null) { - node = myCreateElementSVG("path"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - } - if (typ=="+") { - node.setAttribute("d", - " M "+(cx-ticklength)+" "+cy+" L "+(cx+ticklength)+" "+cy+ - " M "+cx+" "+(cy-ticklength)+" L "+cx+" "+(cy+ticklength)); - node.setAttribute("stroke-width", .5); - node.setAttribute("stroke", axesstroke); - } else { - if (typ=="-") node.setAttribute("d", - " M "+(cx-ticklength)+" "+cy+" L "+(cx+ticklength)+" "+cy); - else node.setAttribute("d", - " M "+cx+" "+(cy-ticklength)+" L "+cx+" "+(cy+ticklength)); - node.setAttribute("stroke-width", strokewidth); - node.setAttribute("stroke", stroke); - } - } else { - if (node==null) { - node = myCreateElementSVG("circle"); - node.setAttribute("id", id); - svgpicture.appendChild(node); - } - node.setAttribute("cx",cx); - node.setAttribute("cy",cy); - node.setAttribute("r",dotradius); - node.setAttribute("stroke-width", strokewidth); - node.setAttribute("stroke", stroke); - node.setAttribute("fill", (typ=="open"?"white": - (typ=="closed"?stroke:markerfill))); - } - if (label!=null) - text(center,label,(pos==null?"below":pos),(id==null?id:id+"label")) -} - -point = dot; //alternative name - -function arrowhead(p,q) { // draw arrowhead at q (in units) add size param - var up; - var v = [p[0]*xunitlength+origin[0],height-p[1]*yunitlength-origin[1]]; - var w = [q[0]*xunitlength+origin[0],height-q[1]*yunitlength-origin[1]]; - var u = [w[0]-v[0],w[1]-v[1]]; - var d = Math.sqrt(u[0]*u[0]+u[1]*u[1]); - if (d > 0.00000001) { - u = [u[0]/d, u[1]/d]; - up = [-u[1],u[0]]; - var node = myCreateElementSVG("path"); - node.setAttribute("d","M "+(w[0]-15*u[0]-4*up[0])+" "+ - (w[1]-15*u[1]-4*up[1])+" L "+(w[0]-3*u[0])+" "+(w[1]-3*u[1])+" L "+ - (w[0]-15*u[0]+4*up[0])+" "+(w[1]-15*u[1]+4*up[1])+" z"); - node.setAttribute("stroke-width", markerstrokewidth); - node.setAttribute("stroke", stroke); /*was markerstroke*/ - node.setAttribute("fill", stroke); /*was arrowfill*/ - node.setAttribute("stroke-opacity", strokeopacity); - node.setAttribute("fill-opacity", fillopacity); - svgpicture.appendChild(node); - } -} - -function chopZ(st) { - var k = st.indexOf("."); - if (k==-1) return st; - for (var i=st.length-1; i>k && st.charAt(i)=="0"; i--); - if (i==k) i--; - return st.slice(0,i+1); -} - -function grid(dx,dy) { // for backward compatibility - axes(dx,dy,null,dx,dy) -} - -function noaxes() { - if (!initialized) initPicture(); -} - -function axes(dx,dy,labels,gdx,gdy) { -//xscl=x is equivalent to xtick=x; xgrid=x; labels=true; - var x, y, ldx, ldy, lx, ly, lxp, lyp, pnode, st; - if (!initialized) initPicture(); - if (typeof dx=="string") { labels = dx; dx = null; } - if (typeof dy=="string") { gdx = dy; dy = null; } - if (xscl!=null) {dx = xscl; gdx = xscl; labels = dx} - if (yscl!=null) {dy = yscl; gdy = yscl} - if (xtick!=null) {dx = xtick} - if (ytick!=null) {dy = ytick} - dx = (dx==null?xunitlength:dx*xunitlength); - dy = (dy==null?dx:dy*yunitlength); - fontsize = Math.min(dx/2,dy/2,16); //alert(fontsize) - ticklength = fontsize/4; - if (xgrid!=null) gdx = xgrid; - if (ygrid!=null) gdy = ygrid; - if (gdx!=null) { - gdx = (typeof gdx=="string"?dx:gdx*xunitlength); - gdy = (gdy==null?dy:gdy*yunitlength); - pnode = myCreateElementSVG("path"); - st=""; - for (x = origin[0]; x0; x = x-gdx) - st += " M"+x+",0"+" "+x+","+height; - for (y = height-origin[1]; y0; y = y-gdy) - st += " M0,"+y+" "+width+","+y; - pnode.setAttribute("d",st); - pnode.setAttribute("stroke-width", .5); - pnode.setAttribute("stroke", gridstroke); - pnode.setAttribute("fill", fill); - svgpicture.appendChild(pnode); - } - pnode = myCreateElementSVG("path"); - st="M0,"+(height-origin[1])+" "+width+","+ - (height-origin[1])+" M"+origin[0]+",0 "+origin[0]+","+height; - for (x = origin[0]+dx; x0; x = x-dx) - st += " M"+x+","+(height-origin[1]+ticklength)+" "+x+","+ - (height-origin[1]-ticklength); - for (y = height-origin[1]+dy; y0; y = y-dy) - st += " M"+(origin[0]+ticklength)+","+y+" "+(origin[0]-ticklength)+","+y; - if (labels!=null) with (Math) { - ldx = dx/xunitlength; - ldy = dy/yunitlength; - lx = (xmin>0 || xmax<0?xmin:0); - ly = (ymin>0 || ymax<0?ymin:0); - lxp = (ly==0?"below":"above"); - lyp = (lx==0?"left":"right"); - var ddx = floor(1.1-log(ldx)/log(10))+1; - var ddy = floor(1.1-log(ldy)/log(10))+1; - for (x = ldx; x<=xmax; x = x+ldx) - text([x,ly],chopZ(x.toFixed(ddx)),lxp); - for (x = -ldx; xmin<=x; x = x-ldx) - text([x,ly],chopZ(x.toFixed(ddx)),lxp); - for (y = ldy; y<=ymax; y = y+ldy) - text([lx,y],chopZ(y.toFixed(ddy)),lyp); - for (y = -ldy; ymin<=y; y = y-ldy) - text([lx,y],chopZ(y.toFixed(ddy)),lyp); - } - fontsize = defaultfontsize; - pnode.setAttribute("d",st); - pnode.setAttribute("stroke-width", .5); - pnode.setAttribute("stroke", axesstroke); - pnode.setAttribute("fill", fill); - pnode.setAttribute("stroke-opacity", strokeopacity); - pnode.setAttribute("fill-opacity", fillopacity); - svgpicture.appendChild(pnode); -} - -function mathjs(st) { - //translate a math formula to js function notation - // a^b --> pow(a,b) - // na --> n*a - // (...)d --> (...)*d - // n! --> factorial(n) - // sin^-1 --> arcsin etc. - //while ^ in string, find term on left and right - //slice and concat new formula string - st = st.replace(/\s/g,""); - if (st.indexOf("^-1")!=-1) { - st = st.replace(/sin\^-1/g,"arcsin"); - st = st.replace(/cos\^-1/g,"arccos"); - st = st.replace(/tan\^-1/g,"arctan"); - st = st.replace(/sec\^-1/g,"arcsec"); - st = st.replace(/csc\^-1/g,"arccsc"); - st = st.replace(/cot\^-1/g,"arccot"); - st = st.replace(/sinh\^-1/g,"arcsinh"); - st = st.replace(/cosh\^-1/g,"arccosh"); - st = st.replace(/tanh\^-1/g,"arctanh"); - st = st.replace(/sech\^-1/g,"arcsech"); - st = st.replace(/csch\^-1/g,"arccsch"); - st = st.replace(/coth\^-1/g,"arccoth"); - } - st = st.replace(/^e$/g,"(Math.E)"); - st = st.replace(/^e([^a-zA-Z])/g,"(Math.E)$1"); - st = st.replace(/([^a-zA-Z])e/g,"$1(Math.E)"); -// st = st.replace(/([^a-zA-Z])e([^a-zA-Z])/g,"$1(Math.E)$2"); - st = st.replace(/([0-9])([\(a-zA-Z])/g,"$1*$2"); - st = st.replace(/\)([\(0-9a-zA-Z])/g,"\)*$1"); - var i,j,k, ch, nested; - while ((i=st.indexOf("^"))!=-1) { - //find left argument - if (i==0) return "Error: missing argument"; - j = i-1; - ch = st.charAt(j); - if (ch>="0" && ch<="9") {// look for (decimal) number - j--; - while (j>=0 && (ch=st.charAt(j))>="0" && ch<="9") j--; - if (ch==".") { - j--; - while (j>=0 && (ch=st.charAt(j))>="0" && ch<="9") j--; - } - } else if (ch==")") {// look for matching opening bracket and function name - nested = 1; - j--; - while (j>=0 && nested>0) { - ch = st.charAt(j); - if (ch=="(") nested--; - else if (ch==")") nested++; - j--; - } - while (j>=0 && (ch=st.charAt(j))>="a" && ch<="z" || ch>="A" && ch<="Z") - j--; - } else if (ch>="a" && ch<="z" || ch>="A" && ch<="Z") {// look for variable - j--; - while (j>=0 && (ch=st.charAt(j))>="a" && ch<="z" || ch>="A" && ch<="Z") - j--; - } else { - return "Error: incorrect syntax in "+st+" at position "+j; - } - //find right argument - if (i==st.length-1) return "Error: missing argument"; - k = i+1; - ch = st.charAt(k); - if (ch>="0" && ch<="9" || ch=="-") {// look for signed (decimal) number - k++; - while (k="0" && ch<="9") k++; - if (ch==".") { - k++; - while (k="0" && ch<="9") k++; - } - } else if (ch=="(") {// look for matching closing bracket and function name - nested = 1; - k++; - while (k0) { - ch = st.charAt(k); - if (ch=="(") nested++; - else if (ch==")") nested--; - k++; - } - } else if (ch>="a" && ch<="z" || ch>="A" && ch<="Z") {// look for variable - k++; - while (k="a" && ch<="z" || - ch>="A" && ch<="Z") k++; - } else { - return "Error: incorrect syntax in "+st+" at position "+k; - } - st = st.slice(0,j+1)+"Math.pow("+st.slice(j+1,i)+","+st.slice(i+1,k)+")"+ - st.slice(k); - } - while ((i=st.indexOf("!"))!=-1) { - //find left argument - if (i==0) return "Error: missing argument"; - j = i-1; - ch = st.charAt(j); - if (ch>="0" && ch<="9") {// look for (decimal) number - j--; - while (j>=0 && (ch=st.charAt(j))>="0" && ch<="9") j--; - if (ch==".") { - j--; - while (j>=0 && (ch=st.charAt(j))>="0" && ch<="9") j--; - } - } else if (ch==")") {// look for matching opening bracket and function name - nested = 1; - j--; - while (j>=0 && nested>0) { - ch = st.charAt(j); - if (ch=="(") nested--; - else if (ch==")") nested++; - j--; - } - while (j>=0 && (ch=st.charAt(j))>="a" && ch<="z" || ch>="A" && ch<="Z") - j--; - } else if (ch>="a" && ch<="z" || ch>="A" && ch<="Z") {// look for variable - j--; - while (j>=0 && (ch=st.charAt(j))>="a" && ch<="z" || ch>="A" && ch<="Z") - j--; - } else { - return "Error: incorrect syntax in "+st+" at position "+j; - } - st = st.slice(0,j+1)+"factorial("+st.slice(j+1,i)+")"+st.slice(i+1); - } - return st; -} - -function plot(fun,x_min,x_max,points,id,endpts) { - var pth = []; - var f = function(x) { return x }, g = fun; - var name = null; - if (typeof fun=="string") - eval("g = function(x){ with(Math) return "+mathjs(fun)+" }"); - else if (typeof fun=="object") { - eval("f = function(t){ with(Math) return "+mathjs(fun[0])+" }"); - eval("g = function(t){ with(Math) return "+mathjs(fun[1])+" }"); - } - if (typeof x_min=="string") { name = x_min; x_min = xmin } - else name = id; - var min = (x_min==null?xmin:x_min); - var max = (x_max==null?xmax:x_max); - var inc = max-min-0.000001*(max-min); - inc = (points==null?inc/200:inc/points); - var gt; -//alert(typeof g(min)) - for (var t = min; t <= max; t += inc) { - gt = g(t); - if (!(isNaN(gt)||Math.abs(gt)=="Infinity")) pth[pth.length] = [f(t), gt]; - } - path(pth,name,null,endpts); - return pth; -} - -// make polar plot - -// make Riemann sums - -function slopefield(fun,dx,dy) { - var g = fun; - if (typeof fun=="string") - eval("g = function(x,y){ with(Math) return "+mathjs(fun)+" }"); - var gxy,x,y,u,v,dz; - if (dx==null) dx=1; - if (dy==null) dy=1; - dz = Math.sqrt(dx*dx+dy*dy)/6; - var x_min = Math.ceil(xmin/dx); - var y_min = Math.ceil(ymin/dy); - for (x = x_min; x <= xmax; x += dx) - for (y = y_min; y <= ymax; y += dy) { - gxy = g(x,y); - if (!isNaN(gxy)) { - if (Math.abs(gxy)=="Infinity") {u = 0; v = dz;} - else {u = dz/Math.sqrt(1+gxy*gxy); v = gxy*u;} - line([x-u,y-v],[x+u,y+v]); - } - } -} - -///////////////////////user graphics commands end here///////////////////////// - -function show_props(obj) { - var result = ""; - for (var i=0; i< obj.childNodes.length; i++) - result += obj.childNodes.item(i) + "\n"; - return result; -} - -function displayCoord(evt) { - if (showcoordinates) { - var svgroot = evt.target.parentNode; - var nl = svgroot.childNodes; - for (var i=0; i\n\nASCIIMath Scientific Calculator\n\n\nClick in the box to use your keyboard or use the buttons\n\n\n\nResult:     \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n
"; - -// GO1.1 Generic onload by Brothercake -// http://www.brothercake.com/ -//onload function (replaces the onload="translate()" in the tag) -function generic() -{ - if(!init()) return; - if (translateOnLoad) { - var nd = document.getElementById("processasciimathinmoodle"); - if (nd!=null) dsvglocation = nd.className; - if (nd!=null || !checkforprocessasciimathinmoodle) { - translate(); - if (!noSVG && translateASCIIsvg) drawPictures(); - } - var li = getElementsByClass(document,"div","ASCIIMathCalculator"); - if (!noMathML && li.length>0) initASCIIMathCalculators(li); - } -}; -/* we need to initialize symbols before the page has loaded to allow - Wysiwyg editors like TinyMCE to parse math when they load. The editor - loads before the page loads causing plugins that want to convert - expresssion to fail -*/ -if (!noMathML) initSymbols(); - -//setup onload function -if(typeof window.addEventListener != 'undefined') -{ - //.. gecko, safari, konqueror and standard - window.addEventListener('load', generic, false); -} -else if(typeof document.addEventListener != 'undefined') -{ - //.. opera 7 - document.addEventListener('load', generic, false); -} -else if(typeof window.attachEvent != 'undefined') -{ - //.. win/ie - window.attachEvent('onload', generic); -} -//** remove this condition to degrade older browsers -else -{ - //.. mac/ie5 and anything else that gets this far - //if there's an existing onload function - if(typeof window.onload == 'function') - { - //store it - var existing = onload; - //add new onload handler - window.onload = function() - { - //call existing onload function - existing(); - //call generic onload function - generic(); - }; - } - else - { - //setup onload function - window.onload = generic; - } -} diff --git a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/js/amcharmap.js b/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/js/amcharmap.js deleted file mode 100755 index dd0b9f0c..00000000 --- a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/js/amcharmap.js +++ /dev/null @@ -1,17 +0,0 @@ -tinyMCEPopup.requireLangPack(); -var waitforAMTcgiloc = true; - -var AsciimathDialog = { - init : function() { - AMTcgiloc = tinyMCEPopup.getWindowArg('AMTcgiloc'); - }, - - set : function(val) { - tinyMCEPopup.restoreSelection(); - // Insert the contents from the input into the document - tinyMCEPopup.editor.execCommand('mceAsciimath', val); - tinyMCEPopup.close(); - } -}; - -tinyMCEPopup.onInit.add(AsciimathDialog.init, AsciimathDialog); diff --git a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/js/ampopup.js b/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/js/ampopup.js deleted file mode 100755 index 60f4d8d0..00000000 --- a/mms-ent/share-amp/src/main/amp/web/modules/editors/tiny_mce/plugins/asciimath/js/ampopup.js +++ /dev/null @@ -1,36 +0,0 @@ -/* Convert input containing ASCIIMath to MathML -*/ - -tinyMCEPopup.requireLangPack(); - -translateOnLoad = false; - -function displayMathML() { - if (AMnames.length==0) initSymbols(); - var str = "amath " + document.getElementById("inputText").value; - var outnode = document.getElementById("outputNode"); - var n = outnode.childNodes.length; - for (var i=0; i. + */ +package cae.demoamp; + +import cae.demoamp.po.DemoPage; +import org.alfresco.po.share.LoginPage; +import org.alfresco.po.AbstractTest; +import org.alfresco.po.share.PeopleFinderPage; +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +/** + * Functional test that demonstrates how to write and + * extend an alfresco share page object. + * This test shows the interaction with page objects + * brought from share-po project along with newly created ones + * that are present in the Demo amp. + * + * @author Michael Suzuki + * @since 2.0.1 + */ +public class DemoPageTestIT extends AbstractTest { + DemoPage page; + + @BeforeClass(groups = {"alfresco-one"}) + public void prepare() throws Exception { + // Navigate to share, which will redirect to Login page + driver.navigate().to(shareUrl + "/page"); + + // Resolve/Bind current page to LoginPage object + LoginPage loginPage = resolvePage(driver).render(); + loginPage.loginAs(username, password); + } + + @BeforeMethod + public void loadPage() { + // Goto demo page + driver.navigate().to(shareUrl + "/page/hdp/ws/simple-page"); + + // We need to instantiate the page like this as it is not yet in + // the factory known list of pages + page = factoryPage.instantiatePage(driver, DemoPage.class); + } + + @Test + public void findLogo() { + Assert.assertTrue(page.isSimpleLogoDisplayed()); + } + + @Test + public void messageIsDisplayed() { + page.render(); + String msg = page.getMessage(); + Assert.assertNotNull(msg); + Assert.assertEquals("Hello from i18n!", msg); + } + + /** + * Example of test reusing methods in abstract share page objects. + */ + @Test + public void titleDisplayed() { + // Invoke render when ready to use page object. + page.render(); + Assert.assertNotNull(page); + Assert.assertTrue(page.getTitle().contains("This is a simple page")); + } + + /** + * Test that show how we are able to reuse share page objects + * objects in particular the navigation object. + */ + @Test + public void navigate() { + Assert.assertNotNull(page.getNav()); + PeopleFinderPage peopleFinderPage = page.getNav().selectPeople().render(); + Assert.assertNotNull(peopleFinderPage); + } +} \ No newline at end of file diff --git a/mms-ent/share-amp/src/test/java/cae/demoamp/po/DemoPage.java b/mms-ent/share-amp/src/test/java/cae/demoamp/po/DemoPage.java new file mode 100644 index 00000000..2d5be4c0 --- /dev/null +++ b/mms-ent/share-amp/src/test/java/cae/demoamp/po/DemoPage.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2005-2016 Alfresco Software Limited. + * This file is part of Alfresco + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + */ +package cae.demoamp.po; + +import org.alfresco.po.share.SharePage; +import org.alfresco.po.RenderTime; +import org.openqa.selenium.NoSuchElementException; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; + +/** + * Demo of simple share page object that encapsulates the demo of simple page. + * + * @author Michael Suzuki + * @since 2.0.1 + */ +public class DemoPage extends SharePage { + @FindBy(id="DEMO_SIMPLE_LOGO") + WebElement logo; + + @FindBy(id="DEMO_SIMPLE_MSG") + WebElement msg; + + @SuppressWarnings("unchecked") + @Override + public DemoPage render(RenderTime timer) { + + // Wait for logo and message to display, then consider page rendered + while (true) { + timer.start(); + try { + if (isSimpleLogoDisplayed() && isMessageDisplayed()) { + break; + } + } catch (NoSuchElementException nse) { + } finally { + timer.end(); + } + } + + return this; + } + + public boolean isSimpleLogoDisplayed() { + return isDisplayed(logo); + } + + public boolean isMessageDisplayed() { + return isDisplayed(msg); + } + + public String getMessage() { + return msg.getText(); + } +} \ No newline at end of file diff --git a/mms-ent/share-amp/src/test/resources/resources/alfresco/web-extension/share-config-custom.xml b/mms-ent/share-amp/src/test/resources/resources/alfresco/web-extension/share-config-custom.xml deleted file mode 100755 index 985c829b..00000000 --- a/mms-ent/share-amp/src/test/resources/resources/alfresco/web-extension/share-config-custom.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - development - - true - - - - - - - - - true - - false - - - - - - - - - - - - - alfresco-noauth - Alfresco - unauthenticated access - Access to Alfresco Repository WebScripts that do not require authentication - alfresco - ${alfresco.repo.url}/s - none - - - - alfresco - Alfresco - user access - Access to Alfresco Repository WebScripts that require user authentication - alfresco - ${alfresco.repo.url}/s - user - - - - alfresco-feed - Alfresco Feed - Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet - http - ${alfresco.repo.url}/s - true - user - - - - activiti-admin - Activiti Admin UI - user access - Access to Activiti Admin UI, that requires user authentication - activiti-admin-connector - ${alfresco.repo.url}/activiti-admin - user - - - - - diff --git a/mms-ent/share-amp/src/test/resources/resources/log4j.properties b/mms-ent/share-amp/src/test/resources/resources/log4j.properties deleted file mode 100755 index bf4a4721..00000000 --- a/mms-ent/share-amp/src/test/resources/resources/log4j.properties +++ /dev/null @@ -1,266 +0,0 @@ -# This is a full override of Alfresco 4.2.b log4j.properties -# This file overwrites the alfresco.war log4j.properties - -# Set root logger level to error -log4j.rootLogger=${app.log.root.level}, Console, File - -###### Console appender definition ####### - -# All outputs currently set to be a ConsoleAppender. -log4j.appender.Console=org.apache.log4j.ConsoleAppender -log4j.appender.Console.layout=org.apache.log4j.PatternLayout - -# use log4j NDC to replace %x with tenant domain / username -log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n -#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n - -###### File appender definition ####### -log4j.appender.File=org.apache.log4j.DailyRollingFileAppender -log4j.appender.File.File=${app.log.dir}alfresco.log -log4j.appender.File.Append=true -log4j.appender.File.DatePattern='.'yyyy-MM-dd -log4j.appender.File.layout=org.apache.log4j.PatternLayout -log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n - -###### Hibernate specific appender definition ####### -#log4j.appender.file=org.apache.log4j.FileAppender -#log4j.appender.file.File=hibernate.log -#log4j.appender.file.layout=org.apache.log4j.PatternLayout -#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n - -###### Log level overrides ####### - -# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit) -# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime -# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via -# Log4j addLoggerMBean as long as the logger exists and has been loaded. - -# Hibernate -log4j.logger.org.hibernate=error -log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal -log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal -log4j.logger.org.hibernate.type=warn -log4j.logger.org.hibernate.cfg.SettingsFactory=warn - -# Spring -log4j.logger.org.springframework=warn -# Turn off Spring remoting warnings that should really be info or debug. -log4j.logger.org.springframework.remoting.support=error -log4j.logger.org.springframework.util=error - -# Axis/WSS4J -log4j.logger.org.apache.axis=info -log4j.logger.org.apache.ws=info - -# CXF -log4j.logger.org.apache.cxf=error - -# MyFaces -log4j.logger.org.apache.myfaces.util.DebugUtils=info -log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error -log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error -log4j.logger.org.apache.myfaces.taglib=error - -# OpenOfficeConnection -log4j.logger.net.sf.jooreports.openoffice.connection=fatal - -# log prepared statement cache activity ### -log4j.logger.org.hibernate.ps.PreparedStatementCache=info - -# Alfresco -log4j.logger.org.alfresco=error -log4j.logger.org.alfresco.repo.admin=info -log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn -log4j.logger.org.alfresco.repo.model.filefolder=warn -log4j.logger.org.alfresco.repo.tenant=info -log4j.logger.org.alfresco.repo.avm=info -log4j.logger.org.alfresco.config=warn -log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn -log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn -log4j.logger.org.alfresco.repo.management.subsystems=warn -log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info -log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn -log4j.logger.org.alfresco.repo.security.sync=info -log4j.logger.org.alfresco.repo.security.person=info - -log4j.logger.org.alfresco.sample=info -log4j.logger.org.alfresco.web=info -#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug -#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug -#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug -#log4j.logger.org.alfresco.web.bean.clipboard=debug -log4j.logger.org.alfresco.repo.webservice=info -log4j.logger.org.alfresco.service.descriptor.DescriptorService=info -#log4j.logger.org.alfresco.web.page=debug - -log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error -#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info - -log4j.logger.org.alfresco.web.ui.common.Utils=error -#log4j.logger.org.alfresco.web.ui.common.Utils=info - -log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info -log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info - -# Specific patches -log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info -log4j.logger.org.alfresco.repo.version.VersionMigrator=info -log4j.logger.org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch=info - -log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info -log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info -log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info -log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn -log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn -log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info -log4j.logger.org.alfresco.repo.node.index.AVMFullIndexRecoveryComponent=info -log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info -log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn -log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn -log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn -log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn -log4j.logger.org.alfresco.util.AbstractTriggerBean=warn -log4j.logger.org.alfresco.enterprise.repo.cache.cluster.KeepAliveHeartbeatReceiver=info -log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn - -#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug - -log4j.logger.org.alfresco.repo.workflow=info - -# CIFS server debugging -log4j.logger.org.alfresco.smb.protocol=error -#log4j.logger.org.alfresco.smb.protocol.auth=debug -#log4j.logger.org.alfresco.acegi=debug - -# FTP server debugging -log4j.logger.org.alfresco.ftp.protocol=error -#log4j.logger.org.alfresco.ftp.server=debug - -# WebDAV debugging -#log4j.logger.org.alfresco.webdav.protocol=debug -log4j.logger.org.alfresco.webdav.protocol=error - -# NTLM servlet filters -#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug -#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug - -# Kerberos servlet filters -#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug -#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug - -# File servers -log4j.logger.org.alfresco.fileserver=warn - -# Repo filesystem debug logging -#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug - -# AVM filesystem debug logging -#log4j.logger.org.alfresco.filesys.avm.AVMDiskDriver=debug - -# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated -log4j.logger.org.alfresco.repo.node.integrity=ERROR - -# Indexer debugging -log4j.logger.org.alfresco.repo.search.Indexer=error -#log4j.logger.org.alfresco.repo.search.Indexer=debug - -log4j.logger.org.alfresco.repo.search.impl.lucene.index=error -log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn -#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG - -# Audit debugging -# log4j.logger.org.alfresco.repo.audit=DEBUG -# log4j.logger.org.alfresco.repo.audit.model=DEBUG - -# Forms debugging -# log4j.logger.org.alfresco.web.forms=debug -# log4j.logger.org.chiba.xml.xforms=debug -log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=error -log4j.logger.org.alfresco.web.forms.XSLTRenderingEngine=error - -# Property sheet and modelling debugging -# change to error to hide the warnings about missing properties and associations -log4j.logger.alfresco.missingProperties=warn -log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn -log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn -#log4j.logger.org.alfresco.web.ui.repo.component.property=debug - -# Dictionary/Model debugging -log4j.logger.org.alfresco.repo.dictionary=warn -log4j.logger.org.alfresco.repo.dictionary.types.period=warn - -# Virtualization Server Registry -log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error - -# Spring context runtime property setter -log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info - -# Debugging options for clustering -log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error -log4j.logger.org.alfresco.repo.content.replication=error - -#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug - -# Activity service -log4j.logger.org.alfresco.repo.activities=warn - -# User usage tracking -log4j.logger.org.alfresco.repo.usage=info - -# Sharepoint -log4j.logger.org.alfresco.module.vti=info - -# Forms Engine -log4j.logger.org.alfresco.repo.forms=info -log4j.logger.org.alfresco.web.config.forms=info -log4j.logger.org.alfresco.web.scripts.forms=info - -# CMIS -log4j.logger.org.alfresco.opencmis=error -log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error -log4j.logger.org.alfresco.cmis=error -log4j.logger.org.alfresco.cmis.dictionary=warn -log4j.logger.org.apache.chemistry.opencmis=info - -# IMAP -log4j.logger.org.alfresco.repo.imap=info - -# JBPM -# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler -log4j.logger.org.jbpm.graph.def.GraphElement=fatal - -#log4j.logger.org.alfresco.repo.googledocs=debug - -###### Scripting ####### - -# Web Framework -log4j.logger.org.springframework.extensions.webscripts=info -log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn -log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off - -# Repository -log4j.logger.org.alfresco.repo.web.scripts=warn -log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info -log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off -log4j.logger.org.alfresco.repo.jscript=error -log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn -log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info - -log4j.logger.org.alfresco.repo.avm.actions=info - -# Freemarker -# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler -log4j.logger.freemarker.runtime= - -# Metadata extraction -log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn - -# Reduces PDFont error level due to ALF-7105 -log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal -log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal -log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal - -# no index support -log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal -log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal -log4j.logger.org.alfresco.demoamp.test=DEBUG \ No newline at end of file diff --git a/mms-ent/share-amp/src/test/resources/testng.xml b/mms-ent/share-amp/src/test/resources/testng.xml new file mode 100644 index 00000000..83a4ab7a --- /dev/null +++ b/mms-ent/share-amp/src/test/resources/testng.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/mms-ent/share-amp/tomcat/context.xml b/mms-ent/share-amp/tomcat/context.xml deleted file mode 100755 index 6ef60daf..00000000 --- a/mms-ent/share-amp/tomcat/context.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - diff --git a/mms-ent/share/pom.xml b/mms-ent/share/pom.xml index ff7e08d9..cee6e47e 100755 --- a/mms-ent/share/pom.xml +++ b/mms-ent/share/pom.xml @@ -9,7 +9,7 @@ gov.nasa.jpl.mbee mms-ent - 3.2.1 + 3.2.2 diff --git a/mms-ent/solr-config/pom.xml b/mms-ent/solr-config/pom.xml index 69fb33f4..2c4554c0 100755 --- a/mms-ent/solr-config/pom.xml +++ b/mms-ent/solr-config/pom.xml @@ -11,7 +11,7 @@ gov.nasa.jpl.mbee mms-ent - 3.2.1 + 3.2.2