Search in sources :

Example 1 with UdfApplicationInfo

use of com.aliyun.oss.model.UdfApplicationInfo in project aliyun-oss-java-sdk by aliyun.

the class ResponseParsers method parseGetUdfApplicationInfo.

/**
 * Unmarshall get udf info response body to udf application info.
 */
public static UdfApplicationInfo parseGetUdfApplicationInfo(InputStream responseBody) throws ResponseParseException {
    try {
        Element root = getXmlRootElement(responseBody);
        String id = root.getChildText("ID");
        String name = root.getChildText("Name");
        String status = root.getChildText("Status");
        String region = root.getChildText("Region");
        Integer imageVersion = Integer.valueOf(root.getChildText("ImageVersion"));
        Integer instanceNum = Integer.valueOf(root.getChildText("InstanceNum"));
        Date date = DateUtil.parseIso8601Date(root.getChildText("CreationDate"));
        String instanceType = root.getChild("Flavor").getChildText("InstanceType");
        InstanceFlavor flavor = new InstanceFlavor(instanceType);
        return new UdfApplicationInfo(name, id, region, status, imageVersion, instanceNum, date, flavor);
    } catch (JDOMParseException e) {
        throw new ResponseParseException(e.getPartialDocument() + ": " + e.getMessage(), e);
    } catch (Exception e) {
        throw new ResponseParseException(e.getMessage(), e);
    }
}
Also used : BigInteger(java.math.BigInteger) JDOMParseException(org.jdom.input.JDOMParseException) InstanceFlavor(com.aliyun.oss.model.InstanceFlavor) Element(org.jdom.Element) ResponseParseException(com.aliyun.oss.common.parser.ResponseParseException) UdfApplicationInfo(com.aliyun.oss.model.UdfApplicationInfo) Date(java.util.Date) ParseException(java.text.ParseException) JDOMParseException(org.jdom.input.JDOMParseException) ResponseParseException(com.aliyun.oss.common.parser.ResponseParseException)

Example 2 with UdfApplicationInfo

use of com.aliyun.oss.model.UdfApplicationInfo in project aliyun-oss-java-sdk by aliyun.

the class ResponseParsers method parseListUdfApplicationInfo.

/**
 * Unmarshall get udf info response body to udf image info list.
 */
@SuppressWarnings("unchecked")
public static List<UdfApplicationInfo> parseListUdfApplicationInfo(InputStream responseBody) throws ResponseParseException {
    try {
        Element root = getXmlRootElement(responseBody);
        List<UdfApplicationInfo> udfApps = new ArrayList<UdfApplicationInfo>();
        if (root.getChild("UDFApplicationInfo") != null) {
            List<Element> udfImageElems = root.getChildren("UDFApplicationInfo");
            for (Element elem : udfImageElems) {
                String id = elem.getChildText("ID");
                String name = elem.getChildText("Name");
                String status = elem.getChildText("Status");
                String region = elem.getChildText("Region");
                Integer imageVersion = Integer.valueOf(elem.getChildText("ImageVersion"));
                Integer instanceNum = Integer.valueOf(elem.getChildText("InstanceNum"));
                Date date = DateUtil.parseIso8601Date(elem.getChildText("CreationDate"));
                String instanceType = elem.getChild("Flavor").getChildText("InstanceType");
                InstanceFlavor flavor = new InstanceFlavor(instanceType);
                UdfApplicationInfo udfApp = new UdfApplicationInfo(name, id, region, status, imageVersion, instanceNum, date, flavor);
                udfApps.add(udfApp);
            }
        }
        return udfApps;
    } catch (JDOMParseException e) {
        throw new ResponseParseException(e.getPartialDocument() + ": " + e.getMessage(), e);
    } catch (Exception e) {
        throw new ResponseParseException(e.getMessage(), e);
    }
}
Also used : BigInteger(java.math.BigInteger) JDOMParseException(org.jdom.input.JDOMParseException) InstanceFlavor(com.aliyun.oss.model.InstanceFlavor) Element(org.jdom.Element) ResponseParseException(com.aliyun.oss.common.parser.ResponseParseException) UdfApplicationInfo(com.aliyun.oss.model.UdfApplicationInfo) ArrayList(java.util.ArrayList) Date(java.util.Date) ParseException(java.text.ParseException) JDOMParseException(org.jdom.input.JDOMParseException) ResponseParseException(com.aliyun.oss.common.parser.ResponseParseException)

Example 3 with UdfApplicationInfo

use of com.aliyun.oss.model.UdfApplicationInfo in project aliyun-oss-java-sdk by aliyun.

the class UdfTest method testUdfApplication.

@Test
public void testUdfApplication() {
    String udf = "udf-go-pingpong-1";
    String desc = "udf-go-pingpong-1";
    try {
        // create udf
        CreateUdfRequest createUdfRequest = new CreateUdfRequest(udf, desc);
        ossClient.createUdf(createUdfRequest);
        UdfGenericRequest genericRequest = new UdfGenericRequest(udf);
        UdfInfo ui = ossClient.getUdfInfo(genericRequest);
        System.out.println(ui);
        // upload image
        InputStream in = new FileInputStream(UDF_IMG_V1);
        UploadUdfImageRequest uploadUdfImageRequest = new UploadUdfImageRequest(udf, desc, in);
        ossClient.uploadUdfImage(uploadUdfImageRequest);
        in = new FileInputStream(UDF_IMG_V2);
        uploadUdfImageRequest = new UploadUdfImageRequest(udf, desc, in);
        ossClient.uploadUdfImage(uploadUdfImageRequest);
        List<UdfImageInfo> udfImages = ossClient.getUdfImageInfo(genericRequest);
        for (UdfImageInfo image : udfImages) {
            System.out.println(image);
        }
        // wait build completed
        for (UdfImageInfo image : udfImages) {
            if (image.getStatus().equals("building")) {
                TestUtils.waitForCacheExpiration(60);
                udfImages = ossClient.getUdfImageInfo(genericRequest);
                continue;
            }
        }
        // list images
        udfImages = ossClient.getUdfImageInfo(genericRequest);
        for (UdfImageInfo image : udfImages) {
            System.out.println(image);
        }
        // list applications
        List<UdfApplicationInfo> appInfos = ossClient.listUdfApplications();
        for (UdfApplicationInfo app : appInfos) {
            System.out.println(app);
        }
        // create application
        UdfApplicationConfiguration configuration = new UdfApplicationConfiguration(1, 1);
        CreateUdfApplicationRequest createUdfApplicationRequest = new CreateUdfApplicationRequest(udf, configuration);
        ossClient.createUdfApplication(createUdfApplicationRequest);
        // wait application running
        UdfApplicationInfo appInfo = ossClient.getUdfApplicationInfo(genericRequest);
        System.out.println(appInfo);
        for (; appInfo.getStatus().equals("creating"); ) {
            TestUtils.waitForCacheExpiration(60);
            appInfo = ossClient.getUdfApplicationInfo(genericRequest);
        }
        System.out.println(appInfo);
        // upgrade application
        UpgradeUdfApplicationRequest UpgradeUdfApplicationRequest = new UpgradeUdfApplicationRequest(udf, 2);
        ossClient.upgradeUdfApplication(UpgradeUdfApplicationRequest);
        appInfo = ossClient.getUdfApplicationInfo(genericRequest);
        System.out.println(appInfo);
        for (; appInfo.getStatus().equals("upgrading"); ) {
            TestUtils.waitForCacheExpiration(60);
            appInfo = ossClient.getUdfApplicationInfo(genericRequest);
        }
        System.out.println(appInfo);
        // resize application
        ResizeUdfApplicationRequest resizeUdfApplicationRequest = new ResizeUdfApplicationRequest(udf, 2);
        ossClient.resizeUdfApplication(resizeUdfApplicationRequest);
        appInfo = ossClient.getUdfApplicationInfo(genericRequest);
        System.out.println(appInfo);
        for (; appInfo.getStatus().equals("resizing"); ) {
            TestUtils.waitForCacheExpiration(60);
            appInfo = ossClient.getUdfApplicationInfo(genericRequest);
        }
        System.out.println(appInfo);
        // get application log
        GetUdfApplicationLogRequest getUdfApplicationLogRequest = new GetUdfApplicationLogRequest(udf);
        getUdfApplicationLogRequest.setStartTime(DateUtil.parseRfc822Date("Wed, 15 Mar 2017 03:23:45 GMT"));
        getUdfApplicationLogRequest.setEndLines(100L);
        UdfApplicationLog udfApplicationLog = ossClient.getUdfApplicationLog(getUdfApplicationLogRequest);
        displayTextInputStream(udfApplicationLog.getLogContent());
    // // delete application
    // ossClient.deleteUdfApplication(genericRequest);
    // 
    // // wait application deleted
    // appInfos = ossClient.listUdfApplications();
    // for (; appInfos.size() > 0 ; ) {
    // TestUtils.waitForCacheExpiration(60);
    // appInfos = ossClient.listUdfApplications();
    // }
    // 
    // // delete udf image
    // ossClient.deleteUdfImage(genericRequest);
    // 
    // // wait images deleted
    // udfImages = ossClient.getUdfImageInfo(genericRequest);
    // for (; udfImages.size() > 0;) {
    // TestUtils.waitForCacheExpiration(60);
    // udfImages = ossClient.getUdfImageInfo(genericRequest);
    // }
    // 
    // // delete image
    // ossClient.deleteUdf(genericRequest);
    } catch (Exception ex) {
        ex.printStackTrace();
        Assert.fail(ex.getMessage());
    }
}
Also used : GetUdfApplicationLogRequest(com.aliyun.oss.model.GetUdfApplicationLogRequest) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) CreateUdfRequest(com.aliyun.oss.model.CreateUdfRequest) UploadUdfImageRequest(com.aliyun.oss.model.UploadUdfImageRequest) FileInputStream(java.io.FileInputStream) UpgradeUdfApplicationRequest(com.aliyun.oss.model.UpgradeUdfApplicationRequest) IOException(java.io.IOException) UdfApplicationLog(com.aliyun.oss.model.UdfApplicationLog) UdfInfo(com.aliyun.oss.model.UdfInfo) CreateUdfApplicationRequest(com.aliyun.oss.model.CreateUdfApplicationRequest) UdfApplicationConfiguration(com.aliyun.oss.model.UdfApplicationConfiguration) UdfImageInfo(com.aliyun.oss.model.UdfImageInfo) UdfApplicationInfo(com.aliyun.oss.model.UdfApplicationInfo) ResizeUdfApplicationRequest(com.aliyun.oss.model.ResizeUdfApplicationRequest) UdfGenericRequest(com.aliyun.oss.model.UdfGenericRequest) Test(org.junit.Test)

Aggregations

UdfApplicationInfo (com.aliyun.oss.model.UdfApplicationInfo)3 ResponseParseException (com.aliyun.oss.common.parser.ResponseParseException)2 InstanceFlavor (com.aliyun.oss.model.InstanceFlavor)2 BigInteger (java.math.BigInteger)2 ParseException (java.text.ParseException)2 Date (java.util.Date)2 Element (org.jdom.Element)2 JDOMParseException (org.jdom.input.JDOMParseException)2 CreateUdfApplicationRequest (com.aliyun.oss.model.CreateUdfApplicationRequest)1 CreateUdfRequest (com.aliyun.oss.model.CreateUdfRequest)1 GetUdfApplicationLogRequest (com.aliyun.oss.model.GetUdfApplicationLogRequest)1 ResizeUdfApplicationRequest (com.aliyun.oss.model.ResizeUdfApplicationRequest)1 UdfApplicationConfiguration (com.aliyun.oss.model.UdfApplicationConfiguration)1 UdfApplicationLog (com.aliyun.oss.model.UdfApplicationLog)1 UdfGenericRequest (com.aliyun.oss.model.UdfGenericRequest)1 UdfImageInfo (com.aliyun.oss.model.UdfImageInfo)1 UdfInfo (com.aliyun.oss.model.UdfInfo)1 UpgradeUdfApplicationRequest (com.aliyun.oss.model.UpgradeUdfApplicationRequest)1 UploadUdfImageRequest (com.aliyun.oss.model.UploadUdfImageRequest)1 FileInputStream (java.io.FileInputStream)1