@Override
 public void generateApplicationSkeleton(String applicationId, String workingDirectory)
     throws AppFactoryException {
   boolean isSuccess =
       ProjectUtils.generateProjectArchetype(
           applicationId,
           workingDirectory,
           ProjectUtils.getArchetypeRequest(applicationId, getProperty(MAVEN_ARCHETYPE_REQUEST)));
   if (isSuccess) {
     String tenantDomain = CarbonContext.getThreadLocalCarbonContext().getTenantDomain();
     File archetypeDir =
         new File(
             CarbonUtils.getTmpDir()
                 + File.separator
                 + tenantDomain
                 + File.separator
                 + applicationId
                 + File.separator
                 + AppFactoryConstants.MAVEN_ARCHETYPE_DIR);
     initialDeployArtifactGeneration(applicationId, workingDirectory, archetypeDir);
     ProjectUtils.configureFinalName(archetypeDir.getAbsolutePath());
     ProjectUtils.copyArchetypeToTrunk(archetypeDir.getAbsolutePath(), workingDirectory);
     boolean deleteResult = FileUtils.deleteQuietly(archetypeDir);
     if (!deleteResult) {
       log.warn("Error while deleting the archetype directory");
     }
   }
 }