Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.drools.guvnor.server.contenthandler;
  * Copyright 2005 JBoss Inc
  * Licensed 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
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.
import  org.drools.guvnor.client.rpc.RuleAsset;

This is used for handling jar models for the rules.

Michael Neale
public class ModelContentHandler extends ContentHandler {
	public void retrieveAssetContent(RuleAsset assetPackageItem pkg,
			AssetItem itemthrows SerializableException {
		// do nothing, as we have an attachment
	public void storeAssetContent(RuleAsset assetAssetItem repoAsset)
			throws SerializableException {
		// do nothing, as we have an attachment

This is called when a model jar is attached, it will peer into it, and then automatically add imports if there aren't any already in the package header configuration.
	public void modelAttached(AssetItem assetthrows IOException {
		PackageItem pkg = asset.getPackage();
		String header = ServiceImplementation.getDroolsHeader(pkg);
		if ( header == null || "".equals(header.trim())) {
			StringBuilder buf = new StringBuilder();
			JarInputStream jis = new JarInputStream(in);
			JarEntry entry = null;
			while ((entry = jis.getNextJarEntry()) != null) {
				if (!entry.isDirectory()) {
					if (entry.getName().endsWith(".class") && entry.getName().indexOf('$') == -1) {
						 buf.append("import " + convertPathToName(entry.getName()));
			ServiceImplementation.updateDroolsHeader(buf.toString(), pkg);
			pkg.checkin("Imports setup automatically on model import.");
	public static String convertPathToName(String name) {
		return name.replace(".class""").replace("/"".");
New to GrepCode? Check out our FAQ X