public FileUploadResponse uploadClientComponent(MultipartFile file) throws IOException { String fileName = file.getOriginalFilename(); String className = fileName.substring(0, fileName.lastIndexOf(".zip")); FileUploadResponse ret = new FileUploadResponse(); Folder componentStage = this.fileSystem .getWaveMakerHomeFolder() .getFolder("common/packages") .getFolder(CLIENT_COMPONENTS_STAGE); ZipArchive.unpack(file.getInputStream(), componentStage); com.wavemaker.tools.io.File jsFile = componentStage.getFile(className + "/" + className + ".js"); if (!jsFile.exists()) { componentStage.delete(); throw new IOException(jsFile.toString() + " not found"); } String str = getClientComponentPackageString(jsFile); String packageStr = str.substring(0, str.lastIndexOf("." + className)); Folder componentFolder = this.fileSystem .getWaveMakerHomeFolder() .getFolder(StringUtils.packageToSrcFilePath(packageStr)); componentFolder.createIfMissing(); componentFolder.list().delete(); // delete older version of the composite Folder zipFolder = componentStage.getFolder(className); zipFolder.copyContentsTo(componentFolder); this.deploymentManager.writeModuleToLibJs(packageStr + "." + className); componentStage.delete(); ret.setPath(packageStr + "." + className); return ret; }
private void deleteServiceShallow(String serviceId) throws IOException { Folder classesFolder = getProjectWebAppRoot().getFolder("WEB-INF/classes"); File springConfig = classesFolder.getFile(serviceId + ".spring.xml"); springConfig.delete(); File dbProperty = classesFolder.getFile(serviceId + ".properties"); if (dbProperty.exists()) { dbProperty.delete(); } Service service = getService(serviceId); if (service != null) { com.wavemaker.tools.io.Resource target; if (service.getType().equals("JavaService")) { target = classesFolder.getFile(StringUtils.classNameToClassFilePath(service.getClazz())); } else { String packageName = StringUtils.getPackage(service.getClazz()); target = classesFolder.getFolder(StringUtils.packageToSrcFilePath(packageName)); } target.delete(); } Map<String, Service> serviceDefs = getCurrentServiceDefinitions(); serviceDefs.remove(serviceId); Folder serviceHome = getServiceFolder(serviceId); Project project = this.projectManager.getCurrentProject(); project.deleteFile(serviceHome); project.deleteFile(ConfigurationCompiler.getSmdFile(project, serviceId)); }