@Override public void onSuccess(final File file) { eventBus.fireEvent(new FileSavedEvent(file)); final Splittable annotatedFile = AutoBeanCodex.encode(AutoBeanUtils.getAutoBean(file)); StringQuoter.create(diskResourceUtil.parseParent(file.getPath())) .assign(annotatedFile, "parentFolderId"); StringQuoter.create(event.getPath()).assign(annotatedFile, "sourceUrl"); // Create notification message final Splittable message = StringQuoter.createSplittable(); StringQuoter.create("data").assign(message, "type"); String subject = file.getName().isEmpty() ? appearance.importFailed(event.getPath()) : appearance.fileUploadSuccess(file.getName()); StringQuoter.create(subject).assign(message, "subject"); StringQuoter.create(userInfo.getUsername()).assign(message, "user"); // Create Notification payload and attach message final Splittable payload = StringQuoter.createSplittable(); StringQuoter.create("file_uploaded").assign(payload, "action"); // Attach annotated file and notification message to payload annotatedFile.assign(payload, "data"); payload.assign(message, "payload"); final String notificationMsgPayload = message.getPayload(); userSessionService.postClientNotification( jsonUtil.getObject(notificationMsgPayload), new AsyncCallback<String>() { @Override public void onFailure(Throwable caught) { event.getHideable().hide(); announcer.schedule(new ErrorAnnouncementConfig(caught.getMessage())); } @Override public void onSuccess(String result) { event.getHideable().hide(); announcer.schedule( new SuccessAnnouncementConfig(appearance.importRequestSubmit(file.getName()))); } }); }
@Override public void onAnalysisParamValueSelected(AnalysisParamValueSelectedEvent event) { final AnalysisParameter value = event.getValue(); if (!((Input.equals(value.getType()) || FileInput.equals(value.getType()) || FolderInput.equals(value.getType()) || FileFolderInput.equals(value.getType()) || MultiFileSelector.equals(value.getType())))) { return; } String infoType = value.getInfoType(); if (infoType.equalsIgnoreCase("ReferenceGenome") || infoType.equalsIgnoreCase("ReferenceSequence") || infoType.equalsIgnoreCase("ReferenceAnnotation")) { return; } final File hasPath = factory.file().as(); hasPath.setPath(value.getDisplayValue()); final FastMap<TYPE> typeFastMap = diskResourceUtil.asStringPathTypeMap(Lists.newArrayList(hasPath), TYPE.FILE); diskResourceServiceAsyncProvider.get( new AsyncCallback<DiskResourceServiceFacade>() { @Override public void onFailure(Throwable caught) { ErrorHandler.post(caught); } @Override public void onSuccess(DiskResourceServiceFacade service) { service.getStat( typeFastMap, new GetStatCallback(value, eventBus, announcer, appearance)); } }); }