/* * ### * Service Web Archive * * Copyright (C) 1999 - 2012 Photon Infotech Inc. * * 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.photon.phresco.service.admin.actions.components; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Collections; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import com.itextpdf.text.pdf.codec.Base64.OutputStream; import com.photon.phresco.exception.PhrescoException; import com.photon.phresco.service.admin.actions.ServiceBaseAction; public class Features extends ServiceBaseAction { private static final long serialVersionUID = 6801037145464060759L; private static final Logger S_LOGGER = Logger.getLogger(Features.class); private String name = null; private String version = null; private String nameError = null; private String versError = null; private String fileError = null; private boolean errorFound = false; private File featureArc; private String featureArcFileName; private String featureArcContentType; public String list() { S_LOGGER.debug("Entering Method Features.list()"); return COMP_FEATURES_LIST; } public String add() { S_LOGGER.debug("Entering Method Features.add()"); return COMP_FEATURES_ADD; } public String save() { S_LOGGER.debug("Entering Method Features.save()"); try { if (validateForm()) { setErrorFound(true); return SUCCESS; } InputStream inputStream = new FileInputStream(featureArc); /*FileOutputStream outputStream = new FileOutputStream(new File("c:/" + featureArcFileName)); IOUtils.copy(inputStream, outputStream);*/ addActionMessage(getText(FEATURE_ADDED, Collections.singletonList(name))); } catch (Exception e) { addActionError(getText(FEATURE_NOT_ADDED, Collections.singletonList(name))); } return COMP_FEATURES_LIST; } private boolean validateForm() { boolean success = false; if (StringUtils.isEmpty(name)) { setNameError(getText(KEY_I18N_ERR_NAME_EMPTY)); success = true; } if (StringUtils.isEmpty(version)) { setVersError(getText(KEY_I18N_ERR_VER_EMPTY)); success = true; } if (StringUtils.isEmpty(featureArcFileName) || featureArc == null) { setFileError(getText(KEY_I18N_ERR_FILE_EMPTY)); success = true; } return success; } public String cancel() { S_LOGGER.debug("Entering Method Features.cancel()"); return COMP_FEATURES_CANCEL; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public String getNameError() { return nameError; } public void setNameError(String nameError) { this.nameError = nameError; } public String getVersError() { return versError; } public void setVersError(String versError) { this.versError = versError; } public String getFileError() { return fileError; } public void setFileError(String fileError) { this.fileError = fileError; } public File getFeatureArc() { return featureArc; } public void setFeatureArc(File featureArc) { this.featureArc = featureArc; } public String getFeatureArcFileName() { return featureArcFileName; } public void setFeatureArcFileName(String featureArcFileName) { this.featureArcFileName = featureArcFileName; } public String getFeatureArcContentType() { return featureArcContentType; } public void setFeatureArcContentType(String featureArcContentType) { this.featureArcContentType = featureArcContentType; } public boolean getErrorFound() { return errorFound; } public void setErrorFound(boolean errorFound) { this.errorFound = errorFound; } }