package com.mossle.internal.store.client; import java.io.ByteArrayOutputStream; import java.io.InputStream; import javax.activation.DataSource; import javax.annotation.Resource; import com.mossle.api.store.StoreConnector; import com.mossle.api.store.StoreDTO; import com.mossle.core.store.ByteArrayDataSource; import com.mossle.internal.store.service.StoreService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; public class LocalStoreClient implements StoreClient { private Logger logger = LoggerFactory.getLogger(LocalStoreClient.class); private String baseUrl; private String model; private StoreConnector storeConnector; private StoreService storeService; public StoreDTO saveStore(InputStream inputStream, String fileName, String contentType, String tenantId) throws Exception { int len = -1; byte[] b = new byte[1024]; ByteArrayOutputStream baos2 = new ByteArrayOutputStream(); while ((len = inputStream.read(b, 0, 1024)) != -1) { baos2.write(b, 0, len); } inputStream.close(); byte[] bytes = baos2.toByteArray(); DataSource dataSource = new ByteArrayDataSource(fileName, bytes); StoreDTO storeDto = storeService.saveStore(model, dataSource, tenantId); return storeDto; } public StoreDTO getStore(String key, String tenantId) throws Exception { return storeConnector.getStore(model, key, tenantId); } @Value("${store.baseUrl}") public void setBaseUrl(String baseUrl) { this.baseUrl = baseUrl; } @Value("${store.model}") public void setModel(String model) { this.model = model; } @Resource public void setStoreConnector(StoreConnector storeConnector) { this.storeConnector = storeConnector; } @Resource public void setStoreService(StoreService storeService) { this.storeService = storeService; } }