Skip to content

Instantly share code, notes, and snippets.

@ricston-git
Created July 27, 2015 12:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ricston-git/aa56d824bca707ffa9b9 to your computer and use it in GitHub Desktop.
Save ricston-git/aa56d824bca707ffa9b9 to your computer and use it in GitHub Desktop.
package com.ricston.transformers;
import org.mule.api.EncryptionStrategy;
import org.mule.api.security.CryptoFailureException;
import org.mule.api.transformer.TransformerException;
import org.mule.transformer.AbstractTransformer;
import java.util.List;
import org.dom4j.tree.DefaultDocument;
import org.dom4j.tree.DefaultElement;
public class NodeEncryptTransformer extends AbstractTransformer {
private EncryptionStrategy encryptionStrategy;
@Override
protected Object doTransform(Object payload, String encoding) throws TransformerException {
DefaultDocument document = (DefaultDocument)payload;
List elementList = document.getRootElement().elements();
try {
for(DefaultElement element : elementList) {
element.setText(new String(encryptionStrategy.encrypt(element.getText().getBytes(), "UTF-8")));
}
}
catch(CryptoFailureException e) {
throw new TransformerException(this, e);
}
return payload;
}
public EncryptionStrategy getEncryptionStrategy() {
return encryptionStrategy;
}
public void setEncryptionStrategy(EncryptionStrategy encryptionStrategy) {
this.encryptionStrategy = encryptionStrategy;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment