1 /* ownCloud Android client application 
   2  *   Copyright (C) 2014 ownCloud Inc. 
   4  *   This program is free software: you can redistribute it and/or modify 
   5  *   it under the terms of the GNU General Public License version 2, 
   6  *   as published by the Free Software Foundation. 
   8  *   This program is distributed in the hope that it will be useful, 
   9  *   but WITHOUT ANY WARRANTY; without even the implied warranty of 
  10  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  11  *   GNU General Public License for more details. 
  13  *   You should have received a copy of the GNU General Public License 
  14  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. 
  18 package com
.owncloud
.android
.operations
; 
  20 import com
.owncloud
.android
.datamodel
.OCFile
; 
  21 import com
.owncloud
.android
.lib
.network
.OwnCloudClient
; 
  22 import com
.owncloud
.android
.lib
.operations
.common
.OCShare
; 
  23 import com
.owncloud
.android
.lib
.operations
.common
.RemoteOperationResult
; 
  24 import com
.owncloud
.android
.lib
.operations
.common
.RemoteOperationResult
.ResultCode
; 
  25 import com
.owncloud
.android
.lib
.operations
.remote
.UnshareLinkRemoteOperation
; 
  26 import com
.owncloud
.android
.operations
.common
.SyncOperation
; 
  27 import com
.owncloud
.android
.utils
.Log_OC
; 
  31  * Save the data in Database 
  35 public class UnshareLinkOperation 
extends SyncOperation 
{ 
  37     private static final String TAG 
= UnshareLinkOperation
.class.getSimpleName(); 
  41     public UnshareLinkOperation(OCFile file
) { 
  46     protected RemoteOperationResult 
run(OwnCloudClient client
) { 
  47         RemoteOperationResult result  
= null
; 
  49         // Get Share for a file 
  50         OCShare share 
= getStorageManager().getShareByPath(mFile
.getRemotePath()); 
  53             UnshareLinkRemoteOperation operation 
= new UnshareLinkRemoteOperation((int) share
.getIdRemoteShared()); 
  54             result 
= operation
.execute(client
); 
  56             if (result
.isSuccess()) { 
  57                 Log_OC
.d(TAG
, "Share id = " + share
.getIdRemoteShared() + " deleted"); 
  59                 mFile
.setShareByLink(false
); 
  60                 mFile
.setPublicLink(""); 
  61                 getStorageManager().saveFile(mFile
); 
  62                 getStorageManager().removeShare(share
); 
  66             result 
= new RemoteOperationResult(ResultCode
.FILE_NOT_FOUND
);