Package org.drools.repository

Examples of org.drools.repository.PackageItem


  public void put(String path, Calendar lastModified, InputStream in, String comment) throws IOException {
    String[] bits = split(path);
    if (bits[0].equals("packages")) {
      String fileName = bits[2];
      String[] a = fileName.split("\\.");
      PackageItem pkg = repo.loadPackage(bits[1]);
      if (a[1].equals("package")) {
        //updating package header
        if (lastModified != null && pkg.getLastModified().after(lastModified)) {
          throw new RulesRepositoryException("The package was modified by: " + pkg.getLastContributor() + ", unable to write changes.");
        }
        pkg.updateStringProperty(readContent(in), PackageItem.HEADER_PROPERTY_NAME);
        pkg.checkin(comment);
        repo.save();
      } else {
        AssetItem as = pkg.loadAsset(a[0]);
        if (lastModified != null && as.getLastModified().after(lastModified)) {
          throw new RulesRepositoryException("The asset was modified by: " + as.getLastContributor() + ", unable to write changes.");
        }
        if (as.isBinary()) {
          as.updateBinaryContentAttachment(in);
View Full Code Here


    public List listEntries(String path) throws Exception {
        // Build a list of packages which are for this path and all sub paths
        List pkgs = new ArrayList();
        String pathAsPackageName = toPackageName( path );
        for ( Iterator it = this.repository.listPackages(); it.hasNext(); ) {
            PackageItem pkgItem = (PackageItem) it.next();
            if ( pkgItem.getName().startsWith( pathAsPackageName ) ) {
                pkgs.add( pkgItem );
            }

        }

        // now sort so that it's directory listing order
        Collections.sort( pkgs,
                          new PackagePathComparator() );

        // Now iterate each directory create an ScmEntry and then add an ScmEntry for each child
        List entries = new ArrayList();
        String parentPath = path;
        for ( Iterator pkgIter = pkgs.iterator(); pkgIter.hasNext(); ) {
            PackageItem item = (PackageItem) pkgIter.next();

            DefaultScmEntry scmEntry = new DefaultScmEntry();
            scmEntry.setPath( parentPath );
            String name = toDirectoryName( item.getName() ).substring( parentPath.length() );
            scmEntry.setName( name );
            scmEntry.setAuthor( item.getPublisher() );
            scmEntry.setDate( item.getLastModified().getTime() );
            scmEntry.setRevision( new Long( item.getVersionNumber() ).longValue() );
            scmEntry.setSize( 0 );
            scmEntry.setType( ScmEntry.DIRECTORY );
            entries.add( scmEntry );

            String pkgNameAsPath = toDirectoryName( item.getName() );
            for ( Iterator assetIter = item.getAssets(); assetIter.hasNext(); ) {
                AssetItem assetItem = (AssetItem) assetIter.next();

                if (!(assetItem.getVersionNumber() == 0)) {
               
                    scmEntry = new DefaultScmEntry();
View Full Code Here

    public List listEntries(String path) throws Exception {
        // Build a list of packages which are for this path and all sub paths
        List pkgs = new ArrayList();
        String pathAsPackageName = toPackageName( path );
        for ( Iterator it = this.repository.listPackages(); it.hasNext(); ) {
            PackageItem pkgItem = (PackageItem) it.next();
            if ( pkgItem.getName().startsWith( pathAsPackageName ) ) {
                pkgs.add( pkgItem );
            }

        }

        // now sort so that it's directory listing order
        Collections.sort( pkgs,
                          new PackagePathComparator() );

        // Now iterate each directory create an ScmEntry and then add an ScmEntry for each child
        List entries = new ArrayList();
        String parentPath = path;
        for ( Iterator pkgIter = pkgs.iterator(); pkgIter.hasNext(); ) {
            PackageItem item = (PackageItem) pkgIter.next();

            DefaultScmEntry scmEntry = new DefaultScmEntry();
            scmEntry.setPath( parentPath );
            String name = toDirectoryName( item.getName() ).substring( parentPath.length() );
            scmEntry.setName( name );
            scmEntry.setAuthor( item.getPublisher() );
            scmEntry.setDate( item.getLastModified().getTime() );
            scmEntry.setRevision( new Long( item.getVersionNumber() ).longValue() );
            scmEntry.setSize( 0 );
            scmEntry.setType( ScmEntry.DIRECTORY );
            entries.add( scmEntry );

            String pkgNameAsPath = toDirectoryName( item.getName() );
            for ( Iterator assetIter = item.getAssets(); assetIter.hasNext(); ) {
                AssetItem assetItem = (AssetItem) assetIter.next();

                if (!(assetItem.getVersionNumber() == 0)) {
               
                    scmEntry = new DefaultScmEntry();
View Full Code Here

    public static class PackagePathComparator
        implements
        Comparator {
        public int compare(Object object0,
                           Object object1) {
            PackageItem item0 = (PackageItem) object0;
            PackageItem item1 = (PackageItem) object1;

            return item0.getName().compareTo( item1.getName() );
        }
View Full Code Here

        }

        public void applyAction(Object context) throws Exception {
            RepositoryContext ctx = (RepositoryContext) context;

            PackageItem pkg = ctx.repository.loadPackage( toPackageName( path ) );

            StringTokenizer tk = new StringTokenizer( file,
                                                      "." );

            String name = tk.nextToken();
            String format = tk.nextToken();

            AssetItem asset = pkg.addAsset( name,
                                            ctx.message );
            asset.updateFormat( format );
            asset.updateContent( new String( content ) );
        }
View Full Code Here

        public void applyAction(Object context) throws Exception {
            RepositoryContext ctx = (RepositoryContext) context;

            if ( !this.root.equals( "" ) ) {
                PackageItem pkgItem = ctx.repository.loadPackage( toPackageName( this.root ) );
                if ( pkgItem == null ) {
                    throw new RuntimeException( "The parent package '" + this.root + "' must exist" );
                }
            }

            PackageItem item = ctx.repository.createPackage( toPackageName( root + "/" + this.path ),
                                                             "initial package" );
            //item.checkin( "save" );
        }
View Full Code Here

    System.out.println("AUTO MIGRATION: Performing drools.package migration...");
      PackageIterator pkgs = repo.listPackages();
      boolean performed = false;
      while(pkgs.hasNext()) {
        performed = true;
        PackageItem pkg = (PackageItem) pkgs.next();
        migratePackage(pkg);

        String[] snaps = repo.listPackageSnapshots(pkg.getName());
        if (snaps != null) {
          for (int i = 0; i < snaps.length; i++) {
            PackageItem snap = repo.loadPackageSnapshot(pkg.getName(), snaps[i]);
            migratePackage(snap);
        }
        }
      }
View Full Code Here

public class RepositoyAssetServiceTest extends GuvnorTestBase {
    @Test
    public void testCreateLinkedAssetItem() throws Exception {
        ServiceImplementation impl = getServiceImplementation();
        RepositoryCategoryService repositoryCategoryService = getRepositoryCategoryService();
        @SuppressWarnings("unused")
        PackageItem testCreateNewRuleAsLinkPackage1 = impl.getRulesRepository().createPackage( "testCreateNewRuleAsLinkPackage1",
                                                                                               "desc" );
        repositoryCategoryService.createCategory( "",
                                                  "testCreateNewRuleAsLinkCat1",
                                                  "this is a cat" );
View Full Code Here

    @Ignore("This test is broken. Suspect changes for new Workspaces and versionable packages could have broken.")
    public void testLinkedAssetItemHistoryRelated() throws Exception {
        ServiceImplementation impl = getServiceImplementation();
        RepositoryAssetService repositoryAssetService = getRepositoryAssetService();
        RepositoryCategoryService repositoryCategoryService = getRepositoryCategoryService();
        @SuppressWarnings("unused")
        PackageItem testCreateNewRuleAsLinkPackage1 = impl.getRulesRepository().createPackage( "testLinkedAssetItemHistoryRelatedPack",
                                                                                               "desc" );
        repositoryCategoryService.createCategory( "",
                                                  "testLinkedAssetItemHistoryRelatedCat",
                                                  "this is a cat" );
View Full Code Here

    @Test
    @Deprecated
    public void testListAssets() throws Exception {
        ServiceImplementation impl = getServiceImplementation();
        RepositoryCategoryService repositoryCategoryService = getRepositoryCategoryService();
        PackageItem pacakgeItem = impl.getRulesRepository().createPackage( "testListAssetsPackage",
                                                                           "desc" );
        repositoryCategoryService.createCategory( "",
                                                  "testListAssetsCat",
                                                  "this is a cat" );

        impl.createNewRule( "testLoadArchivedAssets1",
                                           "description",
                                           "testListAssetsCat",
                                           "testListAssetsPackage",
                                           AssetFormats.BUSINESS_RULE );

        impl.createNewRule( "testLoadArchivedAssets2",
                                           "description",
                                           "testListAssetsCat",
                                           "testListAssetsPackage",
                                           AssetFormats.BUSINESS_RULE );

        impl.createNewRule( "testLoadArchivedAssets3",
                                           "description",
                                           "testListAssetsCat",
                                           "testListAssetsPackage",
                                           AssetFormats.BUSINESS_RULE );

        impl.createNewRule( "testLoadArchivedAssets4",
                                           "description",
                                           "testListAssetsCat",
                                           "testListAssetsPackage",
                                           AssetFormats.BUSINESS_RULE );

        impl.createNewRule( "testLoadArchivedAssets5",
                                           "description",
                                           "testListAssetsCat",
                                           "testListAssetsPackage",
                                           AssetFormats.BUSINESS_RULE );
        RepositoryAssetService repositoryAssetService = getRepositoryAssetService();
        TableDataResult res = repositoryAssetService.listAssets( pacakgeItem.getUUID(),
                                                                 new String[]{AssetFormats.BUSINESS_RULE},
                                                                 0,
                                                                 2,
                                                                 ExplorerNodeConfig.PACKAGEVIEW_LIST_TABLE_ID );

        assertEquals( 2,
                      res.data.length );
        assertTrue( 5 == res.total );
        assertTrue( res.currentPosition == 2 );
        assertTrue( res.hasNext );

        res = repositoryAssetService.listAssets( pacakgeItem.getUUID(),
                                                 new String[]{AssetFormats.BUSINESS_RULE},
                                                 2,
                                                 2,
                                                 ExplorerNodeConfig.PACKAGEVIEW_LIST_TABLE_ID );
        assertEquals( 2,
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.