Package org.drools.repository

Examples of org.drools.repository.AssetItem


    @Path("{packageName}/assets/{assetName}/")
    public void deleteAsset(@PathParam("packageName") String packageName,
                            @PathParam("assetName") String assetName) {
        try {
            //Throws RulesRepositoryException if the package or asset does not exist
            AssetItem ai = repository.loadPackage(packageName).loadAsset( URLDecoder.decode(assetName, "UTF-8") );
            // assetService.archiveAsset(ai.getUUID());
            assetService.removeAsset(ai.getUUID());
            repository.save();
        } catch (Exception e) {
            throw new WebApplicationException(e);
        }
    }
View Full Code Here


    @Produces(MediaType.APPLICATION_ATOM_XML)
    public Feed getAssetVersionsAsFeed(@PathParam("packageName") String packageName,
                                       @PathParam("assetName") String assetName) {
        try {
            //Throws RulesRepositoryException if the package or asset does not exist
            AssetItem asset = repository.loadPackage(packageName).loadAsset(assetName);
           
            Factory factory = Abdera.getNewFactory();
            Feed f = factory.getAbdera().newFeed();
            f.setTitle("Version history of " + asset.getName());

            UriBuilder base;           
            if (asset.isHistoricalVersion()) {
                base = uriInfo.getBaseUriBuilder().path("packages").path(asset.getPackageName()).path("assets").path("versions").path(Long.toString(asset.getVersionNumber()));
            } else {
                base = uriInfo.getBaseUriBuilder().path("packages").path(asset.getPackageName()).path("assets").path(asset.getName()).path("versions");
            }
            f.setBaseUri(base.build().toString());
                       
            AssetHistoryIterator it = asset.getHistory();
            while (it.hasNext()) {
                    AssetItem historicalAsset = it.next();
                    if (historicalAsset.getVersionNumber() != 0) {
                        Entry e = factory.getAbdera().newEntry();
                        e.setTitle(Long.toString(historicalAsset
                                .getVersionNumber()));
                        e.setUpdated(historicalAsset.getLastModified().getTime());
                        Link l = factory.newLink();
                        l.setHref(uriInfo
                                .getBaseUriBuilder()
                                .path("packages")
                                .path(asset.getPackageName())
                                .path("assets")
                                .path(asset.getName())
                                .path("versions")
                                .path(Long.toString(historicalAsset.getVersionNumber())).build().toString());
                        e.addLink(l);
                        f.addEntry(e);
                    }
            }
            return f;
View Full Code Here

    public Entry getHistoricalAssetAsEntry(@PathParam("packageName") String packageName,
                                           @PathParam("assetName") String assetName,
                                           @PathParam("versionNumber") long versionNumber) {
        try {
            //Throws RulesRepositoryException if the package or asset does not exist
            AssetItem asset = repository.loadPackage(packageName).loadAsset(URLDecoder.decode(assetName, "UTF-8"), versionNumber);
            return ToAssetEntryAbdera(asset, uriInfo);
        } catch (Exception e) {
            throw new WebApplicationException(e);
        }
    }  
View Full Code Here

    public String getHistoricalAssetSource(@PathParam("packageName") String packageName,
                                           @PathParam("assetName") String assetName,
                                           @PathParam("versionNumber") long versionNumber) {
        try {
            //Throws RulesRepositoryException if the package or asset does not exist
            AssetItem asset = repository.loadPackage(packageName).loadAsset(URLDecoder.decode(assetName, "UTF-8"), versionNumber);
            return asset.getContent();
        } catch (Exception e) {
            throw new WebApplicationException(e);
        }
    }
View Full Code Here

    public Response getHistoricalAssetBinary(@PathParam("packageName") String packageName,
                                             @PathParam("assetName") String assetName,
                                             @PathParam("versionNumber") long versionNumber) {
        try {
            //Throws RulesRepositoryException if the package or asset does not exist
            AssetItem asset = repository.loadPackage(packageName).loadAsset(assetName, versionNumber);
            String fileName = asset.getName() + "." + asset.getFormat();
            return Response.ok(asset.getBinaryContentAttachment()).header("Content-Disposition", "attachment; filename=" + fileName).build();
        } catch (Exception e) {
            throw new WebApplicationException(e);
        }
    }
View Full Code Here

      }
  }

  private void migratePackage(PackageItem pkg) {
    if (!pkg.containsAsset("drools")) {
      AssetItem asset = pkg.addAsset("drools", "");
      asset.updateFormat("package");
      asset.updateContent(pkg.getStringProperty(PackageItem.HEADER_PROPERTY_NAME));
      asset.checkin("");
    }
  }
View Full Code Here

    } else {
      if (resourceFile.indexOf("?version=") > -1) {
        String[] v = resourceFile.split("\\?version\\=");
        String version = v[1];
        String assetName = AssetItem.getAssetNameFromFileName(v[0])[0];
        AssetItem asset = pkg.loadAsset(assetName);
        if (asset.isArchived()) {
          Text r = new Text();
          r.data = "";
          return r;
        }
        if (version.equals("all")) {
          AssetHistoryIterator it =  asset.getHistory();
          StringBuilder buf = new StringBuilder();
          while(it.hasNext()) {

            AssetItem h = it.next();

            if (h.getVersionNumber() != 0) {
              String checkinComment = h.getCheckinComment();
              //String lastMo ... hmm what is needed?
              String lastMofiedBy = h.getLastContributor();
              if (lastMofiedBy == null || lastMofiedBy.equals("")) {
                lastMofiedBy = asset.getCreator();
              }
              SimpleDateFormat sdf = getISODateFormat();
              Calendar lastModDate = h.getLastModified();
              if (lastModDate == null ) {
                lastModDate = asset.getCreatedDate();
              }
              String lastModifiedOn = sdf.format(lastModDate.getTime());
              buf.append(h.getVersionNumber());
              buf.append("=");
              buf.append(lastModifiedOn + "," + lastMofiedBy + "," + checkinComment);
              if (it.hasNext()) {
                buf.append('\n');
              }
            }

          }
          Text r = new Text();
          r.lastModified = asset.getLastModified();
          r.data = buf.toString();
          return r;
        } else {
          long versionNumber = Long.parseLong(version);
          AssetHistoryIterator it =  asset.getHistory();
          while (it.hasNext()) {
            AssetItem h = it.next();
            if (h.getVersionNumber() == versionNumber) {
              return buildAssetContentResponse(pkg, h);
            }
          }
          //hmm... we didn't find it
          Text r = new Text();
          r.lastModified = asset.getLastModified();
          r.data = "Unknown version number : " + versionNumber;
          return r;
        }
      } else {
         String assetName = AssetItem.getAssetNameFromFileName(resourceFile)[0];
        AssetItem asset = pkg.loadAsset(assetName);
        return buildAssetContentResponse(pkg, asset);
      }

    }
View Full Code Here

    StringBuilder sb = new StringBuilder();
    Iterator<AssetItem> it = pkg.getAssets();
    SimpleDateFormat sdf = getISODateFormat();

    while (it.hasNext()) {
      AssetItem a = it.next();
      if (!a.isArchived()) {
        Calendar lastMod = a.getLastModified();
        if (lastMod == null) {
          lastMod = a.getCreatedDate();
        }
        sb.append(a.getName().replaceAll("\\s", "\\\\ ") + "." + a.getFormat() + "=" + sdf.format(lastMod.getTime()) + "," + a.getVersionNumber());
        sb.append('\n');
      }
    }

    Text r = new Response.Text();
View Full Code Here

        pkg.updateStringProperty(readContent(in), PackageItem.HEADER_PROPERTY_NAME);
        repo.save();
      } else {
        //new asset
        PackageItem pkg = repo.loadPackage(bits[1]);
        AssetItem asset;
        if (pkg.containsAsset(a[0])) {
          asset = pkg.loadAsset(a[0]);
          if (asset.isArchived()) {
            asset.archiveItem(false);
          } else {
            throw new RulesRepositoryException("The file " + path + " already exists, and was not archived.");
          }
          if (asset.isBinary()) {
            asset.updateBinaryContentAttachment(in);
          } else {
            asset.updateContent(readContent(in));
          }
        } else {
          asset = pkg.addAsset(a[0], "<added remotely>");
          asset.updateFormat(a[1]);
          if (TEXT_ASSET_TYPES.containsKey(a[1])) {
            asset.updateContent(readContent(in));
          } else {
            asset.updateBinaryContentAttachment(in);
          }
        }

        asset.checkin(comment);
      }
    } else {
      throw new IllegalArgumentException("Unknown rest path for post.");
    }
  }
View Full Code Here

        }
        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);
        } else {
          as.updateContent(readContent(in));
        }
        as.checkin(comment);
      }

    } else {
      throw new IllegalArgumentException("Unknown rest path for put");
    }
View Full Code Here

TOP

Related Classes of org.drools.repository.AssetItem

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.