List of usage examples for org.springframework.social.facebook.api Facebook mediaOperations
MediaOperations mediaOperations();
From source file:architecture.ee.web.community.spring.controller.FacebookController.java
@RequestMapping(value = "/photo/{photoId}", method = RequestMethod.GET) @ResponseBody/*from w ww . j a v a 2 s . c o m*/ public Object getPhoto(@PathVariable("photoId") String photoId) throws Exception { SocialConnect account = getSocialConnect(SecurityHelper.getUser(), Media.FACEBOOK); Facebook api = (Facebook) account.getConnection().getApi(); Photo photo = api.mediaOperations().getPhoto(photoId); return photo; }
From source file:com.ssn.event.controller.SSNShareController.java
@Override public void mouseClicked(MouseEvent e) { Object mouseEventObj = e.getSource(); if (mouseEventObj != null && mouseEventObj instanceof JLabel) { JLabel label = (JLabel) mouseEventObj; getShareForm().setCursor(new Cursor(Cursor.WAIT_CURSOR)); // Tracking this sharing event in Google Analytics GoogleAnalyticsUtil.track(SSNConstants.SSN_APP_EVENT_SHARING); Thread thread = null;/*from w ww. j a va2 s.co m*/ switch (label.getName()) { case "FacebookSharing": thread = new Thread() { boolean isAlreadyLoggedIn = false; @Override public void run() { Set<String> sharedFileList = getFiles(); AccessGrant facebookAccessGrant = getHomeModel().getHomeForm().getFacebookAccessGrant(); if (facebookAccessGrant == null) { try { LoginWithFacebook loginWithFacebook = new LoginWithFacebook(null); loginWithFacebook.setHomeForm(getHomeModel().getHomeForm()); loginWithFacebook.login(); boolean processFurther = false; while (!processFurther) { facebookAccessGrant = getHomeModel().getHomeForm().getFacebookAccessGrant(); if (facebookAccessGrant == null) { Thread.sleep(10000); } else { processFurther = true; isAlreadyLoggedIn = true; } } } catch (InterruptedException ex) { logger.error(ex); } } FacebookConnectionFactory connectionFactory = new FacebookConnectionFactory( SSNConstants.SSN_FACEBOOK_API_KEY, SSNConstants.SSN_FACEBOOK_SECRET_KEY); Connection<Facebook> connection = connectionFactory.createConnection(facebookAccessGrant); Facebook facebook = connection.getApi(); MediaOperations mediaOperations = facebook.mediaOperations(); if (!isAlreadyLoggedIn) { // SSNMessageDialogBox messageDialogBox = new SSNMessageDialogBox(); SSNConfirmationDialogBox confirmeDialog = new SSNConfirmationDialogBox(); FacebookProfile userProfile = facebook.userOperations().getUserProfile(); String userName = ""; if (userProfile != null) { userName = userProfile.getName() != null ? userProfile.getName() : userProfile.getFirstName(); } confirmeDialog.initDialogBoxUI(SSNDialogChoice.NOTIFICATION_DIALOG.getType(), "Confirmation", "", "You are already logged in with " + userName + ", Click OK to continue."); int result = confirmeDialog.getResult(); if (result == JOptionPane.YES_OPTION) { SwingUtilities.invokeLater(new Runnable() { public void run() { SSNMessageDialogBox messageDialogBox = new SSNMessageDialogBox(); messageDialogBox.initDialogBoxUI( SSNDialogChoice.NOTIFICATION_DIALOG.getType(), "Message", "", "Successfully uploaded."); messageDialogBox.setFocusable(true); } }); } else if (result == JOptionPane.NO_OPTION) { AccessGrant facebookAccessGrant1 = null; if (facebookAccessGrant1 == null) { try { LoginWithFacebook loginWithFacebook = new LoginWithFacebook(null); loginWithFacebook.setHomeForm(getHomeModel().getHomeForm()); loginWithFacebook.login(); boolean processFurther = false; while (!processFurther) { facebookAccessGrant1 = getHomeModel().getHomeForm() .getFacebookAccessGrant(); if (facebookAccessGrant1 == null) { Thread.sleep(10000); } else { processFurther = true; //isAlreadyLoggedIn = true; } } connectionFactory = new FacebookConnectionFactory( SSNConstants.SSN_FACEBOOK_API_KEY, SSNConstants.SSN_FACEBOOK_SECRET_KEY); connection = connectionFactory.createConnection(facebookAccessGrant); facebook = connection.getApi(); mediaOperations = facebook.mediaOperations(); } catch (InterruptedException ex) { logger.error(ex); } } } } String[] videoSupported = SSNConstants.SSN_VIDEO_FORMAT_SUPPORTED; final List<String> videoSupportedList = Arrays.asList(videoSupported); for (String file : sharedFileList) { String fileExtension = file.substring(file.lastIndexOf(".") + 1, file.length()); Resource resource = new FileSystemResource(file); if (!videoSupportedList.contains(fileExtension.toUpperCase())) { String output = mediaOperations.postPhoto(resource); } else { String output = mediaOperations.postVideo(resource); } } getShareForm().dispose(); } }; thread.start(); break; case "TwitterSharing": LoginWithTwitter.deniedPermission = false; thread = new Thread() { boolean isAlreadyLoggedIn = false; @Override public void run() { Set<String> sharedFileList = getFiles(); OAuthToken twitterOAuthToken = getHomeModel().getHomeForm().getTwitterOAuthToken(); if (twitterOAuthToken == null) { try { LoginWithTwitter loginWithTwitter = new LoginWithTwitter(null); loginWithTwitter.setHomeForm(getHomeModel().getHomeForm()); loginWithTwitter.login(); boolean processFurther = false; while (!processFurther) { if (LoginWithTwitter.deniedPermission) break; twitterOAuthToken = getHomeModel().getHomeForm().getTwitterOAuthToken(); if (twitterOAuthToken == null) { Thread.sleep(10000); } else { processFurther = true; isAlreadyLoggedIn = true; } } } catch (IOException | InterruptedException ex) { logger.error(ex); } } if (!LoginWithTwitter.deniedPermission) { Twitter twitter = new TwitterTemplate(SSNConstants.SSN_TWITTER_API_KEY, SSNConstants.SSN_TWITTER_SECRET_KEY, twitterOAuthToken.getValue(), twitterOAuthToken.getSecret()); TimelineOperations timelineOperations = twitter.timelineOperations(); if (!isAlreadyLoggedIn) { SSNConfirmationDialogBox confirmeDialog = new SSNConfirmationDialogBox(); TwitterProfile userProfile = twitter.userOperations().getUserProfile(); String userName = ""; if (userProfile != null) { userName = twitter.userOperations().getScreenName() != null ? twitter.userOperations().getScreenName() : userProfile.getName(); } confirmeDialog.initDialogBoxUI(SSNDialogChoice.NOTIFICATION_DIALOG.getType(), "Confirmation", "", "You are already logged in with " + userName + ", Click OK to continue."); int result = confirmeDialog.getResult(); if (result == JOptionPane.YES_OPTION) { SwingUtilities.invokeLater(new Runnable() { public void run() { SSNMessageDialogBox messageDialogBox = new SSNMessageDialogBox(); messageDialogBox.initDialogBoxUI( SSNDialogChoice.NOTIFICATION_DIALOG.getType(), "Message", "", "Successfully uploaded."); messageDialogBox.setFocusable(true); } }); } else if (result == JOptionPane.NO_OPTION) { twitterOAuthToken = null; if (twitterOAuthToken == null) { try { LoginWithTwitter loginWithTwitter = new LoginWithTwitter(null); loginWithTwitter.setHomeForm(getHomeModel().getHomeForm()); loginWithTwitter.login(); boolean processFurther = false; while (!processFurther) { twitterOAuthToken = getHomeModel().getHomeForm() .getTwitterOAuthToken(); if (twitterOAuthToken == null) { Thread.sleep(10000); } else { processFurther = true; } } twitter = new TwitterTemplate(SSNConstants.SSN_TWITTER_API_KEY, SSNConstants.SSN_TWITTER_SECRET_KEY, twitterOAuthToken.getValue(), twitterOAuthToken.getSecret()); timelineOperations = twitter.timelineOperations(); } catch (IOException | InterruptedException ex) { logger.error(ex); } } } } for (String file : sharedFileList) { Resource image = new FileSystemResource(file); TweetData tweetData = new TweetData("At " + new Date()); tweetData.withMedia(image); timelineOperations.updateStatus(tweetData); } } else { SSNMessageDialogBox messageDialogBox = new SSNMessageDialogBox(); messageDialogBox.initDialogBoxUI(SSNDialogChoice.NOTIFICATION_DIALOG.getType(), "Alert", "", "User denied for OurHive App permission on twitter."); messageDialogBox.setFocusable(true); } getShareForm().dispose(); } }; thread.start(); break; case "InstagramSharing": break; case "MailSharing": try { String OS = System.getProperty("os.name").toLowerCase(); Set<String> sharedFileList = getFiles(); Set<String> voiceNoteList = new HashSet<String>(); for (String sharedFile : sharedFileList) { String voiceNote = SSNDao.getVoiceCommandPath(new File(sharedFile).getAbsolutePath()); if (voiceNote != null && !voiceNote.isEmpty()) { voiceNoteList.add(voiceNote); } } sharedFileList.addAll(voiceNoteList); String fileFullPath = ""; String caption = ""; if (sharedFileList.size() == 1) { fileFullPath = sharedFileList.toArray(new String[0])[0]; caption = SSMMediaGalleryPanel.readMetaDataForTitle(new File(fileFullPath)); } else if (sharedFileList.size() > 1) { fileFullPath = SSNHelper.createZipFileFromMultipleFiles(sharedFileList); } if (OS.contains("win")) { // String subject = "SSN Subject"; String subject = caption.equals("") ? SSNConstants.SSN_SHARE_WITH_MAIL_SUBJECT : caption; String body = ""; String m = "&subject=%s&body=%s"; String outLookExeDir = "C:\\Program Files\\Microsoft Office\\Office14\\Outlook.exe"; String mailCompose = "/c"; String note = "ipm.note"; String mailBodyContent = "/m"; m = String.format(m, subject, body); String slashA = "/a"; String mailClientConfigParams[] = null; Process startMailProcess = null; mailClientConfigParams = new String[] { outLookExeDir, mailCompose, note, mailBodyContent, m, slashA, fileFullPath }; startMailProcess = Runtime.getRuntime().exec(mailClientConfigParams); OutputStream out = startMailProcess.getOutputStream(); File zipFile = new File(fileFullPath); zipFile.deleteOnExit(); } else if (OS.indexOf("mac") >= 0) { //Process p = Runtime.getRuntime().exec(new String[]{String.format("open -a mail ", fileFullPath)}); Desktop desktop = Desktop.getDesktop(); String mailTo = caption.equals("") ? "?SUBJECT=" + SSNConstants.SSN_SHARE_WITH_MAIL_SUBJECT : caption; URI uriMailTo = null; uriMailTo = new URI("mailto", mailTo, null); desktop.mail(uriMailTo); } this.getShareForm().dispose(); } catch (Exception ex) { logger.error(ex); } break; case "moveCopy": getShareForm().dispose(); File album = new File(SSNHelper.getSsnHiveDirPath()); File[] albumPaths = album.listFiles(); Vector albumNames = new Vector(); for (int i = 0; i < albumPaths.length; i++) { if (!(albumPaths[i].getName().equals("OurHive")) && SSNHelper.lastAlbum != null && !(albumPaths[i].getName().equals(SSNHelper.lastAlbum))) albumNames.add(albumPaths[i].getName()); } if (SSNHelper.lastAlbum != null && !SSNHelper.lastAlbum.equals("OurHive")) albumNames.insertElementAt("OurHive", 0); SSNInputDialogBox inputBox = new SSNInputDialogBox(true, albumNames); inputBox.initDialogBoxUI(SSNDialogChoice.NOTIFICATION_DIALOG.getType(), "Copy Media", "Please Select Album Name"); String destAlbumName = inputBox.getTextValue(); if (StringUtils.isNotBlank(destAlbumName)) { homeModel.moveAlbum(destAlbumName, getFiles()); } } getShareForm().setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); } }
From source file:com.ssn.event.controller.SSNUntaggedMediaController.java
@Override public void mouseClicked(MouseEvent e) { Object mouseEventObj = e.getSource(); if (mouseEventObj != null && mouseEventObj instanceof JLabel) { JLabel label = (JLabel) mouseEventObj; JLabel toolbarLabel = SSNHomeController.currentLabel; this.getHomeModel().getHomeForm().getHomeController().setIconImage(toolbarLabel, "/icon/tagged-untagged-media.png", "allUntagged", SSNConstants.SSN_TOOLBAR_WHITE_FONT_COLOR); this.getHomeModel().getHomeForm().getHomeController().setIconImage(SSNToolBar.desktopHomeLabel, "/icon/white_icon/home.png", "home", SSNConstants.SSN_TEXT_LABEL_YELLOW_COLOR); this.getHomeModel().getHomeForm().setCursor(new Cursor(Cursor.WAIT_CURSOR)); int timoutCount = 0; logger.info("mouseClicked() label " + label.getName()); switch (label.getName()) { case "FacebookMedia": untaggedMediaForm.dispose(); String facebookMessage = "User denied for OurHive App permission on facebook."; if ((this.getHomeModel().getHomeForm().getFacebookAccessGrant() != null && !this.getHomeModel().getHomeForm().isLoggedInFromFaceBook() && getFaceBookConnection() != null) && this.getHomeModel().getHomeForm().isIsSocialSearched()) { try { File searchFolder = new File(SSNHelper.getFacebookPhotosDirPath()); File folder = new File(SSNHelper.getSsnDefaultDirPath()); File[] files = searchFolder.listFiles(); String defaultAlbumPath = ""; if (searchFolder.list().length > 0) { defaultAlbumPath = (searchFolder.listFiles())[0].getAbsolutePath(); files = new File(defaultAlbumPath).listFiles(); }//from w w w . j a va 2s . co m List<File> fileList = new ArrayList<File>(); for (File f : files) { fileList.add(f); } Iterator<File> iterator = fileList.iterator(); while (iterator.hasNext()) { File f = iterator.next(); boolean check = false; try { check = SSNDao .checkMediaExist(folder.getAbsolutePath() + File.separator + f.getName()); } catch (SQLException ex) { //ex.printStackTrace(); logger.error(ex); } if (check) { // iterator.remove(); } } File[] fileArray = new File[fileList.size()]; for (int i = 0; i < fileList.size(); i++) { fileArray[i] = fileList.get(i); } //this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.setText("facebookMedia"); // this.getHomeModel().getHomeForm().ssnFileExplorer.m_tree.setSelectionRow(0); this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.setText(defaultAlbumPath); //this.getHomeModel().getHomeForm().ssnFileExplorer.m_tree.setSelectionRow(0); this.getHomeModel().getHomeForm().getFileNamesToBeDeleted().clear(); //this.getHomeModel().getHomeForm().setCurrentSelectedFile(null); SSNHelper.toggleDeleteAndShareImages(false, this.getHomeModel().getHomeForm()); SSNGalleryHelper contentPane = new SSNGalleryHelper(fileArray, this.getHomeModel().getHomeForm()); contentPane.setBackground(SSNConstants.SSN_BLACK_BACKGROUND_COLOR); this.getHomeModel().getHomeForm().getSsnHomeCenterPanel().removeAll(); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().removeAll(); this.getHomeModel().getHomeForm().getSsnHomeCenterPanel().add(this.getHomeModel() .getHomeForm().getScrollPane(contentPane, SSNHelper.getAlbumNameFromPath( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.getText()))); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().add(this.getHomeModel() .getHomeForm() .getSortPanel("Date", false, SSNHelper.getAlbumNameFromPath( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.getText())), BorderLayout.NORTH); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().add( this.getHomeModel().getHomeForm().getSsnHomeCenterPanel(), BorderLayout.CENTER); this.getHomeModel().getSSNMediaFolderProperties( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.getText(), fileArray); renderLeftPanel(); this.getHomeModel().getHomeForm().revalidate(); } catch (IOException ex) { //java.util.logging.Logger.getLogger(SSNUntaggedMediaController.class.getName()).log(Level.SEVERE, null, ex); logger.error(ex); } } else { logger.info("Facebook login user not logged in mouseClicked switch case else part"); LoginWithFacebook.deniedPermission = false; AccessGrant facebookAccessGrant = getHomeModel().getHomeForm().getFacebookAccessGrant(); if (facebookAccessGrant == null) { try { LoginWithFacebook loginWithFacebook = new LoginWithFacebook(null); loginWithFacebook.setHomeForm(getHomeModel().getHomeForm()); loginWithFacebook.login(); boolean processFurther = false; while (!processFurther) { if (LoginWithFacebook.deniedPermission) { break; } facebookAccessGrant = getHomeModel().getHomeForm().getFacebookAccessGrant(); if (facebookAccessGrant == null) { if (timoutCount > (5 * 5000)) { LoginWithFacebook.deniedPermission = true; facebookMessage = "No response from Facebook."; SSNHttpServer.getHttpServer().stop(0); break; } else { Thread.sleep(5000); timoutCount += 5000; } } else { processFurther = true; } } } catch (InterruptedException ex) { logger.error(ex); //ex.printStackTrace(); } catch (Exception ex) { logger.error(ex); //ex.printStackTrace(); } } if (!LoginWithFacebook.deniedPermission) { // FacebookConnectionFactory connectionFactory = new FacebookConnectionFactory(SSNConstants.SSN_FACEBOOK_API_KEY, // SSNConstants.SSN_FACEBOOK_SECRET_KEY); Connection<Facebook> connection = getFaceBookConnection(); Facebook facebook = connection.getApi(); MediaOperations mediaOperations = facebook.mediaOperations(); PagedList<Album> albums = mediaOperations.getAlbums(); if (albums.size() > 0) { Collections.sort(albums, new Comparator<Album>() { @Override public int compare(final Album object1, final Album object2) { return object1.getName().compareTo(object2.getName()); } }); } if (albums != null && !albums.isEmpty()) { try { List<Photo> completePhotoList = new ArrayList<Photo>(); String albumName = ""; for (Album album : albums) { List<Photo> listPhoto = new ArrayList<Photo>(); int captured = 0; do { PagingParameters pagingParameters = new PagingParameters(100, captured, null, Calendar.getInstance().getTimeInMillis()); listPhoto = mediaOperations.getPhotos(album.getId(), pagingParameters); captured += listPhoto.size(); completePhotoList.addAll(listPhoto); albumName = album.getName(); File facebookPhotosDir = new File(SSNHelper.getFacebookPhotosDirPath() + album.getName() + File.separator); if (!facebookPhotosDir.exists()) { facebookPhotosDir.mkdir(); } } while (listPhoto.size() > 0); break; } File searchFolder = new File( SSNHelper.getFacebookPhotosDirPath() + File.separator + albumName); if (!searchFolder.exists()) { searchFolder.mkdirs(); } else { //delete whole directory and create new one each time FileUtils.deleteDirectory(searchFolder); searchFolder.mkdir(); } for (Photo photo : completePhotoList) { try { String imageUrl = ""; for (Photo.Image image : photo.getImages()) { if (image != null && image.getHeight() <= 500) { imageUrl = image.getSource(); break; } } if (imageUrl.isEmpty()) { imageUrl = photo.getSource(); } URL url = new URL(imageUrl); File file = new File(searchFolder.getAbsolutePath() + File.separator + photo.getId() + ".jpg"); if (!file.exists()) { try { FileUtils.copyURLToFile(url, file); } catch (Exception ex) { ex.printStackTrace(); logger.error(ex); } } } catch (MalformedURLException ex) { // java.util.logging.Logger.getLogger(SSNUntaggedMediaController.class.getName()).log(Level.SEVERE, null, ex); logger.error(ex); } } this.getHomeModel().getHomeForm().setIsSocialSearched(true); File[] files = searchFolder.listFiles(); File folder = new File(SSNHelper.getSsnDefaultDirPath()); List<File> tempFileList = Arrays.asList(files); List<File> fileList = new ArrayList<File>(); fileList.addAll(tempFileList); Iterator<File> iterator = fileList.iterator(); while (iterator.hasNext()) { File f = iterator.next(); boolean check = false; try { check = SSNDao.checkMediaExist( folder.getAbsolutePath() + File.separator + f.getName()); } catch (SQLException ex) { ex.printStackTrace(); } if (check) { //iterator.remove(); } } File[] fileArray = new File[fileList.size()]; for (int j = 0; j < fileList.size(); j++) { fileArray[j] = fileList.get(j); } String rootPath = SSNHelper.getSsnHiveDirPath(); //this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.setText("facebookMedia"); //this.getHomeModel().getHomeForm().ssnFileExplorer.m_tree.setSelectionRow(0); this.getHomeModel().getHomeForm().ssnFileExplorer.m_display .setText(searchFolder.getAbsolutePath()); // this.getHomeModel().getHomeForm().getFileNamesToBeDeleted().clear(); // this.getHomeModel().getHomeForm().setCurrentSelectedFile(null); // this.getHomeModel().getHomeForm().ssnFileExplorer.m_tree.setSelectionRow(0); SSNHelper.toggleDeleteAndShareImages(false, this.getHomeModel().getHomeForm()); SSNGalleryHelper contentPane = new SSNGalleryHelper(fileArray, this.getHomeModel().getHomeForm()); contentPane.setBackground(SSNConstants.SSN_BLACK_BACKGROUND_COLOR); this.getHomeModel().getHomeForm().getSsnHomeCenterPanel().removeAll(); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().removeAll(); this.getHomeModel().getHomeForm().getSsnHomeCenterPanel() .add(this.getHomeModel().getHomeForm().getScrollPane(contentPane, SSNHelper.getAlbumNameFromPath( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display .getText()))); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel() .add(this.getHomeModel().getHomeForm().getSortPanel("Date", false, SSNHelper.getAlbumNameFromPath( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display .getText())), BorderLayout.NORTH); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().add( this.getHomeModel().getHomeForm().getSsnHomeCenterPanel(), BorderLayout.CENTER); this.getHomeModel().getSSNMediaFolderProperties( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.getText(), fileArray); renderLeftPanel(); this.getHomeModel().getHomeForm().revalidate(); // System.out.println("Show gallery " + new Date()); } catch (IOException ex) { logger.error(ex); } } } else { SSNMessageDialogBox messageDialogBox = new SSNMessageDialogBox(); messageDialogBox.initDialogBoxUI(SSNDialogChoice.NOTIFICATION_DIALOG.getType(), "Alert", "", facebookMessage); messageDialogBox.setFocusable(true); } } break; case "InstagramMedia": untaggedMediaForm.dispose(); String instagarmMessage = "User denied for OurHive App permission on instagram!"; if ((this.getHomeModel().getHomeForm().getInstagramAccessGrant() != null && !this.getHomeModel().getHomeForm().isLoggedInFromInstagram()) || this.getHomeModel().getHomeForm().isInstagramSearched()) { try { // System.out.println("inside "); File searchFolder = new File( SSNHelper.getSsnWorkSpaceDirPath() + File.separator + "Instagram Media"); File folder = new File(SSNHelper.getSsnHiveDirPath() + File.separator + "InstagramMedia"); File[] files = searchFolder.listFiles(); List<File> fileList = new ArrayList<File>(); for (File f : files) { fileList.add(f); } Iterator<File> iterator = fileList.iterator(); while (iterator.hasNext()) { File f = iterator.next(); boolean check = false; try { check = SSNDao .checkMediaExist(folder.getAbsolutePath() + File.separator + f.getName()); } catch (SQLException ex) { ex.printStackTrace(); } if (check) { // iterator.remove(); } } File[] fileArray = new File[fileList.size()]; for (int i = 0; i < fileList.size(); i++) { fileArray[i] = fileList.get(i); } String rootPath = SSNHelper.getSsnHiveDirPath(); this.getHomeModel().getHomeForm().setCurrentSelectedFile(null); this.getHomeModel().getHomeForm().ssnFileExplorer.m_tree.setSelectionPath(null); this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.setText("instagramMedia"); //this.getHomeModel().getHomeForm().ssnFileExplorer.m_tree.setSelectionRow(0); //this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.setText(searchFolder.getAbsolutePath()); this.getHomeModel().getHomeForm().getFileNamesToBeDeleted().clear(); this.getHomeModel().getHomeForm().setCurrentSelectedFile(null); SSNHelper.toggleDeleteAndShareImages(false, this.getHomeModel().getHomeForm()); SSNGalleryHelper contentPane = new SSNGalleryHelper(fileArray, this.getHomeModel().getHomeForm()); contentPane.setBackground(SSNConstants.SSN_BLACK_BACKGROUND_COLOR); this.getHomeModel().getHomeForm().getSsnHomeCenterPanel().removeAll(); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().removeAll(); this.getHomeModel().getHomeForm().getSsnHomeCenterPanel().add( this.getHomeModel().getHomeForm().getScrollPane(contentPane, "Instagram Media")); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().add(this.getHomeModel() .getHomeForm() .getSortPanel("Date", false, SSNHelper.getAlbumNameFromPath( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.getText())), BorderLayout.NORTH); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().add( this.getHomeModel().getHomeForm().getSsnHomeCenterPanel(), BorderLayout.CENTER); this.getHomeModel().getSSNMediaFolderProperties( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.getText(), fileArray); renderLeftPanel(); this.getHomeModel().getHomeForm().revalidate(); } catch (IOException ex) { logger.error(ex); } } else { try { // System.out.println("cancle " + LoginWithInstagram.deniedInstagramPermission); LoginWithInstagram.deniedInstagramPermission = false; AccessGrant instgramAccessGrant = getHomeModel().getHomeForm().getInstagramAccessGrant(); if (instgramAccessGrant == null) { try { LoginWithInstagram loginWithInstagram = new LoginWithInstagram( getHomeModel().getHomeForm()); loginWithInstagram.login(); boolean processFurther = false; while (!processFurther) { if (LoginWithInstagram.deniedInstagramPermission) { break; } instgramAccessGrant = getHomeModel().getHomeForm().getInstagramAccessGrant(); if (instgramAccessGrant == null) { if (timoutCount > (5 * 5000)) { LoginWithInstagram.deniedInstagramPermission = true; instagarmMessage = "No response from instagram."; SSNHttpServer.getHttpServer().stop(0); break; } else { Thread.sleep(5000); timoutCount += 5000; } } else { processFurther = true; } } } catch (InterruptedException ex) { logger.error(ex); } } if (!LoginWithInstagram.deniedInstagramPermission) { String urlString = String.format( "https://api.instagram.com/v1/users/self/media/recent/?access_token=%s", instgramAccessGrant.getAccessToken()); List<InstagramMedia> imageList = new ArrayList<>(); getMedia(urlString, imageList); File searchFolder = new File( SSNHelper.getSsnWorkSpaceDirPath() + File.separator + "Instagram Media"); if (!searchFolder.exists()) { searchFolder.mkdirs(); } else { //delete whole directory and create new one each time FileUtils.deleteDirectory(searchFolder); searchFolder.mkdir(); } for (InstagramMedia photo : imageList) { String imageUrl = photo.getImageUrl(); URL url = new URL(imageUrl); File file = new File( searchFolder.getAbsolutePath() + File.separator + photo.getId() + ".jpg"); if (!file.exists()) { try { FileUtils.copyURLToFile(url, file); } catch (Exception ex) { logger.error(ex); } } } this.getHomeModel().getHomeForm().setInstagramSearched(true); File[] files = searchFolder.listFiles(); File folder = new File(SSNHelper.getSsnDefaultDirPath()); List<File> fileList = new ArrayList<File>(); for (File f : files) { fileList.add(f); } Iterator<File> iterator = fileList.iterator(); while (iterator.hasNext()) { File f = iterator.next(); boolean check = false; try { check = SSNDao.checkMediaExist( folder.getAbsolutePath() + File.separator + f.getName()); } catch (SQLException ex) { ex.printStackTrace(); logger.error(ex); } if (check) { // iterator.remove(); } } File[] fileArray = new File[fileList.size()]; for (int j = 0; j < fileList.size(); j++) { fileArray[j] = fileList.get(j); } String rootPath = SSNHelper.getSsnHiveDirPath(); this.getHomeModel().getHomeForm().setCurrentSelectedFile(null); this.getHomeModel().getHomeForm().ssnFileExplorer.m_tree.setSelectionPath(null); this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.setText("instagramMedia"); //this.getHomeModel().getHomeForm().ssnFileExplorer.m_tree.setSelectionRow(0); // this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.setText(searchFolder.getAbsolutePath()); this.getHomeModel().getHomeForm().getFileNamesToBeDeleted().clear(); //this.getHomeModel().getHomeForm().setCurrentSelectedFile(null); SSNHelper.toggleDeleteAndShareImages(false, this.getHomeModel().getHomeForm()); SSNGalleryHelper contentPane = new SSNGalleryHelper(fileArray, this.getHomeModel().getHomeForm()); contentPane.setBackground(SSNConstants.SSN_BLACK_BACKGROUND_COLOR); this.getHomeModel().getHomeForm().getSsnHomeCenterPanel().removeAll(); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().removeAll(); this.getHomeModel().getHomeForm().getSsnHomeCenterPanel().add(this.getHomeModel() .getHomeForm().getScrollPane(contentPane, "Instagram Media")); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().add(this.getHomeModel() .getHomeForm() .getSortPanel("Date", false, SSNHelper.getAlbumNameFromPath( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.getText())), BorderLayout.NORTH); this.getHomeModel().getHomeForm().getSsnHomeCenterMainPanel().add( this.getHomeModel().getHomeForm().getSsnHomeCenterPanel(), BorderLayout.CENTER); this.getHomeModel().getSSNMediaFolderProperties( this.getHomeModel().getHomeForm().ssnFileExplorer.m_display.getText(), fileArray); renderLeftPanel(); this.getHomeModel().getHomeForm().revalidate(); } else { SSNMessageDialogBox messageDialogBox = new SSNMessageDialogBox(); messageDialogBox.initDialogBoxUI(SSNDialogChoice.NOTIFICATION_DIALOG.getType(), "Alert", "", instagarmMessage); messageDialogBox.setFocusable(true); } } catch (ProtocolException ex) { // ex.printStackTrace(); logger.error(ex); // java.util.logging.Logger.getLogger(SSNUntaggedMediaController.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { //ex.printStackTrace(); logger.error(ex); // java.util.logging.Logger.getLogger(SSNUntaggedMediaController.class.getName()).log(Level.SEVERE, null, ex); } } break; case "deviceMedia": untaggedMediaForm.dispose(); this.getHomeModel().findTagUntaggedMedia(); break; case "Cancel": untaggedMediaForm.dispose(); } SSNHomeController.isUnTaggedOpen = false; untaggedMediaForm.dispose(); this.getHomeModel().getHomeForm().setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); } }