mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-31 10:27:45 +00:00 
			
		
		
		
	Fix some indentation issues
This commit is contained in:
		
							parent
							
								
									59ed7e42ec
								
							
						
					
					
						commit
						87a8b418de
					
				| @ -47,24 +47,24 @@ import static com.owncloud.android.lib.common.operations.RemoteOperationResult.R | |||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * Created by masensio on 08/10/2015. |  * Created by masensio on 08/10/2015. | ||||||
|  * |  * <p> | ||||||
|  * Retrieves a list of sharees (possible targets of a share) from the ownCloud server. |  * Retrieves a list of sharees (possible targets of a share) from the ownCloud server. | ||||||
|  * |  * <p> | ||||||
|  * Currently only handles users and groups. Users in other OC servers (federation) should be added later. |  * Currently only handles users and groups. Users in other OC servers (federation) should be added later. | ||||||
|  * |  * <p> | ||||||
|  * Depends on SHAREE API. {@See https://github.com/owncloud/documentation/issues/1626} |  * Depends on SHAREE API. {@See https://github.com/owncloud/documentation/issues/1626} | ||||||
|  * |  * <p> | ||||||
|  * Syntax: |  * Syntax: | ||||||
|  *    Entry point: ocs/v2.php/apps/files_sharing/api/v1/sharees |  * Entry point: ocs/v2.php/apps/files_sharing/api/v1/sharees | ||||||
|  *    HTTP method: GET |  * HTTP method: GET | ||||||
|  *    url argument: itemType - string, required |  * url argument: itemType - string, required | ||||||
|  *    url argument: format - string, optional |  * url argument: format - string, optional | ||||||
|  *    url argument: search - string, optional |  * url argument: search - string, optional | ||||||
|  *    url arguments: perPage - int, optional |  * url arguments: perPage - int, optional | ||||||
|  *    url arguments: page - int, optional |  * url arguments: page - int, optional | ||||||
|  * |  * <p> | ||||||
|  * Status codes: |  * Status codes: | ||||||
|  *    100 - successful |  * 100 - successful | ||||||
|  * |  * | ||||||
|  * @author masensio |  * @author masensio | ||||||
|  * @author David A. Velasco |  * @author David A. Velasco | ||||||
| @ -108,9 +108,9 @@ public class GetRemoteShareesOperation extends RemoteOperation<ArrayList<JSONObj | |||||||
|     /** |     /** | ||||||
|      * Constructor |      * Constructor | ||||||
|      * |      * | ||||||
|      * @param searchString  	string for searching users, optional |      * @param searchString string for searching users, optional | ||||||
|      * @param page			    page index in the list of results; beginning in 1 |      * @param page         page index in the list of results; beginning in 1 | ||||||
|      * @param perPage           maximum number of results in a single page |      * @param perPage      maximum number of results in a single page | ||||||
|      */ |      */ | ||||||
|     public GetRemoteShareesOperation(String searchString, int page, int perPage) { |     public GetRemoteShareesOperation(String searchString, int page, int perPage) { | ||||||
|         mSearchString = searchString; |         mSearchString = searchString; | ||||||
| @ -122,7 +122,7 @@ public class GetRemoteShareesOperation extends RemoteOperation<ArrayList<JSONObj | |||||||
|     protected RemoteOperationResult<ArrayList<JSONObject>> run(OwnCloudClient client) { |     protected RemoteOperationResult<ArrayList<JSONObject>> run(OwnCloudClient client) { | ||||||
|         RemoteOperationResult<ArrayList<JSONObject>> result; |         RemoteOperationResult<ArrayList<JSONObject>> result; | ||||||
| 
 | 
 | ||||||
|         try{ |         try { | ||||||
|             Uri requestUri = client.getBaseUri(); |             Uri requestUri = client.getBaseUri(); | ||||||
|             Uri.Builder uriBuilder = requestUri.buildUpon() |             Uri.Builder uriBuilder = requestUri.buildUpon() | ||||||
|                     .appendEncodedPath(OCS_ROUTE) |                     .appendEncodedPath(OCS_ROUTE) | ||||||
| @ -139,7 +139,7 @@ public class GetRemoteShareesOperation extends RemoteOperation<ArrayList<JSONObj | |||||||
|             int status = client.executeHttpMethod(getMethod); |             int status = client.executeHttpMethod(getMethod); | ||||||
|             String response = getMethod.getResponseBodyAsString(); |             String response = getMethod.getResponseBodyAsString(); | ||||||
| 
 | 
 | ||||||
|             if(isSuccess(status)) { |             if (isSuccess(status)) { | ||||||
|                 Log_OC.d(TAG, "Successful response: " + response); |                 Log_OC.d(TAG, "Successful response: " + response); | ||||||
| 
 | 
 | ||||||
|                 // Parse the response |                 // Parse the response | ||||||
| @ -163,8 +163,8 @@ public class GetRemoteShareesOperation extends RemoteOperation<ArrayList<JSONObj | |||||||
|                 }; |                 }; | ||||||
| 
 | 
 | ||||||
|                 ArrayList<JSONObject> data = new ArrayList<>(); // For result data |                 ArrayList<JSONObject> data = new ArrayList<>(); // For result data | ||||||
|                 for (int i=0; i<6; i++) { |                 for (int i = 0; i < 6; i++) { | ||||||
|                     for(int j=0; j< jsonResults[i].length(); j++){ |                     for (int j = 0; j < jsonResults[i].length(); j++) { | ||||||
|                         JSONObject jsonResult = jsonResults[i].getJSONObject(j); |                         JSONObject jsonResult = jsonResults[i].getJSONObject(j); | ||||||
|                         data.add(jsonResult); |                         data.add(jsonResult); | ||||||
|                         Log_OC.d(TAG, "*** Added item: " + jsonResult.getString(PROPERTY_LABEL)); |                         Log_OC.d(TAG, "*** Added item: " + jsonResult.getString(PROPERTY_LABEL)); | ||||||
| @ -174,7 +174,7 @@ public class GetRemoteShareesOperation extends RemoteOperation<ArrayList<JSONObj | |||||||
|                 result = new RemoteOperationResult<>(OK); |                 result = new RemoteOperationResult<>(OK); | ||||||
|                 result.setData(data); |                 result.setData(data); | ||||||
| 
 | 
 | ||||||
|                 Log_OC.d(TAG, "*** Get Users or groups completed " ); |                 Log_OC.d(TAG, "*** Get Users or groups completed "); | ||||||
| 
 | 
 | ||||||
|             } else { |             } else { | ||||||
|                 result = new RemoteOperationResult<>(getMethod); |                 result = new RemoteOperationResult<>(getMethod); | ||||||
|  | |||||||
| @ -39,405 +39,414 @@ import java.util.ArrayList; | |||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * Parser for Share API Response |  * Parser for Share API Response | ||||||
|  |  * | ||||||
|  * @author masensio |  * @author masensio | ||||||
|  * @author David González Verdugo |  * @author David González Verdugo | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| public class ShareXMLParser { | public class ShareXMLParser { | ||||||
| 
 | 
 | ||||||
| 	//private static final String TAG = ShareXMLParser.class.getSimpleName(); |     //private static final String TAG = ShareXMLParser.class.getSimpleName(); | ||||||
| 
 | 
 | ||||||
| 	// No namespaces |     // No namespaces | ||||||
| 	private static final String ns = null; |     private static final String ns = null; | ||||||
| 
 | 
 | ||||||
| 	// NODES for XML Parser |     // NODES for XML Parser | ||||||
| 	private static final String NODE_OCS = "ocs"; |     private static final String NODE_OCS = "ocs"; | ||||||
| 
 | 
 | ||||||
| 	private static final String NODE_META = "meta"; |     private static final String NODE_META = "meta"; | ||||||
| 	private static final String NODE_STATUS = "status"; |     private static final String NODE_STATUS = "status"; | ||||||
| 	private static final String NODE_STATUS_CODE = "statuscode"; |     private static final String NODE_STATUS_CODE = "statuscode"; | ||||||
| 	private static final String NODE_MESSAGE = "message"; |     private static final String NODE_MESSAGE = "message"; | ||||||
| 
 | 
 | ||||||
| 	private static final String NODE_DATA = "data"; |     private static final String NODE_DATA = "data"; | ||||||
| 	private static final String NODE_ELEMENT = "element"; |     private static final String NODE_ELEMENT = "element"; | ||||||
| 	private static final String NODE_ID = "id"; |     private static final String NODE_ID = "id"; | ||||||
| 	private static final String NODE_ITEM_TYPE = "item_type"; |     private static final String NODE_ITEM_TYPE = "item_type"; | ||||||
| 	private static final String NODE_ITEM_SOURCE = "item_source"; |     private static final String NODE_ITEM_SOURCE = "item_source"; | ||||||
| 	private static final String NODE_PARENT = "parent"; |     private static final String NODE_PARENT = "parent"; | ||||||
| 	private static final String NODE_SHARE_TYPE = "share_type"; |     private static final String NODE_SHARE_TYPE = "share_type"; | ||||||
| 	private static final String NODE_SHARE_WITH = "share_with"; |     private static final String NODE_SHARE_WITH = "share_with"; | ||||||
| 	private static final String NODE_FILE_SOURCE = "file_source"; |     private static final String NODE_FILE_SOURCE = "file_source"; | ||||||
| 	private static final String NODE_PATH = "path"; |     private static final String NODE_PATH = "path"; | ||||||
| 	private static final String NODE_PERMISSIONS = "permissions"; |     private static final String NODE_PERMISSIONS = "permissions"; | ||||||
| 	private static final String NODE_STIME = "stime"; |     private static final String NODE_STIME = "stime"; | ||||||
| 	private static final String NODE_EXPIRATION = "expiration"; |     private static final String NODE_EXPIRATION = "expiration"; | ||||||
| 	private static final String NODE_TOKEN = "token"; |     private static final String NODE_TOKEN = "token"; | ||||||
| 	private static final String NODE_STORAGE = "storage"; |     private static final String NODE_STORAGE = "storage"; | ||||||
| 	private static final String NODE_MAIL_SEND = "mail_send"; |     private static final String NODE_MAIL_SEND = "mail_send"; | ||||||
| 	private static final String NODE_SHARE_WITH_DISPLAY_NAME = "share_with_displayname"; |     private static final String NODE_SHARE_WITH_DISPLAY_NAME = "share_with_displayname"; | ||||||
| 	private static final String NODE_SHARE_WITH_ADDITIONAL_INFO = "share_with_additional_info"; |     private static final String NODE_SHARE_WITH_ADDITIONAL_INFO = "share_with_additional_info"; | ||||||
| 	private static final String NODE_NAME = "name"; |     private static final String NODE_NAME = "name"; | ||||||
| 
 | 
 | ||||||
| 	private static final String NODE_URL = "url"; |     private static final String NODE_URL = "url"; | ||||||
| 
 | 
 | ||||||
| 	private static final String TYPE_FOLDER = "folder"; |     private static final String TYPE_FOLDER = "folder"; | ||||||
| 
 | 
 | ||||||
| 	private static final int SUCCESS = 200; |     private static final int SUCCESS = 200; | ||||||
| 	private static final int ERROR_WRONG_PARAMETER = 400; |     private static final int ERROR_WRONG_PARAMETER = 400; | ||||||
| 	private static final int ERROR_FORBIDDEN = 403; |     private static final int ERROR_FORBIDDEN = 403; | ||||||
| 	private static final int ERROR_NOT_FOUND = 404; |     private static final int ERROR_NOT_FOUND = 404; | ||||||
| 
 | 
 | ||||||
| 	private String mStatus; |     private String mStatus; | ||||||
| 	private int mStatusCode; |     private int mStatusCode; | ||||||
| 	private String mMessage; |     private String mMessage; | ||||||
| 
 | 
 | ||||||
| 	// Getters and Setters |     // Getters and Setters | ||||||
| 	public String getStatus() { |     public String getStatus() { | ||||||
| 		return mStatus; |         return mStatus; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	public void setStatus(String status) { |     public void setStatus(String status) { | ||||||
| 		this.mStatus = status; |         this.mStatus = status; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	public int getStatusCode() { |     public int getStatusCode() { | ||||||
| 		return mStatusCode; |         return mStatusCode; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	public void setStatusCode(int statusCode) { |     public void setStatusCode(int statusCode) { | ||||||
| 		this.mStatusCode = statusCode; |         this.mStatusCode = statusCode; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	public String getMessage() { |     public String getMessage() { | ||||||
| 		return mMessage; |         return mMessage; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	public void setMessage(String message) { |     public void setMessage(String message) { | ||||||
| 		this.mMessage = message; |         this.mMessage = message; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	// Constructor |     // Constructor | ||||||
| 	public ShareXMLParser() { |     public ShareXMLParser() { | ||||||
| 		mStatusCode = -1; |         mStatusCode = -1; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	public boolean isSuccess() { |     public boolean isSuccess() { | ||||||
| 		return mStatusCode == SUCCESS; |         return mStatusCode == SUCCESS; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	public boolean isForbidden() { |     public boolean isForbidden() { | ||||||
| 		return mStatusCode == ERROR_FORBIDDEN; |         return mStatusCode == ERROR_FORBIDDEN; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	public boolean isNotFound() { |     public boolean isNotFound() { | ||||||
| 		return mStatusCode == ERROR_NOT_FOUND; |         return mStatusCode == ERROR_NOT_FOUND; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	public boolean isWrongParameter() { |     public boolean isWrongParameter() { | ||||||
| 		return mStatusCode == ERROR_WRONG_PARAMETER; |         return mStatusCode == ERROR_WRONG_PARAMETER; | ||||||
| 	} |     } | ||||||
| 
 | 
 | ||||||
| 	/** |     /** | ||||||
| 	 * Parse is as response of Share API |      * Parse is as response of Share API | ||||||
| 	 * @param is |      * | ||||||
| 	 * @return List of ShareRemoteFiles |      * @param is | ||||||
| 	 * @throws XmlPullParserException |      * @return List of ShareRemoteFiles | ||||||
| 	 * @throws IOException |      * @throws XmlPullParserException | ||||||
| 	 */ |      * @throws IOException | ||||||
| 	public ArrayList<OCShare> parseXMLResponse(InputStream is) throws XmlPullParserException, |      */ | ||||||
| 			IOException { |     public ArrayList<OCShare> parseXMLResponse(InputStream is) throws XmlPullParserException, | ||||||
| 
 |             IOException { | ||||||
| 		try { | 
 | ||||||
| 			// XMLPullParser |         try { | ||||||
| 			XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); |             // XMLPullParser | ||||||
| 			factory.setNamespaceAware(true); |             XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); | ||||||
| 
 |             factory.setNamespaceAware(true); | ||||||
| 			XmlPullParser parser = Xml.newPullParser(); | 
 | ||||||
| 			parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); |             XmlPullParser parser = Xml.newPullParser(); | ||||||
| 			parser.setInput(is, null); |             parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); | ||||||
| 			parser.nextTag(); |             parser.setInput(is, null); | ||||||
| 			return readOCS(parser); |             parser.nextTag(); | ||||||
| 
 |             return readOCS(parser); | ||||||
| 		} finally { | 
 | ||||||
| 			is.close(); |         } finally { | ||||||
| 		} |             is.close(); | ||||||
| 	} |         } | ||||||
| 
 |     } | ||||||
| 	/** | 
 | ||||||
| 	 * Parse OCS node |     /** | ||||||
| 	 * @param parser |      * Parse OCS node | ||||||
| 	 * @return List of ShareRemoteFiles |      * | ||||||
| 	 * @throws XmlPullParserException |      * @param parser | ||||||
| 	 * @throws IOException |      * @return List of ShareRemoteFiles | ||||||
| 	 */ |      * @throws XmlPullParserException | ||||||
| 	private ArrayList<OCShare> readOCS (XmlPullParser parser) throws XmlPullParserException, |      * @throws IOException | ||||||
| 			IOException { |      */ | ||||||
| 		ArrayList<OCShare> shares = new ArrayList<>(); |     private ArrayList<OCShare> readOCS(XmlPullParser parser) throws XmlPullParserException, | ||||||
| 		parser.require(XmlPullParser.START_TAG,  ns , NODE_OCS); |             IOException { | ||||||
| 		while (parser.next() != XmlPullParser.END_TAG) { |         ArrayList<OCShare> shares = new ArrayList<>(); | ||||||
| 			if (parser.getEventType() != XmlPullParser.START_TAG) { |         parser.require(XmlPullParser.START_TAG, ns, NODE_OCS); | ||||||
| 				continue; |         while (parser.next() != XmlPullParser.END_TAG) { | ||||||
| 			} |             if (parser.getEventType() != XmlPullParser.START_TAG) { | ||||||
| 			String name = parser.getName(); |                 continue; | ||||||
| 			// read NODE_META and NODE_DATA |             } | ||||||
| 			if (name.equalsIgnoreCase(NODE_META)) { |             String name = parser.getName(); | ||||||
| 				readMeta(parser); |             // read NODE_META and NODE_DATA | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_DATA)) { |             if (name.equalsIgnoreCase(NODE_META)) { | ||||||
| 				shares = readData(parser); |                 readMeta(parser); | ||||||
| 			} else { |             } else if (name.equalsIgnoreCase(NODE_DATA)) { | ||||||
| 				skip(parser); |                 shares = readData(parser); | ||||||
| 			} |             } else { | ||||||
| 
 |                 skip(parser); | ||||||
| 		} |             } | ||||||
| 		return shares; | 
 | ||||||
| 	} |         } | ||||||
| 
 |         return shares; | ||||||
| 	/** |     } | ||||||
| 	 * Parse Meta node | 
 | ||||||
| 	 * @param parser |     /** | ||||||
| 	 * @throws XmlPullParserException |      * Parse Meta node | ||||||
| 	 * @throws IOException |      * | ||||||
| 	 */ |      * @param parser | ||||||
| 	private void readMeta(XmlPullParser parser) throws XmlPullParserException, IOException { |      * @throws XmlPullParserException | ||||||
| 		parser.require(XmlPullParser.START_TAG, ns, NODE_META); |      * @throws IOException | ||||||
| 		//Log_OC.d(TAG, "---- NODE META ---"); |      */ | ||||||
| 		while (parser.next() != XmlPullParser.END_TAG) { |     private void readMeta(XmlPullParser parser) throws XmlPullParserException, IOException { | ||||||
| 			if (parser.getEventType() != XmlPullParser.START_TAG) { |         parser.require(XmlPullParser.START_TAG, ns, NODE_META); | ||||||
| 				continue; |         //Log_OC.d(TAG, "---- NODE META ---"); | ||||||
| 			} |         while (parser.next() != XmlPullParser.END_TAG) { | ||||||
| 			String name = parser.getName(); |             if (parser.getEventType() != XmlPullParser.START_TAG) { | ||||||
| 
 |                 continue; | ||||||
| 			if  (name.equalsIgnoreCase(NODE_STATUS)) { |             } | ||||||
| 				setStatus(readNode(parser, NODE_STATUS)); |             String name = parser.getName(); | ||||||
| 
 | 
 | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_STATUS_CODE)) { |             if (name.equalsIgnoreCase(NODE_STATUS)) { | ||||||
| 				setStatusCode(Integer.parseInt(readNode(parser, NODE_STATUS_CODE))); |                 setStatus(readNode(parser, NODE_STATUS)); | ||||||
| 
 | 
 | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_MESSAGE)) { |             } else if (name.equalsIgnoreCase(NODE_STATUS_CODE)) { | ||||||
| 				setMessage(readNode(parser, NODE_MESSAGE)); |                 setStatusCode(Integer.parseInt(readNode(parser, NODE_STATUS_CODE))); | ||||||
| 
 | 
 | ||||||
| 			} else { |             } else if (name.equalsIgnoreCase(NODE_MESSAGE)) { | ||||||
| 				skip(parser); |                 setMessage(readNode(parser, NODE_MESSAGE)); | ||||||
| 			} | 
 | ||||||
| 
 |             } else { | ||||||
| 		} |                 skip(parser); | ||||||
| 	} |             } | ||||||
| 
 | 
 | ||||||
| 	/** |         } | ||||||
| 	 * Parse Data node |     } | ||||||
| 	 * @param parser | 
 | ||||||
| 	 * @return |     /** | ||||||
| 	 * @throws XmlPullParserException |      * Parse Data node | ||||||
| 	 * @throws IOException |      * | ||||||
| 	 */ |      * @param parser | ||||||
| 	private ArrayList<OCShare> readData(XmlPullParser parser) throws XmlPullParserException, |      * @return | ||||||
| 			IOException { |      * @throws XmlPullParserException | ||||||
| 		ArrayList<OCShare> shares = new ArrayList<OCShare>(); |      * @throws IOException | ||||||
| 		OCShare share = null; |      */ | ||||||
| 
 |     private ArrayList<OCShare> readData(XmlPullParser parser) throws XmlPullParserException, | ||||||
| 		parser.require(XmlPullParser.START_TAG, ns, NODE_DATA); |             IOException { | ||||||
| 		//Log_OC.d(TAG, "---- NODE DATA ---"); |         ArrayList<OCShare> shares = new ArrayList<OCShare>(); | ||||||
| 		while (parser.next() != XmlPullParser.END_TAG) { |         OCShare share = null; | ||||||
| 			if (parser.getEventType() != XmlPullParser.START_TAG) { | 
 | ||||||
| 				continue; |         parser.require(XmlPullParser.START_TAG, ns, NODE_DATA); | ||||||
| 			} |         //Log_OC.d(TAG, "---- NODE DATA ---"); | ||||||
| 			String name = parser.getName(); |         while (parser.next() != XmlPullParser.END_TAG) { | ||||||
| 			if (name.equalsIgnoreCase(NODE_ELEMENT)) { |             if (parser.getEventType() != XmlPullParser.START_TAG) { | ||||||
| 				readElement(parser, shares); |                 continue; | ||||||
| 
 |             } | ||||||
| 			}  else if (name.equalsIgnoreCase(NODE_ID)) {// Parse Create XML Response |             String name = parser.getName(); | ||||||
| 				share = new OCShare(); |             if (name.equalsIgnoreCase(NODE_ELEMENT)) { | ||||||
| 				String value = readNode(parser, NODE_ID); |                 readElement(parser, shares); | ||||||
| 				share.setIdRemoteShared(Integer.parseInt(value)); | 
 | ||||||
| 
 |             } else if (name.equalsIgnoreCase(NODE_ID)) {// Parse Create XML Response | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_URL)) { |                 share = new OCShare(); | ||||||
| 				// NOTE: this field is received in all the public shares from OC 9.0.0 |                 String value = readNode(parser, NODE_ID); | ||||||
| 				// in previous versions, it's received in the result of POST requests, but not |                 share.setIdRemoteShared(Integer.parseInt(value)); | ||||||
| 				// in GET requests | 
 | ||||||
| 				share.setShareType(ShareType.PUBLIC_LINK); |             } else if (name.equalsIgnoreCase(NODE_URL)) { | ||||||
| 				String value = readNode(parser, NODE_URL); |                 // NOTE: this field is received in all the public shares from OC 9.0.0 | ||||||
| 				share.setShareLink(value); |                 // in previous versions, it's received in the result of POST requests, but not | ||||||
| 
 |                 // in GET requests | ||||||
| 			}  else if (name.equalsIgnoreCase(NODE_TOKEN)) { |                 share.setShareType(ShareType.PUBLIC_LINK); | ||||||
| 				share.setToken(readNode(parser, NODE_TOKEN)); |                 String value = readNode(parser, NODE_URL); | ||||||
| 
 |                 share.setShareLink(value); | ||||||
| 			} else { | 
 | ||||||
| 				skip(parser); |             } else if (name.equalsIgnoreCase(NODE_TOKEN)) { | ||||||
| 
 |                 share.setToken(readNode(parser, NODE_TOKEN)); | ||||||
| 			} | 
 | ||||||
| 		} |             } else { | ||||||
| 
 |                 skip(parser); | ||||||
| 		if (share != null) { | 
 | ||||||
| 			// this is the response of a request for creation; don't pass to isValidShare() |             } | ||||||
| 			shares.add(share); |         } | ||||||
| 		} | 
 | ||||||
| 
 |         if (share != null) { | ||||||
| 		return shares; |             // this is the response of a request for creation; don't pass to isValidShare() | ||||||
| 
 |             shares.add(share); | ||||||
| 	} |         } | ||||||
| 
 | 
 | ||||||
| 
 |         return shares; | ||||||
| 	/** | 
 | ||||||
| 	 * Parse Element node |     } | ||||||
| 	 * @param parser | 
 | ||||||
| 	 * @return | 
 | ||||||
| 	 * @throws XmlPullParserException |     /** | ||||||
| 	 * @throws IOException |      * Parse Element node | ||||||
| 	 */ |      * | ||||||
| 	private void readElement(XmlPullParser parser, ArrayList<OCShare> shares) |      * @param parser | ||||||
| 			throws XmlPullParserException, IOException { |      * @return | ||||||
| 		parser.require(XmlPullParser.START_TAG, ns, NODE_ELEMENT); |      * @throws XmlPullParserException | ||||||
| 
 |      * @throws IOException | ||||||
| 		OCShare share = new OCShare(); |      */ | ||||||
| 
 |     private void readElement(XmlPullParser parser, ArrayList<OCShare> shares) | ||||||
| 		//Log_OC.d(TAG, "---- NODE ELEMENT ---"); |             throws XmlPullParserException, IOException { | ||||||
| 		while (parser.next() != XmlPullParser.END_TAG) { |         parser.require(XmlPullParser.START_TAG, ns, NODE_ELEMENT); | ||||||
| 			if (parser.getEventType() != XmlPullParser.START_TAG) { | 
 | ||||||
| 				continue; |         OCShare share = new OCShare(); | ||||||
| 			} | 
 | ||||||
| 
 |         //Log_OC.d(TAG, "---- NODE ELEMENT ---"); | ||||||
| 			String name = parser.getName(); |         while (parser.next() != XmlPullParser.END_TAG) { | ||||||
| 
 |             if (parser.getEventType() != XmlPullParser.START_TAG) { | ||||||
| 			if (name.equalsIgnoreCase(NODE_ELEMENT)) { |                 continue; | ||||||
| 				// patch to work around servers responding with extra <element> surrounding all |             } | ||||||
| 				// the shares on the same file before | 
 | ||||||
| 				// https://github.com/owncloud/core/issues/6992 was fixed |             String name = parser.getName(); | ||||||
| 				readElement(parser, shares); | 
 | ||||||
| 
 |             if (name.equalsIgnoreCase(NODE_ELEMENT)) { | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_ID)) { |                 // patch to work around servers responding with extra <element> surrounding all | ||||||
| 				share.setIdRemoteShared(Integer.parseInt(readNode(parser, NODE_ID))); |                 // the shares on the same file before | ||||||
| 
 |                 // https://github.com/owncloud/core/issues/6992 was fixed | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_ITEM_TYPE)) { |                 readElement(parser, shares); | ||||||
| 				share.setIsFolder(readNode(parser, NODE_ITEM_TYPE).equalsIgnoreCase(TYPE_FOLDER)); | 
 | ||||||
| 				fixPathForFolder(share); |             } else if (name.equalsIgnoreCase(NODE_ID)) { | ||||||
| 
 |                 share.setIdRemoteShared(Integer.parseInt(readNode(parser, NODE_ID))); | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_ITEM_SOURCE)) { | 
 | ||||||
| 				share.setItemSource(Long.parseLong(readNode(parser, NODE_ITEM_SOURCE))); |             } else if (name.equalsIgnoreCase(NODE_ITEM_TYPE)) { | ||||||
| 
 |                 share.setIsFolder(readNode(parser, NODE_ITEM_TYPE).equalsIgnoreCase(TYPE_FOLDER)); | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_PARENT)) { |                 fixPathForFolder(share); | ||||||
| 				readNode(parser, NODE_PARENT); | 
 | ||||||
| 
 |             } else if (name.equalsIgnoreCase(NODE_ITEM_SOURCE)) { | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_SHARE_TYPE)) { |                 share.setItemSource(Long.parseLong(readNode(parser, NODE_ITEM_SOURCE))); | ||||||
| 				int value = Integer.parseInt(readNode(parser, NODE_SHARE_TYPE)); | 
 | ||||||
| 				share.setShareType(ShareType.fromValue(value)); |             } else if (name.equalsIgnoreCase(NODE_PARENT)) { | ||||||
| 
 |                 readNode(parser, NODE_PARENT); | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_SHARE_WITH)) { | 
 | ||||||
| 				share.setShareWith(readNode(parser, NODE_SHARE_WITH)); |             } else if (name.equalsIgnoreCase(NODE_SHARE_TYPE)) { | ||||||
| 
 |                 int value = Integer.parseInt(readNode(parser, NODE_SHARE_TYPE)); | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_FILE_SOURCE)) { |                 share.setShareType(ShareType.fromValue(value)); | ||||||
| 				share.setFileSource(Long.parseLong(readNode(parser, NODE_FILE_SOURCE))); | 
 | ||||||
| 
 |             } else if (name.equalsIgnoreCase(NODE_SHARE_WITH)) { | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_PATH)) { |                 share.setShareWith(readNode(parser, NODE_SHARE_WITH)); | ||||||
| 				share.setPath(readNode(parser, NODE_PATH)); | 
 | ||||||
| 				fixPathForFolder(share); |             } else if (name.equalsIgnoreCase(NODE_FILE_SOURCE)) { | ||||||
| 
 |                 share.setFileSource(Long.parseLong(readNode(parser, NODE_FILE_SOURCE))); | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_PERMISSIONS)) { | 
 | ||||||
| 				share.setPermissions(Integer.parseInt(readNode(parser, NODE_PERMISSIONS))); |             } else if (name.equalsIgnoreCase(NODE_PATH)) { | ||||||
| 
 |                 share.setPath(readNode(parser, NODE_PATH)); | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_STIME)) { |                 fixPathForFolder(share); | ||||||
| 				share.setSharedDate(Long.parseLong(readNode(parser, NODE_STIME))); | 
 | ||||||
| 
 |             } else if (name.equalsIgnoreCase(NODE_PERMISSIONS)) { | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_EXPIRATION)) { |                 share.setPermissions(Integer.parseInt(readNode(parser, NODE_PERMISSIONS))); | ||||||
| 				String value = readNode(parser, NODE_EXPIRATION); | 
 | ||||||
| 				if (!(value.length() == 0)) { |             } else if (name.equalsIgnoreCase(NODE_STIME)) { | ||||||
| 					share.setExpirationDate(WebdavUtils.parseResponseDate(value).getTime()); |                 share.setSharedDate(Long.parseLong(readNode(parser, NODE_STIME))); | ||||||
| 				} | 
 | ||||||
| 
 |             } else if (name.equalsIgnoreCase(NODE_EXPIRATION)) { | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_TOKEN)) { |                 String value = readNode(parser, NODE_EXPIRATION); | ||||||
| 				share.setToken(readNode(parser, NODE_TOKEN)); |                 if (!(value.length() == 0)) { | ||||||
| 
 |                     share.setExpirationDate(WebdavUtils.parseResponseDate(value).getTime()); | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_STORAGE)) { |                 } | ||||||
| 				readNode(parser, NODE_STORAGE); | 
 | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_MAIL_SEND)) { |             } else if (name.equalsIgnoreCase(NODE_TOKEN)) { | ||||||
| 				readNode(parser, NODE_MAIL_SEND); |                 share.setToken(readNode(parser, NODE_TOKEN)); | ||||||
| 
 | 
 | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_SHARE_WITH_DISPLAY_NAME)) { |             } else if (name.equalsIgnoreCase(NODE_STORAGE)) { | ||||||
| 				share.setSharedWithDisplayName(readNode(parser, NODE_SHARE_WITH_DISPLAY_NAME)); |                 readNode(parser, NODE_STORAGE); | ||||||
| 
 |             } else if (name.equalsIgnoreCase(NODE_MAIL_SEND)) { | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_SHARE_WITH_ADDITIONAL_INFO)) { |                 readNode(parser, NODE_MAIL_SEND); | ||||||
| 				share.setSharedWithAdditionalInfo(readNode(parser, NODE_SHARE_WITH_ADDITIONAL_INFO)); | 
 | ||||||
| 
 |             } else if (name.equalsIgnoreCase(NODE_SHARE_WITH_DISPLAY_NAME)) { | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_URL)) { |                 share.setSharedWithDisplayName(readNode(parser, NODE_SHARE_WITH_DISPLAY_NAME)); | ||||||
| 				String value = readNode(parser, NODE_URL); | 
 | ||||||
| 				share.setShareLink(value); |             } else if (name.equalsIgnoreCase(NODE_SHARE_WITH_ADDITIONAL_INFO)) { | ||||||
| 
 |                 share.setSharedWithAdditionalInfo(readNode(parser, NODE_SHARE_WITH_ADDITIONAL_INFO)); | ||||||
| 			} else if (name.equalsIgnoreCase(NODE_NAME)) { | 
 | ||||||
| 				share.setName(readNode(parser, NODE_NAME)); |             } else if (name.equalsIgnoreCase(NODE_URL)) { | ||||||
| 
 |                 String value = readNode(parser, NODE_URL); | ||||||
| 			} else { |                 share.setShareLink(value); | ||||||
| 				skip(parser); | 
 | ||||||
| 			} |             } else if (name.equalsIgnoreCase(NODE_NAME)) { | ||||||
| 		} |                 share.setName(readNode(parser, NODE_NAME)); | ||||||
| 
 | 
 | ||||||
| 		if (isValidShare(share)) { |             } else { | ||||||
| 			shares.add(share); |                 skip(parser); | ||||||
| 		} |             } | ||||||
| 	} |         } | ||||||
| 
 | 
 | ||||||
| 	private boolean isValidShare(OCShare share) { |         if (isValidShare(share)) { | ||||||
| 		return (share.getRemoteId() > -1); |             shares.add(share); | ||||||
| 	} |         } | ||||||
| 
 |     } | ||||||
| 	private void fixPathForFolder(OCShare share) { | 
 | ||||||
| 		if (share.isFolder() && share.getPath() != null && share.getPath().length() > 0 && |     private boolean isValidShare(OCShare share) { | ||||||
| 				!share.getPath().endsWith(FileUtils.PATH_SEPARATOR)) { |         return (share.getRemoteId() > -1); | ||||||
| 			share.setPath(share.getPath() + FileUtils.PATH_SEPARATOR); |     } | ||||||
| 		} | 
 | ||||||
| 	} |     private void fixPathForFolder(OCShare share) { | ||||||
| 
 |         if (share.isFolder() && share.getPath() != null && share.getPath().length() > 0 && | ||||||
| 	/** |                 !share.getPath().endsWith(FileUtils.PATH_SEPARATOR)) { | ||||||
| 	 * Parse a node, to obtain its text. Needs readText method |             share.setPath(share.getPath() + FileUtils.PATH_SEPARATOR); | ||||||
| 	 * @param parser |         } | ||||||
| 	 * @param node |     } | ||||||
| 	 * @return Text of the node | 
 | ||||||
| 	 * @throws XmlPullParserException |     /** | ||||||
| 	 * @throws IOException |      * Parse a node, to obtain its text. Needs readText method | ||||||
| 	 */ |      * | ||||||
| 	private String readNode (XmlPullParser parser, String node) throws XmlPullParserException, |      * @param parser | ||||||
| 			IOException{ |      * @param node | ||||||
| 		parser.require(XmlPullParser.START_TAG, ns, node); |      * @return Text of the node | ||||||
| 		String value = readText(parser); |      * @throws XmlPullParserException | ||||||
| 		//Log_OC.d(TAG, "node= " + node + ", value= " + value); |      * @throws IOException | ||||||
| 		parser.require(XmlPullParser.END_TAG, ns, node); |      */ | ||||||
| 		return value; |     private String readNode(XmlPullParser parser, String node) throws XmlPullParserException, | ||||||
| 	} |             IOException { | ||||||
| 
 |         parser.require(XmlPullParser.START_TAG, ns, node); | ||||||
| 	/** |         String value = readText(parser); | ||||||
| 	 * Read the text from a node |         //Log_OC.d(TAG, "node= " + node + ", value= " + value); | ||||||
| 	 * @param parser |         parser.require(XmlPullParser.END_TAG, ns, node); | ||||||
| 	 * @return Text of the node |         return value; | ||||||
| 	 * @throws IOException |     } | ||||||
| 	 * @throws XmlPullParserException | 
 | ||||||
| 	 */ |     /** | ||||||
| 	private String readText(XmlPullParser parser) throws IOException, XmlPullParserException { |      * Read the text from a node | ||||||
| 		String result = ""; |      * | ||||||
| 		if (parser.next() == XmlPullParser.TEXT) { |      * @param parser | ||||||
| 			result = parser.getText(); |      * @return Text of the node | ||||||
| 			parser.nextTag(); |      * @throws IOException | ||||||
| 		} |      * @throws XmlPullParserException | ||||||
| 		return result; |      */ | ||||||
| 	} |     private String readText(XmlPullParser parser) throws IOException, XmlPullParserException { | ||||||
| 
 |         String result = ""; | ||||||
| 	/** |         if (parser.next() == XmlPullParser.TEXT) { | ||||||
| 	 * Skip tags in parser procedure |             result = parser.getText(); | ||||||
| 	 * @param parser |             parser.nextTag(); | ||||||
| 	 * @throws XmlPullParserException |         } | ||||||
| 	 * @throws IOException |         return result; | ||||||
| 	 */ |     } | ||||||
| 	private void skip(XmlPullParser parser) throws XmlPullParserException, IOException { | 
 | ||||||
| 		if (parser.getEventType() != XmlPullParser.START_TAG) { |     /** | ||||||
| 			throw new IllegalStateException(); |      * Skip tags in parser procedure | ||||||
| 		} |      * | ||||||
| 		int depth = 1; |      * @param parser | ||||||
| 		while (depth != 0) { |      * @throws XmlPullParserException | ||||||
| 			switch (parser.next()) { |      * @throws IOException | ||||||
| 				case XmlPullParser.END_TAG: |      */ | ||||||
| 					depth--; |     private void skip(XmlPullParser parser) throws XmlPullParserException, IOException { | ||||||
| 					break; |         if (parser.getEventType() != XmlPullParser.START_TAG) { | ||||||
| 				case XmlPullParser.START_TAG: |             throw new IllegalStateException(); | ||||||
| 					depth++; |         } | ||||||
| 					break; |         int depth = 1; | ||||||
| 			} |         while (depth != 0) { | ||||||
| 		} |             switch (parser.next()) { | ||||||
| 	} |                 case XmlPullParser.END_TAG: | ||||||
|  |                     depth--; | ||||||
|  |                     break; | ||||||
|  |                 case XmlPullParser.START_TAG: | ||||||
|  |                     depth++; | ||||||
|  |                     break; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user