Search in sources :

Example 1 with NewModuleFragmentFilesOp

use of com.liferay.ide.project.core.modules.fragment.NewModuleFragmentFilesOp in project liferay-ide by liferay.

the class MavenModuleFragmentProjectTests method testNewModuleFragmentFileProjectValidation.

@Test
public void testNewModuleFragmentFileProjectValidation() throws Exception {
    deleteAllWorkspaceProjects();
    NewModuleFragmentFilesOp fop = NewModuleFragmentFilesOp.TYPE.instantiate();
    Status projectValidationStatus = fop.getProjectName().validation();
    assertEquals("No suitable Liferay fragment project.", projectValidationStatus.message());
    NewModuleFragmentOp op = NewModuleFragmentOp.TYPE.instantiate();
    final String runtimeName = "liferay-portal-7.0";
    final NullProgressMonitor npm = new NullProgressMonitor();
    IRuntime runtime = ServerCore.findRuntime(runtimeName);
    if (runtime == null) {
        final IRuntimeWorkingCopy runtimeWC = ServerCore.findRuntimeType(getRuntimeId()).createRuntime(runtimeName, npm);
        runtimeWC.setName(runtimeName);
        runtimeWC.setLocation(getLiferayRuntimeDir());
        runtime = runtimeWC.save(true, npm);
    }
    assertNotNull(runtime);
    List<String> bundles = ServerUtil.getModuleFileListFrom70Server(runtime);
    assertNotNull(bundles);
    for (String hostOsgiBundle : bundles) {
        if (hostOsgiBundle.contains("com.liferay.asset.display.web")) {
            op.setProjectName("test-project-validation");
            op.setProjectProvider("gradle-module-fragment");
            op.setLiferayRuntimeName(runtimeName);
            op.setHostOsgiBundle(hostOsgiBundle);
            OverrideFilePath overrideFilePath = op.getOverrideFiles().insert();
            overrideFilePath.setValue("META-INF/resources/view.jsp");
            Status gradleExeStatus = NewModuleFragmentOpMethods.execute(op, ProgressMonitorBridge.create(new NullProgressMonitor()));
            assertTrue(gradleExeStatus.ok());
            IProject existedGradleProject = CoreUtil.getProject(op.getProjectName().content());
            assertNotNull(existedGradleProject);
            IFile bndFile = existedGradleProject.getFile("bnd.bnd");
            bndFile.delete(true, true, new NullProgressMonitor());
            fop.setProjectName(op.getProjectName().content());
            projectValidationStatus = fop.getProjectName().validation();
            assertEquals("Can't find bnd.bnd file in the project.", projectValidationStatus.message());
        }
    }
}
Also used : Status(org.eclipse.sapphire.modeling.Status) NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) IFile(org.eclipse.core.resources.IFile) OverrideFilePath(com.liferay.ide.project.core.modules.fragment.OverrideFilePath) NewModuleFragmentOp(com.liferay.ide.project.core.modules.fragment.NewModuleFragmentOp) NewModuleFragmentFilesOp(com.liferay.ide.project.core.modules.fragment.NewModuleFragmentFilesOp) IRuntimeWorkingCopy(org.eclipse.wst.server.core.IRuntimeWorkingCopy) IProject(org.eclipse.core.resources.IProject) IRuntime(org.eclipse.wst.server.core.IRuntime) Test(org.junit.Test)

Aggregations

NewModuleFragmentFilesOp (com.liferay.ide.project.core.modules.fragment.NewModuleFragmentFilesOp)1 NewModuleFragmentOp (com.liferay.ide.project.core.modules.fragment.NewModuleFragmentOp)1 OverrideFilePath (com.liferay.ide.project.core.modules.fragment.OverrideFilePath)1 IFile (org.eclipse.core.resources.IFile)1 IProject (org.eclipse.core.resources.IProject)1 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)1 Status (org.eclipse.sapphire.modeling.Status)1 IRuntime (org.eclipse.wst.server.core.IRuntime)1 IRuntimeWorkingCopy (org.eclipse.wst.server.core.IRuntimeWorkingCopy)1 Test (org.junit.Test)1