private void testUploadExcelFile(final boolean isXLS) throws Exception {

final String extension = isXLS ? "xls" : "xlsx";

final FileType fileType = isXLS ? FileType.XLS : FileType.EXCEL;

FormDataMultiPart form = new FormDataMultiPart();

FormDataBodyPart fileBody = new FormDataBodyPart("file", FileUtils.getResourceAsFile("/testfiles/excel." + extension), MediaType.MULTIPART_FORM_DATA_TYPE);

form.bodyPart(fileBody);

form.bodyPart(new FormDataBodyPart("fileName", "excel"));

doc("uploading excel file");

File file1 = expectSuccess(getBuilder(getAPIv2().path("home/" + HOME_NAME + "/upload_start/").queryParam("extension", extension)).buildPost(

Entity.entity(form, form.getMediaType())), File.class);

file1 = expectSuccess(getBuilder(getAPIv2().path("home/" + HOME_NAME + "/upload_finish/excel")).buildPost(

Entity.json(file1.getFileFormat().getFileFormat())), File.class);

FileFormat file1Format = file1.getFileFormat().getFileFormat();

assertEquals("excel", file1Format.getName());

assertEquals(asList(HOME_NAME, "excel"), file1Format.getFullPath());

assertEquals(fileType, file1Format.getFileType());

fileBody.cleanup();

doc("getting a excel file");

File file2 = expectSuccess(getBuilder(getAPIv2().path("home/" + HOME_NAME + "/file/excel")).buildGet(), File.class);

FileFormat file2Format = file2.getFileFormat().getFileFormat();

assertEquals("excel", file2Format.getName());

assertEquals(asList(HOME_NAME, "excel"), file2Format.getFullPath());

assertEquals(fileType, file2Format.getFileType());

doc("querying excel file");

final JobsService jobsService = l(JobsService.class);

JobUI job = new JobUI(jobsService.submitJob(JobRequest.newBuilder()

.setSqlQuery(new SqlQuery("select * from \"" + HOME_NAME + "\".\"excel\"", SampleDataPopulator.DEFAULT_USER_NAME))

.build(), NoOpJobStatusListener.INSTANCE));

job.getData().loadIfNecessary();

JobDataFragment truncData = job.getData().truncate(500);

assertEquals(6, truncData.getReturnedRowCount());

assertEquals(5, truncData.getColumns().size());

doc("previewing excel file");

if (file2Format instanceof ExcelFileConfig) {

((ExcelFileConfig) file2Format).setExtractHeader(true);

} else {

((XlsFileConfig) file2Format).setExtractHeader(true);

}

JobDataFragment data = expectSuccess(getBuilder(getAPIv2().path("/home/" + HOME_NAME + "/file_preview/excel")).buildPost(Entity.json(file2Format)), JobDataFragment.class);

assertEquals(5, data.getReturnedRowCount());

assertEquals(5, data.getColumns().size());

doc("creating dataset from excel file");

InitialPreviewResponse previewResponse = expectSuccess(getBuilder(getAPIv2().path(

"/home/" + HOME_NAME + "/new_untitled_from_file/excel")).buildPost(Entity.json("")), InitialPreviewResponse.class);

assertEquals(5, previewResponse.getData().getColumns().size());

}

java mediatype属性_Java MediaType.MULTIPART_FORM_DATA_TYPE属性代码示例相关推荐

  1. java secretkey用法_Java SecretKeyFactory.generateSecret方法代码示例

    本文整理汇总了Java中javax.crypto.SecretKeyFactory.generateSecret方法的典型用法代码示例.如果您正苦于以下问题:Java SecretKeyFactory ...

  2. java五子棋棋盘_java绘制五子棋棋盘代码示例

    本篇文章小编给大家分享一下java绘制五子棋棋盘代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 代码如下: import javax.imag ...

  3. java polygon 用法_Java Polygon.getBounds方法代码示例

    import java.awt.Polygon; //导入方法依赖的package包/类 private SelectionShape translatePointsToRealSize(Select ...

  4. java makedir用法_Java Files.makeDir方法代码示例

    import org.nutz.lang.Files; //导入方法依赖的package包/类 protected void download(String openid, String media_ ...

  5. java args包_Java Args.positive方法代码示例

    import org.apache.http.util.Args; //导入方法依赖的package包/类 /** * Creates new instance of BHttpConnectionB ...

  6. java shape用法_Java PShape.scale方法代码示例

    import processing.core.PShape; //导入方法依赖的package包/类 public void updateAnim(){ if(pg_src_small == null ...

  7. java round指令_Java PApplet.round方法代码示例

    import processing.core.PApplet; //导入方法依赖的package包/类 public static final void updatePos() { if(follow ...

  8. java gettext用法_Java Context.getText方法代码示例

    import android.content.Context; //导入方法依赖的package包/类 /** * Song Details * * @param context * @param t ...

  9. java soap封装_Java SOAPMessage.writeTo方法代码示例

    import javax.xml.soap.SOAPMessage; //导入方法依赖的package包/类 private byte[] createProbeXML() throws SOAPEx ...

  10. java wrap方法_Java WritableCellFormat.setWrap方法代码示例

    import jxl.write.WritableCellFormat; //导入方法依赖的package包/类 /** * @param workSheet to add the help to * ...

最新文章

  1. Confluence 6 查看空间活动
  2. kibana java_kibana安装
  3. ubuntu 16.04 python3.4 升级为 python3.6
  4. 【源码】ListT泛型绑定repeater,以及repeater的交替绑定
  5. Haproxy反向代理WebSocket的方法
  6. ubuntu中查看IP地址命令
  7. google内部考核制度OKR
  8. Skin hierachy
  9. 大数据下的数据分析平台架构
  10. C# Reflection 反射
  11. mes系统故障_mes系统实施失败是什么原因?
  12. 《我为什么熬夜?》系列之 倚天屠龙记
  13. 2020年2月全国程序员工资统计,平均工资13716元
  14. 赛科尔亚洲招聘Axapta顾问
  15. 调研容易上岸的在职研究生
  16. javascript-obfuscator 代码混淆
  17. 实用前端标注图片剪裁工具-AILabel.js
  18. java核心技术卷一,java面试题大全带答案
  19. 百度名词~杂篇--(对日常遇到事物的深入了解)
  20. android动态设置textview的id,动态调整TextView的Gravity

热门文章

  1. surface pro的TF卡有时候不感应不到,需要重新插拔?
  2. UOJ #449. 【集训队作业2018】喂鸽子
  3. 用计算机sp画笑脸,Microsoft Office Visio绘画圆形笑脸的相关操作步骤
  4. Unity3D 材质球设置参数无效果的解决方法
  5. html transition属性,Transition属性详解
  6. 【Java学习笔记】 MYSQL03 学习使用JDBC访问数据 以及 JDBC的优化和封装
  7. xctf crazy
  8. 站桩是为了理气,气顺了,人自然就不会生病
  9. 【微信小程序】微信支付
  10. simulink仿真结果出现振荡