/** * Copyright 2014 Google Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.google.samples.apps.iosched.sync.userdata.http; import java.io.IOException; import com.google.api.services.drive.Drive; import com.google.api.services.drive.model.File; /** * Gets or creates a file on user's appdata folder. * */ public class GetOrCreateFIleDriveTask extends DriveTask { /** * Constructs a new get or create task. * @param driveService A drive service. */ public GetOrCreateFIleDriveTask(Drive driveService) { super(driveService); } /** * Executes the request.. * @return Remote file's content. * @throws IOException */ public String execute() throws IOException { File file = getOrCreateFile(); if (file.getDownloadUrl() != null) { // retrieve the content return downloadFile(file); } return null; } }