FileResourceHandler.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.uas.report.axis;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.util.LinkedHashMap;
  5. import java.util.Map;
  6. import javax.activation.DataSource;
  7. import javax.activation.FileDataSource;
  8. public class FileResourceHandler extends BasicResourceHandler {
  9. @Override
  10. public Class<?> getResourceType() {
  11. return FileResource.class;
  12. }
  13. @Override
  14. public Map<String, DataSource> getAttachments(Map<String, String> arguments, ResourceDescriptor descriptor)
  15. throws WSException {
  16. Map<String, DataSource> attachments = new LinkedHashMap<>();
  17. if (arguments.containsKey(Argument.NO_RESOURCE_DATA_ATTACHMENT)) {
  18. descriptor.setHasData(false);
  19. } else {
  20. // Retrieve resource data...
  21. descriptor.setHasData(true);
  22. // FileResourceData fileData =
  23. // repositoryManagementService.getRepository().getResourceData(null,descriptor.getUriString());
  24. // ResourceDataSource attachmentSource = new ResourceDataSource("",
  25. // fileData);
  26. // attachments.addAttachment("attachment", attachmentSource);
  27. FileDataSource dataSource = new FileDataSource(getFile(descriptor.getUriString()));
  28. attachments.put("attachment", dataSource);
  29. }
  30. return attachments;
  31. }
  32. @Override
  33. protected File checkFile(String uriString) throws IOException {
  34. File file = getFile(uriString);
  35. if (file.isDirectory()) {
  36. throw new IOException("资源为文件夹!");
  37. }
  38. return file;
  39. }
  40. }