Package org.apache.sling.provisioning.model

Examples of org.apache.sling.provisioning.model.Model


     * Read all model files from the directory in alphabetical order
     * @param logger
     */
    private static Model readLocalModel(final File systemsDirectory, final MavenProject project, final MavenSession session, final Logger logger)
    throws MojoExecutionException {
        final Model result = new Model();
        final List<String> candidates = new ArrayList<String>();
        if ( systemsDirectory != null && systemsDirectory.exists() ) {
            for(final File f : systemsDirectory.listFiles() ) {
                if ( f.isFile() && f.getName().endsWith(".txt") && !f.getName().startsWith(".") ) {
                    candidates.add(f.getName());
                }
            }
            Collections.sort(candidates);
        }
        if ( candidates.size() == 0 ) {
            throw new MojoExecutionException("No model files found in " + systemsDirectory);
        }
        for(final String name : candidates) {
            logger.debug("Reading model " + name + " in project " + project.getId());
            try {
                final File f = new File(systemsDirectory, name);
                final FileReader reader = new FileReader(f);
                try {
                    final Model current = ModelReader.read(reader, f.getAbsolutePath());
                    final Map<Traceable, String> errors = ModelUtility.validate(current);
                    if (errors != null ) {
                        throw new MojoExecutionException("Invalid model at " + name + " : " + errors);
                    }
                    ModelUtility.merge(result, current);
View Full Code Here


            final MavenProject project,
            final MavenSession session,
            final Logger logger)
    throws MojoExecutionException {
        try {
            final Model localModel = readLocalModel(systemsDirectory, project, session, logger);

            // check dependent models
            Model depModel = null;
            for(final File file : dependentModels) {
                FileReader r = null;
                try {
                    r = new FileReader(file);
                    if ( depModel == null ) {
                        depModel = new Model();
                    }
                    final Model readModel = ModelReader.read(r, file.getAbsolutePath());
                    final Map<Traceable, String> errors = ModelUtility.validate(readModel);
                    if (errors != null ) {
                        throw new MojoExecutionException("Invalid model at " + file + " : " + errors);
                    }
                    ModelUtility.merge(depModel, readModel);
                } finally {
                    IOUtils.closeQuietly(r);
                }
            }
            final Model result;
            if ( depModel != null ) {
                Map<Traceable, String> errors = ModelUtility.validate(depModel);
                if (errors != null ) {
                    throw new MojoExecutionException("Invalid model : " + errors);
                }
View Full Code Here

     * @param project The maven projet
     * @return The raw model
     * @throws MojoExecutionException If reading fails
     */
    public static Model getRawModel(final MavenProject project) throws MojoExecutionException {
        Model result = (Model)project.getContextValue(RAW_MODEL);
        if ( result == null ) {
            final String contents = (String)project.getContextValue(RAW_MODEL_TXT);
            try {
                result = ModelReader.read(new StringReader(contents), null);
                project.setContextValue(RAW_MODEL, result);
View Full Code Here

     * @param project The maven projet
     * @return The raw model
     * @throws MojoExecutionException If reading fails
     */
    public static Model getEffectiveModel(final MavenProject project) throws MojoExecutionException {
        Model result = (Model)project.getContextValue(EFFECTIVE_MODEL);
        if ( result == null ) {
            final String contents = (String)project.getContextValue(EFFECTIVE_MODEL_TXT);
            try {
                result = ModelUtility.getEffectiveModel(ModelReader.read(new StringReader(contents), null), null);
                project.setContextValue(EFFECTIVE_MODEL, result);
View Full Code Here

    @Component
    private ArtifactResolver resolver;

    @Override
    public void execute() throws MojoExecutionException, MojoFailureException {
        final Model model = ModelUtils.getEffectiveModel(this.project);

        this.prepareGlobal(model);
        this.prepareStandaloneApp(model);
        this.prepareWebapp(model);
    }
View Full Code Here

            }
        }

        final String directory = nodeValue((Xpp3Dom) plugin.getConfiguration(),
                "systemsDirectory", new File(project.getBasedir(), "src/main/provisioning").getAbsolutePath());
        final Model model = ModelUtils.readFullModel(new File(directory), dependencies, project, session, log);

        ModelUtils.storeRawModel(project, model);

        final Model effectiveModel = ModelUtility.getEffectiveModel(model, null);

        ModelUtils.storeEffectiveModel(project, effectiveModel);

        // start with base artifact
        final org.apache.sling.provisioning.model.Artifact base = ModelUtils.getBaseArtifact(effectiveModel);
View Full Code Here

    )
public class AttachSlingStartModel extends AbstractSlingStartMojo {

    @Override
    public void execute() throws MojoExecutionException, MojoFailureException {
        final Model model = ModelUtils.getRawModel(this.project);

        final File outputFile = new File(this.project.getBuild().getDirectory() + File.separatorChar + "slingstart.txt");
        outputFile.getParentFile().mkdirs();
        Writer writer = null;
        try {
View Full Code Here

*  and verify the result at various stages.
*/
public class IOTest {

    @Test public void testReadWrite() throws Exception {
        final Model result = U.readCompleteTestModel();
       
        U.verifyTestModel(result, false);

        // Write the merged model
        StringWriter writer = new StringWriter();
        try {
            ModelWriter.write(writer, result);
        } finally {
            writer.close();
        }

        // read it again
        StringReader reader = new StringReader(writer.toString());
        final Model readModel = ModelReader.read(reader, "memory");
        reader.close();
        final Map<Traceable, String> readErrors = ModelUtility.validate(readModel);
        if (readErrors != null ) {
            throw new Exception("Invalid read model : " + readErrors);
        }
       
        // and verify the result
        U.verifyTestModel(readModel, false);
       
        // Resolve variables and verify the result
        final Model effective = ModelUtility.getEffectiveModel(readModel, null);
        U.verifyTestModel(effective, true);
    }
View Full Code Here

TOP

Related Classes of org.apache.sling.provisioning.model.Model

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.