diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2010-06-08 09:01:43 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2010-06-08 09:01:43 +0200 |
commit | d1fa08fdc9cb11dccee76d668ff85df30458c295 (patch) | |
tree | 1d19df6405103577d872902486792e8c23bce711 /trunk/infrastructure/net.appjet.oui/util.scala | |
parent | d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2 (diff) | |
parent | 70d1f9d6fcaefe611e778b8dbf3bafea8934aa08 (diff) | |
download | etherpad-d1fa08fdc9cb11dccee76d668ff85df30458c295.tar.gz etherpad-d1fa08fdc9cb11dccee76d668ff85df30458c295.tar.bz2 etherpad-d1fa08fdc9cb11dccee76d668ff85df30458c295.zip |
Merge remote branch 'upstream/master'
Conflicts:
etherpad/src/etherpad/control/pro/admin/pro_admin_control.js
etherpad/src/etherpad/control/pro/pro_main_control.js
etherpad/src/etherpad/control/pro_help_control.js
etherpad/src/etherpad/globals.js
etherpad/src/etherpad/legacy_urls.js
etherpad/src/etherpad/pne/pne_utils.js
etherpad/src/etherpad/pro/pro_utils.js
etherpad/src/main.js
etherpad/src/plugins/fileUpload/templates/fileUpload.ejs
etherpad/src/plugins/testplugin/templates/page.ejs
etherpad/src/static/css/pad2_ejs.css
etherpad/src/static/css/pro-help.css
etherpad/src/static/img/jun09/pad/protop.gif
etherpad/src/static/js/store.js
etherpad/src/themes/default/templates/framed/framedheader-pro.ejs
etherpad/src/themes/default/templates/main/home.ejs
etherpad/src/themes/default/templates/pro-help/main.ejs
etherpad/src/themes/default/templates/pro-help/pro-help-template.ejs
infrastructure/com.etherpad/licensing.scala
trunk/etherpad/src/etherpad/collab/ace/contentcollector.js
trunk/etherpad/src/etherpad/collab/ace/linestylefilter.js
trunk/etherpad/src/static/css/home-opensource.css
trunk/etherpad/src/static/js/ace.js
trunk/etherpad/src/static/js/linestylefilter_client.js
trunk/etherpad/src/templates/email/eepnet_license_info.ejs
trunk/etherpad/src/templates/pad/pad_body2.ejs
trunk/etherpad/src/templates/pad/pad_content.ejs
trunk/etherpad/src/templates/pad/padfull_body.ejs
trunk/etherpad/src/templates/pro/admin/pne-license-manager.ejs
Diffstat (limited to 'trunk/infrastructure/net.appjet.oui/util.scala')
-rw-r--r-- | trunk/infrastructure/net.appjet.oui/util.scala | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/trunk/infrastructure/net.appjet.oui/util.scala b/trunk/infrastructure/net.appjet.oui/util.scala deleted file mode 100644 index ba8a736..0000000 --- a/trunk/infrastructure/net.appjet.oui/util.scala +++ /dev/null @@ -1,153 +0,0 @@ -/** - * Copyright 2009 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS-IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.appjet.oui; - -import scala.collection.mutable.HashMap; - -import java.util.Enumeration; -import java.util.zip.GZIPOutputStream; -import java.io.ByteArrayOutputStream; - -object Util { - def noCacheHeaders = - Map("Expires" -> "Sat, 5 Feb 1983 07:07:07 GMT", - "Last-Modified" -> (new java.util.Date()).toGMTString(), - "Cache-Control" -> "no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0", - "Pragma" -> "no-cache"); - - - class RichEnumeration[T](enumeration: Enumeration[T]) extends Iterator[T] { - def hasNext: Boolean = enumeration.hasMoreElements(); - def next: T = enumeration.nextElement(); - } - class RichIterator[T](iterator: java.util.Iterator[T]) extends Iterator[T] { - def hasNext: Boolean = iterator.hasNext(); - def next: T = iterator.next(); - } - implicit def enumerationToRichEnumeration[T]( - enumeration: Enumeration[T]): RichEnumeration[T] = { - new RichEnumeration(enumeration) - } - implicit def iteratorToRichIterator[T]( - iterator: java.util.Iterator[T]): RichIterator[T] = { - new RichIterator(iterator); - } - - def enumerationToArray[T](e: Enumeration[T]): Array[T] = - enumerationToRichEnumeration(e).toList.toArray; - - def stringToHTML(str: String): String = { - val result = new StringBuilder(str.length); - var lastCharBlank = false; - for(i <- 0 until str.length) { - val c = str.charAt(i); - if (c == ' ') { - // every second consecutive space becomes a - if (lastCharBlank) { - lastCharBlank = false; - result.append(" "); - } - else { - lastCharBlank = true; - result.append(' '); - } - } else { - lastCharBlank = false; - if (c == '&') result.append("&"); - else if (c == '<') result.append("<"); - else if (c == '>') result.append(">"); - else if (c == '\n') result.append("<br/>\n"); - else if (c == '\t') { - for(j <- 1 to 7) { - result.append(" "); - } - result.append(' '); - } - else { - val code = c.toInt; - if (code < 127) { - result.append(c); - } - else { - // use character code - result.append("&#"); - result.append(code); - result.append(';'); - } - } - } - } - return result.toString; - } - - def gzip(bytes: Array[Byte]): Array[Byte] = { - val baos = new ByteArrayOutputStream(); - val gzos = new GZIPOutputStream(baos); - gzos.write(bytes, 0, bytes.length); - gzos.close(); - baos.toByteArray(); - } -} - -object timekeeper { - var timestamp: Long = 0; - def time: Long = { - val t = System.currentTimeMillis(); - synchronized { - if (t <= timestamp) { - timestamp += 1 - } else { - timestamp = t - } - timestamp - } - } - def update(t: Long) = synchronized { - if (t > timestamp) - timestamp = t+1; - } -} - -trait LoggingHandler extends org.mortbay.jetty.handler.AbstractHandler { - abstract override def handle(target: String, req: javax.servlet.http.HttpServletRequest, res: javax.servlet.http.HttpServletResponse, dispatch: Int) { - println("all ("+isStarted+") handling: "+(this match { - case hc: org.mortbay.jetty.handler.HandlerCollection => hc.getHandlers.mkString(", "); - case ahc: org.mortbay.jetty.handler.AbstractHandlerContainer => ahc.getChildHandlers.mkString(", "); - case x => "(unknown)"; - })); - super.handle(target, req, res, dispatch); - } - override def doStart() { - println("all started."); - // Thread.dumpStack(); - try { - super.doStart(); - } catch { - case e: Exception => { - e.printStackTrace(); - throw e; - } - } finally { - println("and: "+isStarted); - } - } - override def doStop() { - println("all stopped."); - // Thread.dumpStack(); - super.doStop(); - } -} |