Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Document(collection = CitizenForumMessageDocument.COLLECTION_NAME)
- public class ImageDocument {
- public static final String COLLECTION_NAME = "images";
- @Id
- private String id; // autogenerated
- private Image data; // data for the client (web, mobile...)
- private ImageMeta meta; // for internal application work (uploader ip, etc...)
- [...] // getter, setter
- }
- // send as is to a client
- public class Image {
- private String id;
- [...]
- }
- public void saveUploadedImage(Client client, ImageForm form) {
- ImageDocument doc = new ImageDocument();
- dao.save(doc); // create document cause we need an id...
- try {
- doc.setImage(createImage(form, doc.getId()));
- doc.setMeta(createMeta(client, form));
- } catch(Exception e){
- dao.remove(doc);
- return; // ugly...
- }
- dao.update(doc);
- }
- @Component
- public class MongoListener extends AbstractMongoEventListener<ImageDocument>
- {
- private final MongoTemplate mongoTemplate;
- @Autowired
- public MongoListener(final MongoTemplate mongoTemplate) {
- this.mongoTemplate = mongoTemplate;
- }
- @Override
- public void onAfterSave(AfterSaveEvent<ImageDocument> event) {
- ImageDocument imageDocument = event.getSource();
- if(imageDocument.getData().getId() == null) {
- imageDocument.getData().setId(imageDocument.getId());
- mongoTemplate.save(imageDocument);
- }
- }
- }
Add Comment
Please, Sign In to add comment