/** * This will create a ChannelXmlBean that describes a release as it is found in the specified * directory, using the specified releaseName and version. This will excluded files that match any * patterns in the excludePatterns array. Files that are excluded are also deleted from the * release directory as they will not be shipped with the update site, and are therefore not * required. * * @param channelName the name of the channel. * @param releaseName the name of the release. * @param version the version of the release. * @param directory the directory to use as the top-level of the release. * @return a ChannelXmlBean that represents the specified parameters and files found in the * release directory that don't match any exclude pattern. */ private ChannelXmlBean buildChannelRelease( String channelName, String releaseName, String version, String directory) throws IOException { ChannelXmlBean result = new ChannelXmlBean(); result.setName(channelName); ReleaseXmlBean releaseBean = new ReleaseXmlBean(releaseName, version); releaseBean.setCreateTime(new Date()); File dir = new File(directory); for (File f : dir.listFiles()) { if (log.isInfoEnabled()) { log.info("Processing module directory: " + f); } if (f.isDirectory()) { // f is a module ModuleXmlBean module = new ModuleXmlBean(); module.setName(f.getName()); for (File a : f.listFiles()) { String filename = a.getName(); if (isExcluded(filename)) { a.delete(); continue; } if (log.isDebugEnabled()) { log.debug("Processing artifact file: " + filename); } String type = filename.substring(filename.indexOf(".") + 1); ArtifactXmlBean artifact = new ArtifactXmlBean(); artifact.setName(a.getName()); artifact.setType(type); artifact.setVersion(version); artifact.setSize(a.length()); artifact.setChecksum(_iou.getCheckSum(a)); module.addArtifact(artifact); } releaseBean.addmodule(module); } } result.setCurrentRelease(releaseBean); return result; }
@Before public void setUp() throws Exception { mockCoreArtifactXmlBean = mockHelper.createMock(ArtifactXmlBean.class); expect(mockCoreArtifactXmlBean.getName()).andStubReturn(coreArtifactName); expect(mockCoreArtifactXmlBean.isInstalled()).andStubReturn(coreIsInstalled); expect(mockCoreArtifactXmlBean.getSize()).andStubReturn(coreSize); expect(mockCoreArtifactXmlBean.getChecksum()).andStubReturn(coreChecksum); expect(mockCoreArtifactXmlBean.getType()).andStubReturn(coreType); mockPluginArtifactXmlBean = mockHelper.createMock(ArtifactXmlBean.class); expect(mockPluginArtifactXmlBean.getName()).andStubReturn(pluginArtifactName); expect(mockPluginArtifactXmlBean.isInstalled()).andStubReturn(pluginIsInstalled); expect(mockPluginArtifactXmlBean.getSize()).andStubReturn(pluginSize); expect(mockPluginArtifactXmlBean.getChecksum()).andStubReturn(pluginChecksum); expect(mockPluginArtifactXmlBean.getType()).andStubReturn(pluginType); mockTranslationArtifactXmlBean = mockHelper.createMock(ArtifactXmlBean.class); expect(mockTranslationArtifactXmlBean.getName()).andStubReturn(translationArtifactName); expect(mockTranslationArtifactXmlBean.isInstalled()).andStubReturn(translationIsInstalled); expect(mockTranslationArtifactXmlBean.getSize()).andStubReturn(translationSize); expect(mockTranslationArtifactXmlBean.getChecksum()).andStubReturn(translationChecksum); expect(mockTranslationArtifactXmlBean.getType()).andStubReturn(translationType); // For the serialization test in superclass - cannot use mockHelper because the replay needs to // be // done here. ArtifactXmlBean mockArtifactXmlBean = EasyMock.createMock(ArtifactXmlBean.class); expect(mockArtifactXmlBean.getName()).andStubReturn(coreArtifactName); expect(mockArtifactXmlBean.isInstalled()).andStubReturn(coreIsInstalled); expect(mockArtifactXmlBean.getSize()).andStubReturn(coreSize); expect(mockArtifactXmlBean.getChecksum()).andStubReturn(coreChecksum); expect(mockArtifactXmlBean.getType()).andStubReturn(coreType); replay(mockArtifactXmlBean); super.serializableToTest = new ArtifactStatus(mockArtifactXmlBean); verify(mockArtifactXmlBean); }