/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. */ import java.io.*; import org.codehaus.plexus.util.*; boolean result = true; try { final File siteDirectory = new File( basedir, "webhost.company.com" ); if ( !siteDirectory.exists() || !siteDirectory.isDirectory() ) { System.err.println( "site is missing or not a directory." ); result = false; } // DEPLOY final File deployDirectory = new File( siteDirectory, "deploy" ); if ( !deployDirectory.exists() || !deployDirectory.isDirectory() ) { System.err.println( "deployDirectory is missing or not a directory." ); result = false; } // junk directory (aggregator) File junkDirectory = new File( deployDirectory, "junk" ); if ( !junkDirectory.exists() || !junkDirectory.isDirectory() ) { System.err.println( "deployed junkDirectory is missing or not a directory." ); result = false; } File index = new File( junkDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "no index file in deployed junk or is a directory." ); result = false; } String content = FileUtils.fileRead( index, "UTF-8" ); int indexOf = content.indexOf( "Aggregator" ); if ( indexOf < 0 ) { System.err.println( "deployed junk index.html is missing module link!" ); result = false; } // deploy directory (main site) index = new File( deployDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "no index file in deploy or is a directory." ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); int index1 = content.indexOf( "Child and Module" ); int index2 = content.indexOf( "Inheriting Child" ); int index3 = content.indexOf( "Module" ); int index4 = content.indexOf( "Aggregator" ); if ( index1 < 0 || index2 < 0 || index3 < 0 || index4 < 0 ) { System.err.println( "deploy index.html is missing module link!" ); result = false; } // parent directory File parentDirectory = new File( deployDirectory, "www/website" ); if ( !parentDirectory.exists() || !parentDirectory.isDirectory() ) { System.err.println( "deployed parentDirectory is missing or not a directory." ); result = false; } index = new File( parentDirectory, "index.html" ); if ( index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in deployed parent!" ); result = false; } // child_and_module File deepDownBelow = new File( parentDirectory, "deep/down/below" ); if ( !deepDownBelow.exists() || !deepDownBelow.isDirectory() ) { System.err.println( "deployed deepDownBelow is missing or not a directory." ); result = false; } index = new File( deepDownBelow, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in deployed deepDownBelow!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs Parent" ); index2 = content.indexOf( "breadcrumbs /Child" ); index3 = content.indexOf( "links ./Parent" ); index4 = content.indexOf( "Parent" ); if ( index1 < 0 || index2 < 0 || index3 < 0 || index4 < 0 ) { System.err.println( "deployed deepDownBelow index.html is missing links!" ); result = false; } // inheriting_child File inheritingChild = new File( deployDirectory, "inheriting_child" ); if ( !inheritingChild.exists() || !inheritingChild.isDirectory() ) { System.err.println( "deployed inheritingChild is missing or not a directory." ); result = false; } index = new File( inheritingChild, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in deployed inheritingChild!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs /Parent" ); index2 = content.indexOf( "breadcrumbs ./Child" ); index3 = content.indexOf( "links Parent" ); index4 = content.indexOf( "Parent" ); if ( index1 < 0 || index2 < 0 || index3 < 0 || index4 < 0 ) { System.err.println( "deployed inheritingChild index.html is missing links!" ); result = false; } // module File moduleDirectory = new File( parentDirectory, "module" ); if ( !moduleDirectory.exists() || !moduleDirectory.isDirectory() ) { System.err.println( "deployed moduleDirectory is missing or not a directory." ); result = false; } index = new File( moduleDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in deployed moduleDirectory!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs Module" ); index2 = content.indexOf( "links ./Module" ); index3 = content.indexOf( "Sub-Module" ); if ( index1 < 0 || index2 < 0 || index3 < 0 ) { System.err.println( "deployed moduleDirectory index.html has wrong links!" ); result = false; } // sub_module File subModuleDirectory = new File( parentDirectory, "sub_module" ); if ( !subModuleDirectory.exists() || !subModuleDirectory.isDirectory() ) { System.err.println( "deployed subModuleDirectory is missing or not a directory." ); result = false; } index = new File( subModuleDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in deployed subModuleDirectory!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs /Module" ); index2 = content.indexOf( "breadcrumbs ./SubModule" ); index3 = content.indexOf( "links Module" ); index4 = content.indexOf( "Module" ); if ( index1 < 0 || index2 < 0 || index3 < 0 ) { System.err.println( "deployed subModuleDirectory index.html has wrong links!" ); result = false; } // STAGE final File stageDirectory = new File( siteDirectory, "stage" ); if ( !stageDirectory.exists() || !stageDirectory.isDirectory() ) { System.err.println( "stage directory is missing or not a directory." ); result = false; } // the created directory structure in // target/it/site-inheritance/webhost.company.com/stage/ // should match the deploy structure in // target/it/site-inheritance/webhost.company.com/deploy/ // junk directory (aggregator) junkDirectory = new File( stageDirectory, "junk" ); if ( !junkDirectory.exists() || !junkDirectory.isDirectory() ) { System.err.println( "staged junkDirectory is missing or not a directory." ); result = false; } index = new File( junkDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "no index file in staged junk or is a directory." ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); int indexOf = content.indexOf( "Aggregator" ); if ( indexOf < 0 ) { System.err.println( "staged junk index.html is missing module link!" ); result = false; } // deploy directory (main site) index = new File( stageDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "no index file in stage or is a directory." ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); int index1 = content.indexOf( "Child and Module" ); int index2 = content.indexOf( "Inheriting Child" ); int index3 = content.indexOf( "Module" ); int index4 = content.indexOf( "Aggregator" ); if ( index1 < 0 || index2 < 0 || index3 < 0 || index4 < 0 ) { System.err.println( "staged index.html is missing module link!" ); result = false; } // parent directory parentDirectory = new File( stageDirectory, "www/website" ); if ( !parentDirectory.exists() || !parentDirectory.isDirectory() ) { System.err.println( "staged parentDirectory is missing or not a directory." ); result = false; } index = new File( parentDirectory, "index.html" ); if ( index.exists() || index.isDirectory() ) { System.err.println( "incorrect staged index file in parent!" ); result = false; } // child_and_module deepDownBelow = new File( parentDirectory, "deep/down/below" ); if ( !deepDownBelow.exists() || !deepDownBelow.isDirectory() ) { System.err.println( "staged deepDownBelow is missing or not a directory." ); result = false; } index = new File( deepDownBelow, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in staged deepDownBelow!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs Parent" ); index2 = content.indexOf( "breadcrumbs /Child" ); index3 = content.indexOf( "links ./Parent" ); index4 = content.indexOf( "Parent" ); if ( index1 < 0 || index2 < 0 || index3 < 0 || index4 < 0 ) { System.err.println( "staged deepDownBelow index.html is missing links!" ); result = false; } // inheriting_child inheritingChild = new File( stageDirectory, "inheriting_child" ); if ( !inheritingChild.exists() || !inheritingChild.isDirectory() ) { System.err.println( "staged inheritingChild is missing or not a directory." ); result = false; } index = new File( inheritingChild, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in staged inheritingChild!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs /Parent" ); index2 = content.indexOf( "breadcrumbs ./Child" ); index3 = content.indexOf( "links Parent" ); index4 = content.indexOf( "Parent" ); if ( index1 < 0 || index2 < 0 || index3 < 0 || index4 < 0 ) { System.err.println( "staged inheritingChild index.html is missing links!" ); result = false; } // module moduleDirectory = new File( parentDirectory, "module" ); if ( !moduleDirectory.exists() || !moduleDirectory.isDirectory() ) { System.err.println( "staged moduleDirectory is missing or not a directory." ); result = false; } index = new File( moduleDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in staged moduleDirectory!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs Module" ); index2 = content.indexOf( "links ./Module" ); index3 = content.indexOf( "Sub-Module" ); if ( index1 < 0 || index2 < 0 || index3 < 0 ) { System.err.println( "staged moduleDirectory index.html has wrong links!" ); result = false; } // sub_module subModuleDirectory = new File( parentDirectory, "sub_module" ); if ( !subModuleDirectory.exists() || !subModuleDirectory.isDirectory() ) { System.err.println( "staged subModuleDirectory is missing or not a directory." ); result = false; } index = new File( subModuleDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in staged subModuleDirectory!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs /Module" ); index2 = content.indexOf( "breadcrumbs ./SubModule" ); index3 = content.indexOf( "links Module" ); index4 = content.indexOf( "Module" ); if ( index1 < 0 || index2 < 0 || index3 < 0 ) { System.err.println( "staged subModuleDirectory index.html has wrong links!" ); result = false; } // STAGE DEPLOY final File stageDeployDirectory = new File( siteDirectory, "stage-deploy" ); if ( !stageDeployDirectory.exists() || !stageDeployDirectory.isDirectory() ) { System.err.println( "stage-deploy directory is missing or not a directory." ); result = false; } // the created directory structure in // target/it/site-inheritance/webhost.company.com/stage-deploy/ // should match the deploy structure in // target/it/site-inheritance/webhost.company.com/deploy/ // junk directory (aggregator) junkDirectory = new File( stageDeployDirectory, "junk" ); if ( !junkDirectory.exists() || !junkDirectory.isDirectory() ) { System.err.println( "stage-deployed junkDirectory is missing or not a directory." ); result = false; } index = new File( junkDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "no index file in stage-deployed junk or is a directory." ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); int indexOf = content.indexOf( "Aggregator" ); if ( indexOf < 0 ) { System.err.println( "stage-deployed junk index.html is missing module link!" ); result = false; } // deploy directory (main site) index = new File( stageDeployDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "no index file in stage-deploy or is a directory." ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); int index1 = content.indexOf( "Child and Module" ); int index2 = content.indexOf( "Inheriting Child" ); int index3 = content.indexOf( "Module" ); int index4 = content.indexOf( "Aggregator" ); if ( index1 < 0 || index2 < 0 || index3 < 0 || index4 < 0 ) { System.err.println( "stage-deployed index.html is missing module link!" ); result = false; } // parent directory parentDirectory = new File( stageDeployDirectory, "www/website" ); if ( !parentDirectory.exists() || !parentDirectory.isDirectory() ) { System.err.println( "stage-deployed parentDirectory is missing or not a directory." ); result = false; } index = new File( parentDirectory, "index.html" ); if ( index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in stage-deployed parent!" ); result = false; } // child_and_module deepDownBelow = new File( parentDirectory, "deep/down/below" ); if ( !deepDownBelow.exists() || !deepDownBelow.isDirectory() ) { System.err.println( "stage-deployed deepDownBelow is missing or not a directory." ); result = false; } index = new File( deepDownBelow, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in stage-deployed deepDownBelow!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs Parent" ); index2 = content.indexOf( "breadcrumbs /Child" ); index3 = content.indexOf( "links ./Parent" ); index4 = content.indexOf( "Parent" ); if ( index1 < 0 || index2 < 0 || index3 < 0 || index4 < 0 ) { System.err.println( "stage-deployed deepDownBelow index.html is missing links!" ); result = false; } // inheriting_child inheritingChild = new File( stageDeployDirectory, "inheriting_child" ); if ( !inheritingChild.exists() || !inheritingChild.isDirectory() ) { System.err.println( "stage-deployed inheritingChild is missing or not a directory." ); result = false; } index = new File( inheritingChild, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in stage-deployed inheritingChild!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs /Parent" ); index2 = content.indexOf( "breadcrumbs ./Child" ); index3 = content.indexOf( "links Parent" ); index4 = content.indexOf( "Parent" ); if ( index1 < 0 || index2 < 0 || index3 < 0 || index4 < 0 ) { System.err.println( "stage-deployed inheritingChild index.html is missing links!" ); result = false; } // module moduleDirectory = new File( parentDirectory, "module" ); if ( !moduleDirectory.exists() || !moduleDirectory.isDirectory() ) { System.err.println( "stage-deployed moduleDirectory is missing or not a directory." ); result = false; } index = new File( moduleDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in stage-deployed moduleDirectory!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs Module" ); index2 = content.indexOf( "links ./Module" ); index3 = content.indexOf( "Sub-Module" ); if ( index1 < 0 || index2 < 0 || index3 < 0 ) { System.err.println( "stage-deployed moduleDirectory index.html has wrong links!" ); result = false; } // sub_module subModuleDirectory = new File( parentDirectory, "sub_module" ); if ( !subModuleDirectory.exists() || !subModuleDirectory.isDirectory() ) { System.err.println( "stage-deployed subModuleDirectory is missing or not a directory." ); result = false; } index = new File( subModuleDirectory, "index.html" ); if ( !index.exists() || index.isDirectory() ) { System.err.println( "incorrect index file in stage-deployed subModuleDirectory!" ); result = false; } content = FileUtils.fileRead( index, "UTF-8" ); index1 = content.indexOf( "breadcrumbs /Module" ); index2 = content.indexOf( "breadcrumbs ./SubModule" ); index3 = content.indexOf( "links Module" ); index4 = content.indexOf( "Module" ); if ( index1 < 0 || index2 < 0 || index3 < 0 ) { System.err.println( "stage-deployed subModuleDirectory index.html has wrong links!" ); result = false; } } catch ( IOException e ) { e.printStackTrace(); result = false; } return result;