blob: 0d41bb7dd64fcb16af2124914a8c6a084063ab1c [file] [log] [blame]
///*
// * 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.
// */
//package org.apache.amaterasu.leader.utilities
//
//import org.apache.amaterasu.common.logging.Logging
//import org.apache.log4j.{BasicConfigurator, Level, Logger}
//import org.eclipse.jetty.server.handler._
//import org.eclipse.jetty.server.{Server, ServerConnector}
//import org.eclipse.jetty.util.log.StdErrLog
//import org.jsoup.Jsoup
//import org.jsoup.select.Elements
//
//import scala.collection.JavaConverters._
//import scala.io.{BufferedSource, Source}
//
///**
// * Implementation of Jetty Web server to server Amaterasu libraries and other distribution files
// */
//object HttpServer extends Logging {
//
// var server: Server = _
//
// def start(port: String, serverRoot: String): Unit = {
//
// BasicConfigurator.configure()
// initLogging()
//
// server = new Server()
// val connector = new ServerConnector(server)
// connector.setPort(port.toInt)
// server.addConnector(connector)
//
// val handler = new ResourceHandler()
// handler.setDirectoriesListed(true)
// handler.setWelcomeFiles(Array[String]("index.html"))
// handler.setResourceBase(serverRoot)
// val handlers = new HandlerList()
// handlers.setHandlers(Array(handler, new DefaultHandler()))
//
// server.setHandler(handlers)
// server.start()
//
// }
//
// def stop() {
// if (server == null) throw new IllegalStateException("Server not Started")
//
// server.stop()
// server = null
// }
//
// def initLogging(): Unit = {
// System.setProperty("org.eclipse.jetty.util.log.class", classOf[StdErrLog].getName)
// Logger.getLogger("org.eclipse.jetty").setLevel(Level.ALL)
// Logger.getLogger("org.eclipse.jetty.websocket").setLevel(Level.OFF)
// }
//
// /*
// Method: getFilesInDirectory
// Description: provides a list of files in the given directory URL.
// @Params: amaNode: Hostname of the URL, port: Port # of the host, directory: destination directory to fetch files
// Note: Should the files in URL root be fetched, provide an empty value to directory.
// */
// def getFilesInDirectory(amaNode: String, port: String, directory: String = ""): Array[String] = {
// //println("http://" + amaNode + ":" + port + "/" + directory)
// val html: BufferedSource = Source.fromURL("http://" + amaNode + ":" + port + "/" + directory)
// println(html)
// val htmlDoc = Jsoup.parse(html.mkString)
// val htmlElement: Elements = htmlDoc.body().select("a")
// val files = htmlElement.asScala
// val fileNames = files.map(url => url.attr("href")).filter(file => !file.contains("..")).map(name => name.replace("/", "")).toArray
// fileNames
// }
//}