Package org.drools.repository

Examples of org.drools.repository.PackageItem


    }

    private StoredObject getStoredObjectForReadOnlyPackages(String uri,
                                                            RulesRepository repository,
                                                            String[] path) {
        PackageItem packageItem = loadPackageFromRepository(repository,
                path[1]);
        if (path.length == 2) {
            return createStoredObject(uri,
                    packageItem,
                    0);
View Full Code Here


            return false;
        }

        if (repository.containsPackage(path[1])) {
            if (isPackages(path)) {
                PackageItem pkg = loadPackageFromRepository(repository,
                        path[1]);
                if (path[2].startsWith("._")) {
                    return osxDoubleData.containsKey(uri);
                }
                return pkg.containsAsset(AssetItem.getAssetNameFromFileName(path[2])[0]);
            }

            if (path.length == 4) {
                return isAssetItemInPackage(repository,
                        path);
View Full Code Here

    private boolean handlePackagesInternalObjectExists(String uri,
                                                       RulesRepository repository,
                                                       String[] path) {
        if (path.length == 2) {
            PackageItem pkg = loadPackageFromRepository(repository,
                    path[1]);
            return !pkg.isArchived();
        }
        PackageItem pkg = loadPackageFromRepository(repository,
                path[1]);
        if (path[2].startsWith("._")) {
            return WebDAVImpl.osxDoubleData.containsKey(uri);
        }
        String assetName = AssetItem.getAssetNameFromFileName(path[2])[0];
        return pkg.containsAsset(assetName) && !pkg.loadAsset(assetName).isArchived();
    }
View Full Code Here

        String[] path = getPath(uri);
        if (path.length == 0 || path.length == 1) {
            throw new IllegalArgumentException();
        }
        if (isPackages(path) && checkPackagePermissionIfDeveloper(path)) {
            PackageItem packageItem = loadPackageFromRepository(repository,
                    path[1]);
            if (path.length == 3) {
                //delete asset
                if (path[2].startsWith("._")) {
                    WebDAVImpl.osxDoubleData.remove(uri);
                    return;
                }
                AssetItem item = loadAssetItemFromPackageItem(packageItem,
                        path[2]);
                item.archiveItem(true);
                item.checkin("");
            } else {
                //delete package
                packageItem.archiveItem(true);
                packageItem.checkin("");
            }
        } else if (isGlobalAreas(path)) {
            if (path.length == 2) {
                //delete asset
                if (path[1].startsWith("._")) {
View Full Code Here

     * then automatically add imports if there aren't any already in the package
     * header configuration.
     */
    public void onAttachmentAdded(AssetItem asset) throws IOException {

        PackageItem pkg = asset.getPackage();
        StringBuilder header = createNewHeader( DroolsHeader.getDroolsHeader( pkg ) );

        Set<String> imports = getImportsFromJar( asset );

        for ( String importLine : imports ) {
            Pattern pattern = Pattern.compile( "\\b" + importLine.replace( ".",
                                                                           "\\." ) + "\\b" );
            if ( !pattern.matcher( header ).find() ) {
                header.append( importLine ).append( "\n" );
            }
        }

        DroolsHeader.updateDroolsHeader( header.toString(),
                                         pkg );
        pkg.checkin( "Imports setup automatically on model import." );

    }
View Full Code Here

    }

    public void onAttachmentRemoved(AssetItem item) throws IOException {

        PackageItem pkg = item.getPackage();
        StringBuilder header = createNewHeader( DroolsHeader.getDroolsHeader( pkg ) );

        Set<String> imports = getImportsFromJar( item );

        for ( String importLine : imports ) {
            String importLineWithLineEnd = importLine + "\n";

            header = removeImportIfItExists( header,
                                             importLineWithLineEnd );
        }

        DroolsHeader.updateDroolsHeader( header.toString(),
                                                  pkg );

        pkg.checkin( "Imports removed automatically on model archiving." );

    }
View Full Code Here

                                                         helper.isLatest(),
                                                         out );
                    }
                } else if ( helper.isDocumentation() ) {

                    PackageItem pkg = fm.getRepository().loadPackage( helper.getPackageName() );

                    GuvnorDroolsDocsBuilder builder;
                    try {
                        builder = GuvnorDroolsDocsBuilder.getInstance( pkg );
                    } catch ( DroolsParserException e ) {
                        throw new ServletException( "Could not parse the rule package." );

                    }

                    fileName = "documentation.pdf";

                    builder.writePDF( out );

                } else if ( helper.isPng() ) {
                    PackageItem pkg = fm.getRepository().loadPackage( helper.getPackageName() );
                    AssetItem asset = pkg.loadAsset(helper.getAssetName());

                    fileName = getFileManager().loadFileAttachmentByUUID( asset.getUUID(),
                                                                                 out );
                } else {
                    if ( req.getRequestURI().endsWith( "SCENARIOS" ) ) {
                        fileName="TestScenariosResult.txt";
                        doRunScenarios( helper,
                                        out );
                    } else if ( req.getRequestURI().endsWith( "ChangeSet.xml" ) ) {
                        String url = req.getRequestURL().toString().replace( "/ChangeSet.xml",
                                                                             "" );
                        fileName = "ChangeSet.xml";
                        String xml = "";
                        xml += "<change-set xmlns='http://drools.org/drools-5.0/change-set'\n";
                        xml += "    xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'\n";
                        xml += "    xs:schemaLocation='http://drools.org/drools-5.0/change-set http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd' >\n";
                        xml += "    <add>\n ";
                        xml += "        <resource source='" + url + "' type='PKG' />\n";
                        xml += "    </add>\n";
                        xml += "</change-set>";
                        out.write( xml.getBytes() );
                    } else if(req.getRequestURI().endsWith( "MODEL")) {
                         PackageItem pkg = fm.getRepository().loadPackage(helper.getPackageName());
                         AssetItemIterator it = pkg.listAssetsByFormat(AssetFormats.MODEL);
                         BufferedInputStream inputFile = null;
                         byte[] data = new byte[1000];
                         int count = 0;
                         int numberOfAssets = 0;
                         while(it.hasNext()){
                             it.next();
                             numberOfAssets++;
                         }

                         if (numberOfAssets==0){
                             res.setContentType( "text/html" );
                             PrintWriter outEM = res.getWriter();
                             outEM.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
                                     "Transitional//EN\">\n" +
                                     "<HTML>\n" +
                                     "<HEAD><TITLE>Empty POJO Model(jar)</TITLE></HEAD>\n" +
                                     "<BODY>\n" +
                                     "<H1>EMPTY MODEL</H1>\n" +
                             "</BODY></HTML>");
                             return;
                         }

                         if(numberOfAssets>1){
                             fileName="Model.zip";
                             inputFile = new BufferedInputStream(zipModel(pkg));
                             while((count = inputFile.read(data,0,1000)) != -1)
                             {
                                 out.write(data, 0, count);
                             }

                             inputFile.close();
                         }else{
                             fileName="ModelJar.jar";
                             inputFile = new BufferedInputStream(zipModel(pkg));
                             while((count = inputFile.read(data,0,1000)) != -1)
                             {
                                 out.write(data, 0, count);
                             }

                             inputFile.close();

                         }


                    } else if (req.getRequestURI().contains("/SpringContext/")) {

                        String uri = req.getRequestURI();
                        int lastIndexOfSlash = uri.lastIndexOf('/');
                        String assetName = uri.substring(lastIndexOfSlash + 1);
                        fileName = assetName + ".xml";

                        PackageItem pkg = fm.getRepository().loadPackage( helper.getPackageName() );
                        AssetItem asset = pkg.loadAsset(assetName);
                        out.write(asset.getBinaryContentAsBytes());

                    } else {
                        fileName = fm.loadBinaryPackage( helper.getPackageName(),
                                helper.getVersion(),
View Full Code Here

    private void doRunScenarios(PackageDeploymentURIHelper helper,
                                ByteArrayOutputStream out) throws IOException {
        ServiceImplementation serv = RepositoryServiceServlet.getService();
        RepositoryPackageService packageService = RepositoryServiceServlet.getPackageService();
        PackageItem pkg;
        if ( helper.isLatest() ) {
            pkg = serv.getRulesRepository().loadPackage( helper.getPackageName() );
        } else {
            pkg = serv.getRulesRepository().loadPackageSnapshot( helper.getPackageName(),
                                                                 helper.getVersion() );
View Full Code Here

    @PUT
    @Path("{packageName}")
    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public void updatePackageFromJAXB(@PathParam("packageName") String packageName, Package p) {
        try {
            PackageItem item = repository.loadPackage(packageName);
            item.checkout();
            item.updateDescription(p.getDescription());
            item.updateTitle(p.getTitle());
            /* TODO: add more updates to package item from JSON */
            item.checkin(p.getCheckInComment());
            repository.save();
        } catch (Exception e) {
            throw new WebApplicationException(e);
        }
    }
View Full Code Here

    @DELETE
    @Path("{packageName}")
    public void deletePackage(@PathParam("packageName") String packageName) {
        try {
            //Throws RulesRepositoryException if the package does not exist
            PackageItem p = repository.loadPackage(packageName);
            packageService.removePackage(p.getUUID());
        } catch (Exception e) {
            // catch RulesRepositoryException and other exceptions.
            throw new WebApplicationException(e);
        }
    }
View Full Code Here

TOP

Related Classes of org.drools.repository.PackageItem

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.