javax.mail.internet.MailDateFormat#javax.activation.FileTypeMap源码实例Demo

下面列出了javax.mail.internet.MailDateFormat#javax.activation.FileTypeMap 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Test
public void javaMailSenderWithMimeMessageHelperAndSpecificEncoding() throws MessagingException {
	MockJavaMailSender sender = new MockJavaMailSender();
	sender.setHost("host");
	sender.setUsername("username");
	sender.setPassword("password");

	MimeMessageHelper message = new MimeMessageHelper(sender.createMimeMessage(), "UTF-8");
	assertEquals("UTF-8", message.getEncoding());
	FileTypeMap fileTypeMap = new ConfigurableMimeFileTypeMap();
	message.setFileTypeMap(fileTypeMap);
	assertEquals(fileTypeMap, message.getFileTypeMap());

	message.setTo("[email protected]");
	sender.send(message.getMimeMessage());

	assertEquals("host", sender.transport.getConnectedHost());
	assertEquals("username", sender.transport.getConnectedUsername());
	assertEquals("password", sender.transport.getConnectedPassword());
	assertTrue(sender.transport.isCloseCalled());
	assertEquals(1, sender.transport.getSentMessages().size());
	assertEquals(message.getMimeMessage(), sender.transport.getSentMessage(0));
}
 
@Test
public void javaMailSenderWithMimeMessageHelperAndDefaultEncoding() throws MessagingException {
	MockJavaMailSender sender = new MockJavaMailSender();
	sender.setHost("host");
	sender.setUsername("username");
	sender.setPassword("password");
	sender.setDefaultEncoding("UTF-8");

	FileTypeMap fileTypeMap = new ConfigurableMimeFileTypeMap();
	sender.setDefaultFileTypeMap(fileTypeMap);
	MimeMessageHelper message = new MimeMessageHelper(sender.createMimeMessage());
	assertEquals("UTF-8", message.getEncoding());
	assertEquals(fileTypeMap, message.getFileTypeMap());

	message.setTo("[email protected]");
	sender.send(message.getMimeMessage());

	assertEquals("host", sender.transport.getConnectedHost());
	assertEquals("username", sender.transport.getConnectedUsername());
	assertEquals("password", sender.transport.getConnectedPassword());
	assertTrue(sender.transport.isCloseCalled());
	assertEquals(1, sender.transport.getSentMessages().size());
	assertEquals(message.getMimeMessage(), sender.transport.getSentMessage(0));
}
 
@Test
public void javaMailSenderWithMimeMessageHelperAndSpecificEncoding() throws MessagingException {
	MockJavaMailSender sender = new MockJavaMailSender();
	sender.setHost("host");
	sender.setUsername("username");
	sender.setPassword("password");

	MimeMessageHelper message = new MimeMessageHelper(sender.createMimeMessage(), "UTF-8");
	assertEquals("UTF-8", message.getEncoding());
	FileTypeMap fileTypeMap = new ConfigurableMimeFileTypeMap();
	message.setFileTypeMap(fileTypeMap);
	assertEquals(fileTypeMap, message.getFileTypeMap());

	message.setTo("[email protected]");
	sender.send(message.getMimeMessage());

	assertEquals("host", sender.transport.getConnectedHost());
	assertEquals("username", sender.transport.getConnectedUsername());
	assertEquals("password", sender.transport.getConnectedPassword());
	assertTrue(sender.transport.isCloseCalled());
	assertEquals(1, sender.transport.getSentMessages().size());
	assertEquals(message.getMimeMessage(), sender.transport.getSentMessage(0));
}
 
@Test
public void javaMailSenderWithMimeMessageHelperAndDefaultEncoding() throws MessagingException {
	MockJavaMailSender sender = new MockJavaMailSender();
	sender.setHost("host");
	sender.setUsername("username");
	sender.setPassword("password");
	sender.setDefaultEncoding("UTF-8");

	FileTypeMap fileTypeMap = new ConfigurableMimeFileTypeMap();
	sender.setDefaultFileTypeMap(fileTypeMap);
	MimeMessageHelper message = new MimeMessageHelper(sender.createMimeMessage());
	assertEquals("UTF-8", message.getEncoding());
	assertEquals(fileTypeMap, message.getFileTypeMap());

	message.setTo("[email protected]");
	sender.send(message.getMimeMessage());

	assertEquals("host", sender.transport.getConnectedHost());
	assertEquals("username", sender.transport.getConnectedUsername());
	assertEquals("password", sender.transport.getConnectedPassword());
	assertTrue(sender.transport.isCloseCalled());
	assertEquals(1, sender.transport.getSentMessages().size());
	assertEquals(message.getMimeMessage(), sender.transport.getSentMessage(0));
}
 
源代码5 项目: eplmp   文件: BinaryResourceDownloadMeta.java
/**
 * Get the Content type for this file
 *
 * @return Http Response content type
 */
public String getContentType() {
    String contentType;
    if (outputFormat != null) {
        contentType = FileTypeMap.getDefaultFileTypeMap().getContentType(fullName + "." + outputFormat);
    } else {
        contentType = FileTypeMap.getDefaultFileTypeMap().getContentType(fullName);
    }


    if (contentType != null && contentType.startsWith("text")) {
        contentType += ";charset=" + CHARSET;
    }

    return (contentType != null) ? contentType : "application/octet-stream";
}
 
@Test
public void javaMailSenderWithMimeMessageHelperAndSpecificEncoding() throws MessagingException {
	MockJavaMailSender sender = new MockJavaMailSender();
	sender.setHost("host");
	sender.setUsername("username");
	sender.setPassword("password");

	MimeMessageHelper message = new MimeMessageHelper(sender.createMimeMessage(), "UTF-8");
	assertEquals("UTF-8", message.getEncoding());
	FileTypeMap fileTypeMap = new ConfigurableMimeFileTypeMap();
	message.setFileTypeMap(fileTypeMap);
	assertEquals(fileTypeMap, message.getFileTypeMap());

	message.setTo("[email protected]");
	sender.send(message.getMimeMessage());

	assertEquals("host", sender.transport.getConnectedHost());
	assertEquals("username", sender.transport.getConnectedUsername());
	assertEquals("password", sender.transport.getConnectedPassword());
	assertTrue(sender.transport.isCloseCalled());
	assertEquals(1, sender.transport.getSentMessages().size());
	assertEquals(message.getMimeMessage(), sender.transport.getSentMessage(0));
}
 
@Test
public void javaMailSenderWithMimeMessageHelperAndDefaultEncoding() throws MessagingException {
	MockJavaMailSender sender = new MockJavaMailSender();
	sender.setHost("host");
	sender.setUsername("username");
	sender.setPassword("password");
	sender.setDefaultEncoding("UTF-8");

	FileTypeMap fileTypeMap = new ConfigurableMimeFileTypeMap();
	sender.setDefaultFileTypeMap(fileTypeMap);
	MimeMessageHelper message = new MimeMessageHelper(sender.createMimeMessage());
	assertEquals("UTF-8", message.getEncoding());
	assertEquals(fileTypeMap, message.getFileTypeMap());

	message.setTo("[email protected]");
	sender.send(message.getMimeMessage());

	assertEquals("host", sender.transport.getConnectedHost());
	assertEquals("username", sender.transport.getConnectedUsername());
	assertEquals("password", sender.transport.getConnectedPassword());
	assertTrue(sender.transport.isCloseCalled());
	assertEquals(1, sender.transport.getSentMessages().size());
	assertEquals(message.getMimeMessage(), sender.transport.getSentMessage(0));
}
 
@Override
public MimeMessage createMimeMessage() {

	// We have to use reflection as SmartMimeMessage is not package-private
	if (ClassUtils.isPresent(SMART_MIME_MESSAGE_CLASS_NAME,
			ClassUtils.getDefaultClassLoader())) {
		Class<?> smartMimeMessage = ClassUtils.resolveClassName(
				SMART_MIME_MESSAGE_CLASS_NAME, ClassUtils.getDefaultClassLoader());
		Constructor<?> constructor = ClassUtils.getConstructorIfAvailable(
				smartMimeMessage, Session.class, String.class, FileTypeMap.class);
		if (constructor != null) {
			Object mimeMessage = BeanUtils.instantiateClass(constructor, getSession(),
					this.defaultEncoding, this.defaultFileTypeMap);
			return (MimeMessage) mimeMessage;
		}
	}

	return new MimeMessage(getSession());
}
 
源代码9 项目: camel-quarkus   文件: CamelFileDataSource.java
@Override
public String getContentType() {
    if (typeMap == null) {
        return FileTypeMap.getDefaultFileTypeMap().getContentType(fileName);
    } else {
        return typeMap.getContentType(fileName);
    }
}
 
/**
 * Return the delegate FileTypeMap, compiled from the mappings in the mapping file
 * and the entries in the {@code mappings} property.
 * @see #setMappingLocation
 * @see #setMappings
 * @see #createFileTypeMap
 */
protected final FileTypeMap getFileTypeMap() {
	if (this.fileTypeMap == null) {
		try {
			this.fileTypeMap = createFileTypeMap(this.mappingLocation, this.mappings);
		}
		catch (IOException ex) {
			throw new IllegalStateException(
					"Could not load specified MIME type mapping file: " + this.mappingLocation, ex);
		}
	}
	return this.fileTypeMap;
}
 
源代码11 项目: spring-analysis-note   文件: SmartMimeMessage.java
/**
 * Create a new SmartMimeMessage.
 * @param session the JavaMail Session to create the message for
 * @param defaultEncoding the default encoding, or {@code null} if none
 * @param defaultFileTypeMap the default FileTypeMap, or {@code null} if none
 */
public SmartMimeMessage(
		Session session, @Nullable String defaultEncoding, @Nullable FileTypeMap defaultFileTypeMap) {

	super(session);
	this.defaultEncoding = defaultEncoding;
	this.defaultFileTypeMap = defaultFileTypeMap;
}
 
/**
 * Return the delegate FileTypeMap, compiled from the mappings in the mapping file
 * and the entries in the {@code mappings} property.
 * @see #setMappingLocation
 * @see #setMappings
 * @see #createFileTypeMap
 */
protected final FileTypeMap getFileTypeMap() {
	if (this.fileTypeMap == null) {
		try {
			this.fileTypeMap = createFileTypeMap(this.mappingLocation, this.mappings);
		}
		catch (IOException ex) {
			throw new IllegalStateException(
					"Could not load specified MIME type mapping file: " + this.mappingLocation, ex);
		}
	}
	return this.fileTypeMap;
}
 
源代码13 项目: java-technology-stack   文件: SmartMimeMessage.java
/**
 * Create a new SmartMimeMessage.
 * @param session the JavaMail Session to create the message for
 * @param defaultEncoding the default encoding, or {@code null} if none
 * @param defaultFileTypeMap the default FileTypeMap, or {@code null} if none
 */
public SmartMimeMessage(
		Session session, @Nullable String defaultEncoding, @Nullable FileTypeMap defaultFileTypeMap) {

	super(session);
	this.defaultEncoding = defaultEncoding;
	this.defaultFileTypeMap = defaultFileTypeMap;
}
 
源代码14 项目: lams   文件: ConfigurableMimeFileTypeMap.java
/**
 * Return the delegate FileTypeMap, compiled from the mappings in the mapping file
 * and the entries in the {@code mappings} property.
 * @see #setMappingLocation
 * @see #setMappings
 * @see #createFileTypeMap
 */
protected final FileTypeMap getFileTypeMap() {
	if (this.fileTypeMap == null) {
		try {
			this.fileTypeMap = createFileTypeMap(this.mappingLocation, this.mappings);
		}
		catch (IOException ex) {
			throw new IllegalStateException(
					"Could not load specified MIME type mapping file: " + this.mappingLocation, ex);
		}
	}
	return this.fileTypeMap;
}
 
源代码15 项目: eplmp   文件: BinaryResourceDownloadMeta.java
private static void initFileTypeMap() {
    fileTypeMap = new MimetypesFileTypeMap();

    // Additional MIME types
    fileTypeMap.addMimeTypes("application/atom+xml atom");
    fileTypeMap.addMimeTypes("application/msword doc dot");
    fileTypeMap.addMimeTypes("application/mspowerpoint ppt pot");
    fileTypeMap.addMimeTypes("application/msexcel xls");
    fileTypeMap.addMimeTypes("application/pdf pdf");
    fileTypeMap.addMimeTypes("application/rdf+xml rdf rss");
    fileTypeMap.addMimeTypes("application/x-vnd.openxmlformat docx docm dotx dotm");
    fileTypeMap.addMimeTypes("application/x-vnd.openxmlformat xlsx xlsm");
    fileTypeMap.addMimeTypes("application/x-vnd.openxmlformat pptx pptm potx");
    fileTypeMap.addMimeTypes("application/x-javascript js");
    fileTypeMap.addMimeTypes("application/x-rar-compressed rar");
    fileTypeMap.addMimeTypes("application/x-textedit bat cmd");
    fileTypeMap.addMimeTypes("application/zip zip");
    fileTypeMap.addMimeTypes("audio/mpeg mp3");
    fileTypeMap.addMimeTypes("image/bmp bmp");
    fileTypeMap.addMimeTypes("image/gif gif");
    fileTypeMap.addMimeTypes("image/jpeg jpg jpeg jpe");
    fileTypeMap.addMimeTypes("image/png png");
    fileTypeMap.addMimeTypes("text/css css");
    fileTypeMap.addMimeTypes("text/csv csv");
    fileTypeMap.addMimeTypes("text/html htm html");
    fileTypeMap.addMimeTypes("text/xml xml");
    fileTypeMap.addMimeTypes("video/quicktime qt mov moov");
    fileTypeMap.addMimeTypes("video/mpeg mpeg mpg mpe mpv vbs mpegv");
    fileTypeMap.addMimeTypes("video/msvideo avi");
    fileTypeMap.addMimeTypes("video/mp4 mp4");
    fileTypeMap.addMimeTypes("video/ogg ogg");

    FileTypeMap.setDefaultFileTypeMap(fileTypeMap);
}
 
/**
 * Introduced to dispel claims in a thread on Stack Overflow:
 * <a href="http://stackoverflow.com/questions/22986109/testing-spring-managed-servlet">Testing Spring managed servlet</a>
 */
@Test
public void getMimeTypeWithCustomConfiguredType() {
	FileTypeMap defaultFileTypeMap = FileTypeMap.getDefaultFileTypeMap();
	assertThat(defaultFileTypeMap, instanceOf(MimetypesFileTypeMap.class));
	MimetypesFileTypeMap mimetypesFileTypeMap = (MimetypesFileTypeMap) defaultFileTypeMap;
	mimetypesFileTypeMap.addMimeTypes("text/enigma    enigma");
	assertEquals("text/enigma", sc.getMimeType("filename.enigma"));
}
 
/**
 * Return the delegate FileTypeMap, compiled from the mappings in the mapping file
 * and the entries in the {@code mappings} property.
 * @see #setMappingLocation
 * @see #setMappings
 * @see #createFileTypeMap
 */
protected final FileTypeMap getFileTypeMap() {
	if (this.fileTypeMap == null) {
		try {
			this.fileTypeMap = createFileTypeMap(this.mappingLocation, this.mappings);
		}
		catch (IOException ex) {
			throw new IllegalStateException(
					"Could not load specified MIME type mapping file: " + this.mappingLocation, ex);
		}
	}
	return this.fileTypeMap;
}
 
源代码18 项目: unitime   文件: TaskExecutionItem.java
protected void onFinished() {
	org.hibernate.Session hibSession = TaskExecutionDAO.getInstance().createNewSession();
	Transaction tx = hibSession.beginTransaction();
	try {
		TaskExecution execution = TaskExecutionDAO.getInstance().get(getTaskExecutionId(), hibSession);
		if (execution != null) {
			execution.setFinishedDate(new Date());
			execution.setExecutionStatus(hasError() ? ExecutionStatus.FAILED.ordinal() : ExecutionStatus.FINISHED.ordinal());
			execution.setStatusMessageCheckLength(status());
			execution.setLogFile(createGson().toJson(getLog()));
			if (output() != null && output().exists()) {
				execution.setOutputName(getOutputName());
				execution.setOutputContentType(FileTypeMap.getDefaultFileTypeMap().getContentType(output()));
				FileInputStream is = new FileInputStream(output());
				try {
					execution.setOutputFile(IOUtils.toByteArray(is));
				} finally {
					is.close();
				}
			}
			hibSession.saveOrUpdate(execution);
		}
		hibSession.flush();
		tx.commit();
	} catch (Exception e) {
		tx.rollback();
	} finally {
		hibSession.close();
	}
}
 
源代码19 项目: unitime   文件: ByteArrayDataSource.java
public ByteArrayDataSource(File file) throws FileNotFoundException, IOException {
	iName = file.getName();
	iContentType = FileTypeMap.getDefaultFileTypeMap().getContentType(file);
	FileInputStream is = new FileInputStream(file);
	try {
		iData = IOUtils.toByteArray(is);
	} finally {
		is.close();
	}
}
 
源代码20 项目: openbd-core   文件: cfMAIL.java
private void addAttachments( Enumeration<fileAttachment> _attach, Multipart _parent, boolean _isInline ) throws MessagingException{
	while ( _attach.hasMoreElements() ){
		fileAttachment nextFile = _attach.nextElement();
		FileDataSource fds 			= new FileDataSource( nextFile.getFilepath() );
		String mimeType = nextFile.getMimetype();
		if (mimeType == null){
			// if mime type not supplied then auto detect
			mimeType = FileTypeMap.getDefaultFileTypeMap().getContentType(nextFile.getFilepath());
     }else{
			// since mime type is not null then it the mime type has been set manually therefore
			// we need to ensure that any call to the underlying FileDataSource.getFileTypeMap()
			// returns a FileTypeMap that will map to this type
			fds.setFileTypeMap(new CustomFileTypeMap(mimeType));
		}
		
		String filename = cleanName(fds.getName());
		try {
			// encode the filename to ensure that it contains US-ASCII characters only
			filename = MimeUtility.encodeText( filename, "utf-8", "b" );
		} catch (UnsupportedEncodingException e5) {
			// shouldn't occur
		}
	  MimeBodyPart mimeAttach	= new MimeBodyPart();
	  mimeAttach.setDataHandler( new DataHandler(fds) );
		mimeAttach.setFileName( filename );

		ContentType ct = new ContentType(mimeType);
		ct.setParameter("name", filename );
		
		mimeAttach.setHeader("Content-Type", ct.toString() );

		if ( _isInline ){
       mimeAttach.setDisposition( "inline" );
       mimeAttach.addHeader( "Content-id", "<" + nextFile.getContentid() + ">" );
		}
     
		_parent.addBodyPart(mimeAttach);
	}
}
 
@Test
void createMimeMessage_withCustomFileTypeMap_fileTypeMapIsAvailableInMailSender() {
	// Arrange
	SimpleEmailServiceJavaMailSender mailSender = new SimpleEmailServiceJavaMailSender(
			null);
	mailSender.setDefaultFileTypeMap(FileTypeMap.getDefaultFileTypeMap());

	// Act
	MimeMessage mimeMessage = mailSender.createMimeMessage();
	MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage);

	// Assert
	assertThat(mimeMessageHelper.getFileTypeMap()).as("ISO-8859-1").isNotNull();
}
 
源代码22 项目: rome   文件: FileBasedCollection.java
private void updateMediaEntryAppLinks(final Entry entry, final String fileName, final boolean singleEntry) {

        // TODO: figure out why PNG is missing from Java MIME types
        final FileTypeMap map = FileTypeMap.getDefaultFileTypeMap();
        if (map instanceof MimetypesFileTypeMap) {
            try {
                ((MimetypesFileTypeMap) map).addMimeTypes("image/png png PNG");
            } catch (final Exception ignored) {
            }
        }
        entry.setId(getEntryMediaViewURI(fileName));
        entry.setTitle(fileName);
        entry.setUpdated(new Date());

        final List<Link> otherlinks = new ArrayList<Link>();
        entry.setOtherLinks(otherlinks);

        final Link editlink = new Link();
        editlink.setRel("edit");
        editlink.setHref(getEntryEditURI(fileName, relativeURIs, singleEntry));
        otherlinks.add(editlink);

        final Link editMedialink = new Link();
        editMedialink.setRel("edit-media");
        editMedialink.setHref(getEntryMediaEditURI(fileName, relativeURIs, singleEntry));
        otherlinks.add(editMedialink);

        final Content content = entry.getContents().get(0);
        content.setSrc(getEntryMediaViewURI(fileName));
        final List<Content> contents = new ArrayList<Content>();
        contents.add(content);
        entry.setContents(contents);
    }
 
源代码23 项目: camel-quarkus   文件: CamelFileDataSource.java
@Override
public void setFileTypeMap(FileTypeMap map) {
    typeMap = map;
}
 
源代码24 项目: spring-analysis-note   文件: JavaMailSenderImpl.java
/**
 * Return the default Java Activation {@link FileTypeMap} for
 * {@link MimeMessage MimeMessages}, or {@code null} if none.
 */
@Nullable
public FileTypeMap getDefaultFileTypeMap() {
	return this.defaultFileTypeMap;
}
 
源代码25 项目: spring-analysis-note   文件: SmartMimeMessage.java
/**
 * Return the default FileTypeMap of this message, or {@code null} if none.
 */
@Nullable
public final FileTypeMap getDefaultFileTypeMap() {
	return this.defaultFileTypeMap;
}
 
源代码26 项目: spring-analysis-note   文件: MimeMessageHelper.java
/**
 * Return the {@code FileTypeMap} used by this MimeMessageHelper.
 */
public FileTypeMap getFileTypeMap() {
	return this.fileTypeMap;
}
 
源代码27 项目: java-technology-stack   文件: JavaMailSenderImpl.java
/**
 * Return the default Java Activation {@link FileTypeMap} for
 * {@link MimeMessage MimeMessages}, or {@code null} if none.
 */
@Nullable
public FileTypeMap getDefaultFileTypeMap() {
	return this.defaultFileTypeMap;
}
 
源代码28 项目: java-technology-stack   文件: SmartMimeMessage.java
/**
 * Return the default FileTypeMap of this message, or {@code null} if none.
 */
@Nullable
public final FileTypeMap getDefaultFileTypeMap() {
	return this.defaultFileTypeMap;
}
 
源代码29 项目: java-technology-stack   文件: MimeMessageHelper.java
/**
 * Return the {@code FileTypeMap} used by this MimeMessageHelper.
 */
public FileTypeMap getFileTypeMap() {
	return this.fileTypeMap;
}
 
源代码30 项目: cloud-search-samples   文件: GithubRepository.java
/**
 * Build the ApiOperation to index a content item (file).
 *
 * @param content      Content item to index
 * @param previousItem Previous item state in the index
 * @return ApiOperation (RepositoryDoc if indexing,  PushItem if not modified)
 * @throws IOException if unable to create operation
 */
private ApiOperation indexItem(GHContent content, Item previousItem)
    throws IOException {
  String metadataHash = content.getSha();

  // If previously indexed and unchanged, just requeue as unmodified
  if (canSkipIndexing(previousItem, metadataHash)) {
    return notModified(previousItem.getName());
  }

  String resourceName = new URL(content.getHtmlUrl()).getPath();
  FieldOrValue<String> title = FieldOrValue.withValue(content.getName());
  FieldOrValue<String> url = FieldOrValue.withValue(content.getHtmlUrl());

  String containerName = content.getOwner().getHtmlUrl().getPath();
  String programmingLanguage = FileExtensions.getLanguageForFile(content.getName());

  // Structured data based on the schema
  Multimap<String, Object> structuredData = ArrayListMultimap.create();
  structuredData.put("organization", content.getOwner().getOwnerName());
  structuredData.put("repository", content.getOwner().getName());
  structuredData.put("path", content.getPath());
  structuredData.put("language", programmingLanguage);

  Item item = IndexingItemBuilder.fromConfiguration(resourceName)
      .setTitle(title)
      .setContainerName(containerName)
      .setSourceRepositoryUrl(url)
      .setItemType(IndexingItemBuilder.ItemType.CONTAINER_ITEM)
      .setObjectType("file")
      .setValues(structuredData)
      .setVersion(Longs.toByteArray(System.currentTimeMillis()))
      .setHash(content.getSha())
      .build();

  // Index the file content too
  String mimeType = FileTypeMap.getDefaultFileTypeMap()
      .getContentType(content.getName());
  AbstractInputStreamContent fileContent = new InputStreamContent(
      mimeType, content.read())
      .setLength(content.getSize())
      .setCloseInputStream(true);
  return new RepositoryDoc.Builder()
      .setItem(item)
      .setContent(fileContent, IndexingService.ContentFormat.RAW)
      .setRequestMode(IndexingService.RequestMode.SYNCHRONOUS)
      .build();
}