/* * Copyright (c) 2014 tabletoptool.com team. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html * * Contributors: * rptools.com team - initial implementation * tabletoptool.com team - further development */ package com.t3.client; import java.io.File; import java.io.IOException; import java.io.Serializable; import org.apache.commons.io.FileUtils; import com.t3.model.Asset; import com.t3.model.AssetManager; import com.t3.transfer.ConsumerListener; /** * Handles incoming segmented assets * * @author trevor */ public class AssetTransferHandler implements ConsumerListener { @Override public void assetComplete(Serializable id, String name, File data) { byte[] assetData = null; try { assetData = FileUtils.readFileToByteArray(data); } catch (IOException ioe) { TabletopTool.showError("Error loading composed asset file: " + id); return; } Asset asset = new Asset(name, assetData); if (!asset.getId().equals(id)) { TabletopTool.showError("Received an invalid image: " + id); return; } // Install it into our system AssetManager.putAsset(asset); // Remove the temp file data.delete(); TabletopTool.getFrame().refresh(); } @Override public void assetUpdated(Serializable id) { // Nothing to do } @Override public void assetAdded(Serializable id) { // Nothing to do } }