blob: be915bea2c3dbcba8b4acb151b40f3bdac65d34f [file] [log] [blame]
/*
* Copyright 2019 WeBank
*
* 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 com.webank.wedatasphere.linkis.bml.request
import java.io.{File, InputStream}
import java.util
import com.webank.wedatasphere.linkis.bml.http.HttpConf
import com.webank.wedatasphere.linkis.httpclient.request._
/**
* created by cooperyang on 2019/5/23
* Description:
*/
abstract class BmlPOSTAction extends POSTAction
abstract class BmlGETAction extends GetAction
/**
* BmlUpload
* @param filePaths
* @param _inputStreams
*/
case class BmlUploadAction(filePaths:Array[String],
_inputStreams:util.Map[String,InputStream]) extends BmlPOSTAction with UploadAction{
private val streamNames = new util.HashMap[String,String]
override val files: util.Map[String, String] = {
if (null == filePaths || filePaths.length == 0) new util.HashMap[String,String]() else{
val map = new java.util.HashMap[String, String]
filePaths foreach {
filePath => val arr = filePath.split(File.separator)
val fileName = arr(arr.length - 1)
map.put("file", filePath)
}
map
}
}
override def inputStreams: util.Map[String, InputStream] = _inputStreams
override def inputStreamNames: util.Map[String, String] = streamNames
// override def inputStreams: util.Map[String, InputStream] = {
// if (files.size() == 0) new util.HashMap[String, InputStream]() else{
// val map = new util.HashMap[String, InputStream]()
// files foreach {
// case (fileName, filePath) => val fs = FSFactory.getFs(new FsPath(filePath))
// fs.init(null)
// val inputStream = fs.read(new FsPath(filePath))
//
// }
// }
// }
private var _user:String = _
override def setUser(user: String): Unit = this._user = user
override def getUser: String = this._user
override def getRequestPayload: String = ""
override def getURL: String = HttpConf.uploadURL
}
case class BmlUpdateAction(filePaths:Array[String],
_inputStreams:util.Map[String,InputStream]) extends BmlPOSTAction with UploadAction{
override def getURL: String = HttpConf.updateVersionURL
override def getRequestPayload: String = ""
private var _user:String = _
private val streamNames = new util.HashMap[String,String]
override val files: util.Map[String, String] = {
if (null == filePaths || filePaths.length == 0) new util.HashMap[String,String]() else{
val map = new java.util.HashMap[String, String]
filePaths foreach {
filePath => val arr = filePath.split(File.separator)
val fileName = arr(arr.length - 1)
map.put("file", filePath)
}
map
}
}
override def setUser(user: String): Unit = this._user = user
override def getUser: String = this._user
override def inputStreams: util.Map[String, InputStream] = _inputStreams
override def inputStreamNames: util.Map[String, String] = streamNames
}
case class BmlDownloadAction() extends BmlGETAction with DownloadAction with UserAction{
private var inputStream:InputStream = _
private var user:String = _
def getInputStream:InputStream = this.inputStream
def setInputStream(inputStream: InputStream):Unit = this.inputStream = inputStream
override def getURL: String = HttpConf.downloadURL
override def write(inputStream: InputStream): Unit = this.inputStream = inputStream
override def setUser(user: String): Unit = this.user = user
override def getUser: String = this.user
}
case class BmlRelateAction(user:String,
resourceId:String,
inputStream: InputStream) extends BmlPOSTAction{
override def getRequestPayload: String = ""
override def getURL: String = HttpConf.updateVersionURL
}
case class BmlGetVersionsAction(user:String,
resourceId:String) extends BmlPOSTAction{
override def getRequestPayload: String = ""
override def getURL: String = HttpConf.getVersionsUrl
}
case class BmlUpdateBasicAction(properties:java.util.Map[String, String]) extends BmlPOSTAction{
override def getRequestPayload: String = ""
override def getURL: String = HttpConf.updateBasicUrl
}
case class BmlGetBasicAction(resourceId:String) extends BmlGETAction with UserAction {
private var user:String = _
override def getURL: String = HttpConf.getBasicUrl
override def setUser(user: String): Unit = this.user = user
override def getUser: String = this.user
}
case class BmlDeleteAction(resourceId:String) extends BmlPOSTAction {
override def getRequestPayload: String = ""
override def getURL: String = HttpConf.deleteURL
}