Package com.microsoft.windowsazure.services.media.models

Examples of com.microsoft.windowsazure.services.media.models.LocatorInfo


    }

    @Test
    public void canCreateFileForUploadedBlob() throws Exception {
        AssetInfo asset = createTestAsset("createFileForUploadedBlob");
        LocatorInfo locator = createLocator(writePolicy, asset, 5);
        WritableBlobContainerContract blobWriter = service
                .createBlobWriter(locator);

        createAndUploadBlob(blobWriter, BLOB_NAME, firstPrimes);
View Full Code Here


    }

    @Test
    public void canCreateFileEntityDirectly() throws Exception {
        AssetInfo asset = createTestAsset("createFileEntityDirectly");
        LocatorInfo locator = createLocator(writePolicy, asset, 5);
        WritableBlobContainerContract blobWriter = service
                .createBlobWriter(locator);

        createAndUploadBlob(blobWriter, BLOB_NAME_2, firstPrimes);
View Full Code Here

    @Test
    public void canCreateAssetWithMultipleFiles() throws Exception {
        AssetInfo asset = createTestAsset("createWithMultipleFiles");
        AccessPolicyInfo policy = createWritePolicy("createWithMultipleFiles",
                10);
        LocatorInfo locator = createLocator(policy, asset, 5);

        WritableBlobContainerContract blobWriter = service
                .createBlobWriter(locator);

        createAndUploadBlob(blobWriter, "blob1.bin", firstPrimes);
View Full Code Here

    @Test
    public void canCreateFileAndThenUpdateIt() throws Exception {
        AssetInfo asset = createTestAsset("createAndUpdate");
        AccessPolicyInfo policy = createWritePolicy("createAndUpdate", 10);
        LocatorInfo locator = createLocator(policy, asset, 5);
        WritableBlobContainerContract blobWriter = service
                .createBlobWriter(locator);

        createAndUploadBlob(blobWriter, "toUpdate.bin", firstPrimes);
View Full Code Here

    @Test
    public void canDeleteFileFromAsset() throws Exception {
        AssetInfo asset = createTestAsset("deleteFile");
        AccessPolicyInfo policy = createWritePolicy("deleteFile", 10);
        LocatorInfo locator = createLocator(policy, asset, 5);
        WritableBlobContainerContract blobWriter = service
                .createBlobWriter(locator);

        createAndUploadBlob(blobWriter, "todelete.bin", firstPrimes);
        createAndUploadBlob(blobWriter, "tokeep.bin", onesAndZeros);
View Full Code Here

            Hashtable<String, InputStream> inputFiles, byte[] aesKey)
            throws Exception {
        AccessPolicyInfo accessPolicy = service.create(AccessPolicy.create(
                accessPolicyPrefix + "tempAccessPolicy", uploadWindowInMinutes,
                EnumSet.of(AccessPolicyPermission.WRITE)));
        LocatorInfo locator = service.create(Locator.create(
                accessPolicy.getId(), asset.getId(), LocatorType.SAS));

        String contentKeyId = createAssetContentKey(asset, aesKey);

        WritableBlobContainerContract uploader = service
                .createBlobWriter(locator);

        Hashtable<String, AssetFileInfo> infoToUpload = new Hashtable<String, AssetFileInfo>();

        boolean isFirst = true;
        for (String fileName : inputFiles.keySet()) {
            MessageDigest digest = MessageDigest.getInstance("MD5");

            InputStream inputStream = inputFiles.get(fileName);

            byte[] iv = null;
            if (aesKey != null) {
                iv = createIV();
                inputStream = EncryptionHelper.encryptFile(inputStream, aesKey,
                        iv);
            }

            InputStream digestStream = new DigestInputStream(inputStream,
                    digest);
            CountingStream countingStream = new CountingStream(digestStream);
            uploader.createBlockBlob(fileName, countingStream);

            inputStream.close();
            byte[] md5hash = digest.digest();
            String md5 = Base64.encode(md5hash);

            AssetFileInfo fi = new AssetFileInfo(null, new AssetFileType()
                    .setContentChecksum(md5)
                    .setContentFileSize(countingStream.getCount())
                    .setIsPrimary(isFirst).setName(fileName)
                    .setInitializationVector(getIVString(iv)));
            infoToUpload.put(fileName, fi);

            isFirst = false;
        }

        service.action(AssetFile.createFileInfos(asset.getId()));
        for (AssetFileInfo assetFile : service.list(AssetFile.list(asset
                .getAssetFilesLink()))) {
            AssetFileInfo fileInfo = infoToUpload.get(assetFile.getName());
            Updater updateOp = AssetFile.update(assetFile.getId())
                    .setContentChecksum(fileInfo.getContentChecksum())
                    .setContentFileSize(fileInfo.getContentFileSize())
                    .setIsPrimary(fileInfo.getIsPrimary());

            if (aesKey != null) {
                updateOp.setIsEncrypted(true)
                        .setEncryptionKeyId(contentKeyId)
                        .setEncryptionScheme("StorageEncryption")
                        .setEncryptionVersion("1.0")
                        .setInitializationVector(
                                fileInfo.getInitializationVector());
            }

            service.update(updateOp);
        }

        service.list(AssetFile.list(asset.getAssetFilesLink()));

        service.delete(Locator.delete(locator.getId()));
        service.delete(AccessPolicy.delete(accessPolicy.getId()));
    }
View Full Code Here

        AccessPolicyInfo readAP = service.create(AccessPolicy.create(
                accessPolicyPrefix + "tempAccessPolicy",
                availabilityWindowInMinutes,
                EnumSet.of(AccessPolicyPermission.READ)));
        LocatorInfo readLocator = service.create(Locator.create(readAP.getId(),
                asset.getId(), LocatorType.SAS));

        List<AssetFileInfo> publishedFiles = service.list(AssetFile.list(asset
                .getAssetFilesLink()));
        for (AssetFileInfo fi : publishedFiles) {
            ret.put(fi.getName(),
                    new URL(readLocator.getBaseUri() + "/" + fi.getName()
                            + readLocator.getContentAccessToken()));
        }

        return ret;
    }
View Full Code Here

        AccessPolicyInfo policy = service.create(AccessPolicy.create(
                testPolicyPrefix + "uploadWritePolicy", 10,
                EnumSet.of(AccessPolicyPermission.WRITE)));

        LocatorInfo locator = createLocator(policy, asset, 5);

        blobWriter = service.createBlobWriter(locator);

        ExponentialRetryPolicy retryPolicy = new ExponentialRetryPolicy(5000,
                5, new int[] { 400, 404 });
View Full Code Here

                testAssetPrefix + name));

        AccessPolicyInfo accessPolicyInfo = service.create(AccessPolicy.create(
                testPolicyPrefix + name, 10,
                EnumSet.of(AccessPolicyPermission.WRITE)));
        LocatorInfo locator = createLocator(accessPolicyInfo, assetInfo, 5);
        WritableBlobContainerContract blobWriter = service
                .createBlobWriter(locator);
        InputStream blobContent = new ByteArrayInputStream(new byte[] { 4, 8,
                15, 16, 23, 42 });
        blobWriter.createBlockBlob(testBlobName, blobContent);
View Full Code Here

        int durationInMinutes = 10;
        AccessPolicyInfo accessPolicyInfo = service.create(AccessPolicy.create(
                testPolicyPrefix + "uploadAesPortectedAssetSuccess",
                durationInMinutes, EnumSet.of(AccessPolicyPermission.WRITE)));

        LocatorInfo locatorInfo = service.create(Locator.create(
                accessPolicyInfo.getId(), originalAsset.getId(),
                LocatorType.SAS));
        WritableBlobContainerContract blobWriter = service
                .createBlobWriter(locatorInfo);
View Full Code Here

TOP

Related Classes of com.microsoft.windowsazure.services.media.models.LocatorInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.