You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(233) |
Sep
(199) |
Oct
(206) |
Nov
(185) |
Dec
(270) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(232) |
Feb
(426) |
Mar
(623) |
Apr
(592) |
May
(506) |
Jun
(389) |
Jul
(160) |
Aug
(3) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
(5) |
2007 |
Jan
(1) |
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
(4) |
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(5) |
Oct
(9) |
Nov
(6) |
Dec
(6) |
2008 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
(3) |
May
(3) |
Jun
(5) |
Jul
(10) |
Aug
(2) |
Sep
(12) |
Oct
(10) |
Nov
(54) |
Dec
(49) |
2009 |
Jan
(19) |
Feb
(13) |
Mar
(20) |
Apr
(24) |
May
(44) |
Jun
(29) |
Jul
(32) |
Aug
(10) |
Sep
(7) |
Oct
(10) |
Nov
(4) |
Dec
(17) |
2010 |
Jan
(14) |
Feb
(5) |
Mar
(23) |
Apr
(50) |
May
(31) |
Jun
(9) |
Jul
(5) |
Aug
(4) |
Sep
(7) |
Oct
(5) |
Nov
(2) |
Dec
(3) |
2011 |
Jan
(12) |
Feb
(5) |
Mar
(5) |
Apr
(3) |
May
(4) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2012 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <jbo...@li...> - 2006-06-06 00:54:16
|
Author: wrzep Date: 2006-06-05 13:12:03 -0400 (Mon, 05 Jun 2006) New Revision: 4615 Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Last7DaysStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Plugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerSync.java Log: JBLAB-599 Improved Last7DaysPlugin -Pawel Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Last7DaysStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Last7DaysStatusPlugin.java 2006-06-05 16:08:11 UTC (rev 4614) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Last7DaysStatusPlugin.java 2006-06-05 17:12:03 UTC (rev 4615) @@ -70,14 +70,17 @@ public long getValue(String projectId) { long currentValue = insidePlugin.getValue(projectId); - long prevValue; + long prevValue = 0; + + Calendar now = Calendar.getInstance(); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH,-7); + try { prevValue = ScoresManagerSync.getValue( - insidePlugin.getId(), projectId, cal); + insidePlugin.getId(), projectId, cal, now); } catch (GetScoresException e) { return 0; } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Plugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Plugin.java 2006-06-05 16:08:11 UTC (rev 4614) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Plugin.java 2006-06-05 17:12:03 UTC (rev 4615) @@ -115,7 +115,7 @@ return 0; } - float r = ((float) getValue(projectId) / (float) totalScore); + float r = (getValue(projectId) / totalScore); return (int) (100.0 * r); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java 2006-06-05 16:08:11 UTC (rev 4614) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java 2006-06-05 17:12:03 UTC (rev 4615) @@ -71,9 +71,8 @@ } } - - public long getValue(String projectId) { + int total = 0; for (String pluginName : plugins.getPluginIds()) { Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerSync.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerSync.java 2006-06-05 16:08:11 UTC (rev 4614) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManagerSync.java 2006-06-05 17:12:03 UTC (rev 4615) @@ -150,6 +150,28 @@ return service; } + + public static long getValue(String id, String projectId, + Calendar start, Calendar end) throws GetScoresException { + + long value; + Calendar cal = start; + + for (;;) { + + if (cal.after(end)) { + throw new GetScoresException(); + } + + try { + value = getValue(id, projectId, cal); + return value; + } catch (GetScoresException e) { + // try next + cal.add(Calendar.DAY_OF_MONTH, 1); + } + } + } /* * java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory |
From: <jbo...@li...> - 2006-06-05 21:45:15
|
Author: adamw Date: 2006-06-05 15:43:20 -0400 (Mon, 05 Jun 2006) New Revision: 4622 Modified: labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/ShotokuTag.java labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/WebsiteTag.java Log: http://jira.jboss.com/jira/browse/JBSHOTOKU-86 Modified: labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/ShotokuTag.java =================================================================== --- labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/ShotokuTag.java 2006-06-05 19:41:01 UTC (rev 4621) +++ labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/ShotokuTag.java 2006-06-05 19:43:20 UTC (rev 4622) @@ -11,6 +11,11 @@ super(id, name, author, resourceId, data, dateCreated); } + public ShotokuTag(String name, String author, String resourceId, + String data, Date dateCreated) { + super(-1, name, author, resourceId, data, dateCreated); + } + public String getType() { return "shotoku"; } Modified: labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/WebsiteTag.java =================================================================== --- labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/WebsiteTag.java 2006-06-05 19:41:01 UTC (rev 4621) +++ labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/WebsiteTag.java 2006-06-05 19:43:20 UTC (rev 4622) @@ -11,6 +11,11 @@ super(id, name, author, resourceId, data, dateCreated); } + public WebsiteTag(String name, String author, String resourceId, + String data, Date dateCreated) { + super(-1, name, author, resourceId, data, dateCreated); + } + public String getType() { return "website"; } |
From: <jbo...@li...> - 2006-06-05 20:44:00
|
Author: adamw Date: 2006-06-03 19:24:49 -0400 (Sat, 03 Jun 2006) New Revision: 4596 Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java Log: http://jira.jboss.com/jira/browse/JBLAB-690 Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java 2006-06-03 22:59:51 UTC (rev 4595) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java 2006-06-03 23:24:49 UTC (rev 4596) @@ -423,6 +423,12 @@ return link; } + private static String removeParameter(String link, String param) { + link = link.replace("?" + param + "&", "?"); + link = link.replace("?" + param, ""); + return link.replace("&" + param, ""); + } + public static String prepareLinkForChecking(String portalName, String link) { if (link == null) return link; @@ -435,10 +441,11 @@ // Deleting the noproject parameter, as it is not present in the generated links. // There are three possibilites: it is the first parameter and there are no more // parameters, there are more parameters, or it is a not-first parameter. - link = link.replace("?" + Constants.NO_PROJECT_PARAM + "&", "?"); - link = link.replace("?" + Constants.NO_PROJECT_PARAM, ""); - link = link.replace("&" + Constants.NO_PROJECT_PARAM, ""); + link = removeParameter(link, Constants.NO_PROJECT_PARAM); + link = removeParameter(link, Constants.PROJECT_LIST_PARAM+"="+Constants.FALSE_VALUE); + link = removeParameter(link, Constants.PROJECT_LIST_PARAM+"="+Constants.TRUE_VALUE); + return link; } |
From: Siegfried M. <ulw...@jo...> - 2006-06-05 20:38:33
|
Trade Date: Tuesday, June 6th, 2006 Company: BioElectronics Corporation Symbol: BIEL Price: $0.025 IS MOMENTUM BUILDING FOR THIS STOCK? CAN YOU MAKE SOME FAST MONEY ON IT? RADAR BIEL FOR TUESDAY'S OPEN RIGHT NOW!! THE ALERT IS ON!!! RECENT NEWS HEADLINE: (GO READ ALL THE NEWS ON BIEL RIGHT NOW!) BioElectronics Corporation Announces New 510(k) Market Clearance Application Filed With FDA!! About BioElectronics Corporation (Source: News 5/18/2006) BioElectronics currently manufactures and sells ActiPatch(TM), a drug-free anti-inflammatory patch with an embedded battery operated microchip that delivers weeks of continuous pulsed therapy for less than a dollar a day. The unique ActiPatch delivery system, using patented technology, provides a cost-effective, patient friendly method to reduce soft tissue pain and swelling. GO READ ALL THE NEWS ON THIS ONE!! DO YOUR DUE DILIGENCE!! RADAR IT FOR TUESDAY'S OPEN NOW! ______________ Information within this report contains forward looking statements within the meaning of Section 27A of the Securities Act of 1933 and Section 21B of the SEC Act of 1934. Statements that involve discussions with respect to projections of future events are not statements of historical fact and may be forward looking statements. Don't rely on them to make a decision. Past performance is never indicative of future results. We received four hundred thousand free trading shares in the past for our services. All those shares have been sold. We have received an additional one million free trading shares now. We intend to sell all one million shares now, which could cause the stock to go down, resulting in losses for you. The four hundred thousand shares and one million shares were received from two different third parties, not officers, directors or affiliate shareholders. This company has: an accumulated deficit, a negative net worth, a reliance on loans from officers directors and affiliates to pay expenses, and a nominal cash position. These factors raise substantial doubt about its ability to continue as a going concern. The company and its president are a defendant in a lawsuit. The publicly available float of stock is currently increasing. URGENT: Read the company's SEC filing before you invest. This report shall not be construed as any kind of investment advice or solicitation. WARNING: You can lose all your money by investing in this stock. |
Author: adamw Date: 2006-06-03 18:59:51 -0400 (Sat, 03 Jun 2006) New Revision: 4595 Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/Constants.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/Entry.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/Menu.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/ProjectMenuEntry.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/ProjectsMenuEntry.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Projects.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandMapper.java labs/jbosslabs/trunk/portal-extensions/forge-navigation/src/java/org/jboss/forge/navigation/NavigationDescriptor.java labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/AttributesFilter.java labs/jbosslabs/trunk/portal-extensions/polls/src/java/org/jboss/forge/polls/PollsPortlet.java labs/jbosslabs/trunk/portal-extensions/project.properties Log: http://jira.jboss.com/jira/browse/JBLAB-685 Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/Constants.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/Constants.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/Constants.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -29,7 +29,6 @@ /* * Attributes passed to portlets from the URL. */ - public static final String ATTR_PROJECT = "project"; public static final String ATTR_REQ_PATH = "path"; public static final String ATTR_URL = "nav-url"; @@ -70,13 +69,28 @@ * An url parameter that should be set when a link does not point * to a project site. */ - public final static String PARAM_NO_PROJECT = "noproject"; + public final static String NO_PROJECT_PARAM_NAME = "noproject"; - - public final static String NO_PROJECT_PARAM = Constants.PARAM_NO_PROJECT + "=" + + /** + * An url parameter+value pair that should be set when a link does not + * point to a project site. + */ + public final static String NO_PROJECT_PARAM = Constants.NO_PROJECT_PARAM_NAME + "=" + Constants.TRUE_VALUE; + /** + * Name of the paramter in the URL + * depicting the selected project. + */ + public final static String PROJECT_PARAM = "project"; + /** + * An url parameter that should be set when it is known if the projects list + * should be expanded or not when showing a projects' menu. + */ + public static final String PROJECT_LIST_PARAM = "prjlist"; + + /** * A string representing a true value. */ public final static String TRUE_VALUE = "true"; Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/Entry.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/Entry.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/Entry.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -40,7 +40,6 @@ private final static String DISPLAY_ATTRIBUTE = "display"; private final static String FOLDABLE_ATTRIBUTE = "foldable"; - private final static String JS_FOLDABLE_ATTRIBUTE = "jsFoldable"; private final static String PERMISSION_ATTRIBUTE = "permission"; /** @@ -63,15 +62,7 @@ * that is, should be shown only when this entry is selected. */ private boolean foldable; - /** - * True if sub-menu of this entry are javascript-foldable, - * that is, should be toggled with a mouse click. Such entries - * represent no real link. - */ - private boolean jsFoldable; - - /** * Role that the user is required to have to display * this entry, or null if */ @@ -94,8 +85,6 @@ display = XmlTools.getAttributeValue(root, DISPLAY_ATTRIBUTE); foldable = Constants.TRUE_VALUE.equals( XmlTools.getAttributeValue(root, FOLDABLE_ATTRIBUTE)); - jsFoldable = Constants.TRUE_VALUE.equals( - XmlTools.getAttributeValue(root, JS_FOLDABLE_ATTRIBUTE)); NodeList nodes = root.getChildNodes(); @@ -127,13 +116,14 @@ DelegateContext context, String currentLink, String projectId, String levelId); - public boolean containsLink(String currentLink, String projectId, String levelId) { + public boolean containsLink(String currentLink, String projectId, String levelId, + JBossRenderRequest request) { if (linkToCheck == null) { return currentLink == null; } return linkToCheck.equals(currentLink) || ((menu != null) && (menu.containsLink( - currentLink, projectId, levelId))); + currentLink, projectId, levelId, request))); } /* @@ -151,7 +141,7 @@ protected void commonFillContext(JBossRenderRequest request, DelegateContext context, String currentLink, String projectId, String levelId) { - boolean selected = containsLink(currentLink, projectId, levelId); + boolean selected = containsLink(currentLink, projectId, levelId, request); if (selected) { context.put("selected", "true"); @@ -161,10 +151,6 @@ context.put("foldable", "true"); } - if (jsFoldable) { - context.put("jsFoldable", "true"); - } - if ((menu != null) && ((foldable && selected) || (!foldable))) { menu.fillContext(request, context, currentLink, projectId, levelId); } @@ -217,4 +203,8 @@ protected void setDisplay(String display) { this.display = display; } + + protected void setFoldable(boolean foldable) { + this.foldable = foldable; + } } Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/Menu.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/Menu.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/Menu.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -112,9 +112,10 @@ return jsp; } - public boolean containsLink(String link, String projectId, String levelId) { + public boolean containsLink(String link, String projectId, String levelId, + JBossRenderRequest request) { for (Entry e : entries) { - if (e.containsLink(link, projectId, levelId)) { + if (e.containsLink(link, projectId, levelId, request)) { return true; } } Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/ProjectMenuEntry.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/ProjectMenuEntry.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/ProjectMenuEntry.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -45,7 +45,7 @@ return null; } - public boolean containsLink(String link, String projectId, String levelId) { + public boolean containsLink(String link, String projectId, String levelId, JBossRenderRequest request) { if (projectId == null) { return false; } @@ -56,7 +56,7 @@ Menu menu = projects.getProjectMenu(pc, projectId); return link.equals(projects.getProjectLink(projectId)) || - menu.containsLink(link, projectId, levelId); + menu.containsLink(link, projectId, levelId, request); } protected void innerFillContext(JBossRenderRequest request, DelegateContext context, @@ -79,7 +79,7 @@ toFill.put("display", projects.getProjectName(projectId)); if (currentLink.equals(link) || menu.containsLink(currentLink, projectId, - levelId)) { + levelId, request)) { toFill.put("selected", "true"); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/ProjectsMenuEntry.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/ProjectsMenuEntry.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/navigation/ProjectsMenuEntry.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -30,43 +30,67 @@ import org.jboss.forge.common.projects.permissions.RenderRequestPermissionsChecker; import org.jboss.forge.common.XmlTools; import org.jboss.forge.common.ForgeHelper; +import org.jboss.forge.common.Constants; +import java.util.Set; + /** * @author Adam Warski (ad...@as...) */ public class ProjectsMenuEntry extends Entry { + private final static String FOLDED_ATTRIBUTE = "folded"; private final static String LEVEL_ATTRIBUTE = "level"; private final static String CURRENT_LEVEL_ATTR_VALUE = "${selected}"; private String level; private boolean selectedLevel; + private boolean folded; public ProjectsMenuEntry(String portalName, Node root) { super(portalName, null, root); + setFoldable(true); + level = XmlTools.getAttributeValue(root, LEVEL_ATTRIBUTE); selectedLevel = CURRENT_LEVEL_ATTR_VALUE.equals(level); + folded = Constants.TRUE_VALUE.equals( + XmlTools.getAttributeValue(root, FOLDED_ATTRIBUTE)); } protected String generateLink(String content) { return null; } - public boolean containsLink(String link, String projectId, String levelId) { - if (selectedLevel && (levelId == null)) { - // We can't display the current level if there is no level selected. + public boolean containsLink(String link, String projectId, String levelId, JBossRenderRequest request) { + if (link == null) { return false; } - if (link == null) { + if (selectedLevel && (levelId == null)) { + // We can't display the current level if there is no level selected. return false; } + String realLevelId = selectedLevel ? levelId : level; + Projects projects = ProjectsHelper.getProjects(getPortalName()); - return link.equals(ForgeHelper.prepareLinkForChecking( + boolean projectInLevel = false; + + if (projectId != null) { + projectInLevel = realLevelId.equals(projects.getProjectLevel(projectId)); + } + + PermissionsChecker pc = new RenderRequestPermissionsChecker(request); + if (projectInLevel) { + Menu menu = projects.getProjectMenu(pc, projectId); + return link.equals(projects.getProjectLink(projectId)) || + menu.containsLink(link, projectId, levelId, request); + } else { + return link.equals(ForgeHelper.prepareLinkForChecking( getPortalName(), projects.getLevelLink(selectedLevel ? levelId : level))); + } } protected void innerFillContext(JBossRenderRequest request, DelegateContext context, @@ -76,25 +100,77 @@ return; } + String realLevelId = selectedLevel ? levelId : level; + Projects projects = ProjectsHelper.getProjects(getPortalName()); + + Object prjListOpenObj = request.getAttribute(Constants.PROJECT_LIST_PARAM); + boolean prjListOpen; + + if (prjListOpenObj != null) { + prjListOpen = (Boolean) prjListOpenObj; + } else { + prjListOpen = false; + } + + boolean projectInLevel = false; + + if (projectId != null) { + projectInLevel = realLevelId.equals(projects.getProjectLevel(projectId)); + } + PermissionsChecker pc = new RenderRequestPermissionsChecker(request); + if (projectInLevel) { + Set<String> projectIds = projects.getProjectIds(pc, levelId); - DelegateContext prjContext = projects.getLevelContext(pc, - selectedLevel ? levelId : level); + if (projectIds.size() != 0) { + DelegateContext toFill = getNextEntryContext(context); + setEntryTypeInContext(toFill, "projects-menu"); + toFill.put("activeLevel", "true"); - // Appending the project's context only if there are any projects - // in it. - if (prjContext.childIterator("projects").hasNext()) { - DelegateContext toFill = getNextEntryContext(context); - setEntryTypeInContext(toFill, "projects-menu"); - toFill.append("projects-menu", prjContext); + toFill = toFill.next("projects-menu"); + toFill.put("name", projects.getLevelName(levelId)); - commonFillContext(request, toFill, currentLink, projectId, levelId); + for (String prjId : projectIds) { + DelegateContext prjContext = toFill.next("projects"); + prjContext.put("id", prjId); + prjContext.put("name", projects.getProjectName(prjId)); - // If there is a project selected, we fold all projects menus. - if (projectId != null) { - toFill.put("folded", "true"); + if (prjId.equals(projectId)) { + // Adding a project's menu. + prjContext.put("activeProject", "true"); + + Menu menu = projects.getProjectMenu(pc, projectId); + menu.fillContext(request, prjContext, currentLink, + projectId, levelId); + } else { + prjContext.put("activeProject", "false"); + } + } + + commonFillContext(request, toFill, currentLink, projectId, levelId); + + toFill.put("prjListOpen", prjListOpen ? "true" : "false"); } + } else { + DelegateContext prjContext = projects.getLevelContext(pc, realLevelId); + + // Appending the project's context only if there are any projects + // in it. + if (prjContext.childIterator("projects").hasNext()) { + DelegateContext toFill = getNextEntryContext(context); + setEntryTypeInContext(toFill, "projects-menu"); + toFill.append("projects-menu", prjContext); + + commonFillContext(request, toFill, currentLink, projectId, levelId); + + // If there is a project selected, we fold all projects menus. + if ((folded || (projectId != null))) { + toFill.put("folded", "true"); + } + + toFill.put("activeLevel", "false"); + } } } } Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Projects.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Projects.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/Projects.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -258,6 +258,14 @@ public String getLevelLink(String levelId) { return getProjectsDescriptor().getLevelLink(levelId); } + + /** + * Gets a link to the given level. + * @return A link to the given level. + */ + public String getLevelName(String levelId) { + return getProjectsDescriptor().getLevelName(levelId); + } /** * For the given project id, returns project repository. Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -630,7 +630,7 @@ * given permissions checker. */ public Set<String> getProjectIds(PermissionsChecker pc, String projectLevel) { - Set<String> ret = new HashSet<String>(); + Set<String> ret = new LinkedHashSet<String>(); for (String projectId : projects.keySet()) { ProjectDescriptor project = projects.get(projectId); @@ -688,6 +688,16 @@ return link; } + public String getLevelName(String levelId) { + ElementDescriptor ed = opm.getElementsDescriptor("level").getElementWithId(levelId); + + if (ed == null) { + return ""; + } + + return ed.getProperty("name"); + } + /** * For the given project id, returns project repository. * Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -42,9 +42,9 @@ * This class cannot be instatiated. */ private ProjectsHelper() { - + } - + /** * <code>PROJECT_ID</code> - name of the attribute under which the * selected project's id can be found in a servlet response object. @@ -60,26 +60,21 @@ * selected project's name can be found in a servlet response object. */ public final static String PROJECT_NAME = "projectName"; + /** - * <code>PROJECT_URL_PARAM</code> - name of the paramter in the URL - * depicting the selected project. - */ - public final static String PROJECT_URL_PARAM = "project"; - - /** * <code>DEFAULT_PROJECT</code> - name of the project to return if there * is no project selected. */ private final static String DEFAULT_PROJECT = "default"; - + /** * <code>projectsObjects</code> - portalName -> Projects object */ private static Map<String, Projects> projectsObjects; - + public final static String PROJECT_DESC = "project.xml"; public final static String PROJECTS_DESC = "projects.xml"; - + public final static String LEVELS_DESC = "levels.xml"; protected final static String PAGES_DESC = "pages.xml"; protected final static String JEMS_DESC = "jems.xml"; @@ -90,7 +85,7 @@ protected final static String DOWNLOADCOUNTERMAIN_DESC = "counters.xml"; public final static String POLLS_DESC = "polls.xml"; public final static String POLL_DESC = "poll.xml"; - + /** * <code>MEMBERS_DIRECTORY</code> - base repository directory in which * members store their files. @@ -99,14 +94,14 @@ public final static String DOWNLOADS_DIR = "downloads"; public final static String BLOG_DIR = "blog"; public final static String FREEZONE_DIR = "freezone"; - + static { projectsObjects = new HashMap<String, Projects>(); } - + /** * Gets an instance of the Projects object for the given portal. - * + * * @param portalName * Name of the portal. * @return An appropriate instance of class Projects. @@ -117,10 +112,10 @@ projects = new Projects(portalName); projectsObjects.put(portalName, projects); } - + return projects; } - + /** * Equivalent to <code>getSelectedProjectId(request, false)</code>. * @param request @@ -132,7 +127,7 @@ public static String getSelectedProjectId(JBossRenderRequest request) { return getSelectedProjectId(request, false); } - + /** * @param request * A request object from which the selected project name will be @@ -143,11 +138,9 @@ * @return Selected project's id, or the default project's id/ null, depending * on <code>withDefault</code>, if no project is selected. */ - public static String getSelectedProjectId(JBossRenderRequest request, + public static String getSelectedProjectId(JBossRenderRequest request, boolean withDefault) { - //String projectId = ForgeHelper.getRequestParameter(request, - // PROJECT_URL_PARAM); - Object projectIdObj = request.getAttribute(PROJECT_URL_PARAM); + Object projectIdObj = request.getAttribute(Constants.PROJECT_PARAM); String projectId = projectIdObj == null ? null : projectIdObj.toString(); if ((withDefault) && ((projectId == null) || ("".equals(projectId)))) { @@ -160,10 +153,10 @@ // No project context --> project does not exist. projectId = null; } - - return projectId; + + return projectId; } - + /** * Equivalent to <code>getSelectedProjectId(request, false)</code>. * @param request @@ -175,7 +168,7 @@ public static String getSelectedProjectId(JBossActionRequest request) { return getSelectedProjectId(request, false); } - + /** * @param request * A request object from which the selected project name will be @@ -186,10 +179,11 @@ * @return Selected project's id, or the default project's id/ null, depending * on <code>withDefault</code>, if no project is selected. */ - public static String getSelectedProjectId(JBossActionRequest request, + public static String getSelectedProjectId(JBossActionRequest request, boolean withDefault) { - String projectId = request.getParameter(PROJECT_URL_PARAM); - + Object projectIdObj = request.getAttribute(Constants.PROJECT_PARAM); + String projectId = projectIdObj == null ? null : projectIdObj.toString(); + if ((withDefault) && (projectId == null)) { projectId = DEFAULT_PROJECT; } else if ((!withDefault) && (DEFAULT_PROJECT.equals(projectId))) { @@ -200,14 +194,14 @@ // No project context --> project does not exist. projectId = null; } - + return projectId; } - + /** * Prepares a request object for generating a JSP. PROJECT_NAME and * PROJECT_ID attributes are set. - * + * * @param request * Request to prepare. */ @@ -218,10 +212,10 @@ request.setAttribute(LEVEL_ID, getProjects( ForgeHelper.getPortalName(request)).getProjectLevel(projectId)); } - + /** * Creates a link to a freezone page basing on the given parameters. - * + * * @param portalName * Name of the portal. * @param projectId @@ -234,7 +228,7 @@ String page) { return Constants.LINK_BASE + projectId + "/" + page; } - + /** * Creates a link to a portal page based on the given parameters. * @param portalName Name of the portal. Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandMapper.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandMapper.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/LabsCommandMapper.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -169,18 +169,6 @@ } /** - * Gets a request attribute of the given name. - */ - private String getAttribute(ServerInvocation invocation, String name) { - Object o = invocation.getRequest().getContext().getClientRequest().getSession().getAttribute(name); - if (o == null) { - return null; - } - - return o.toString(); - } - - /** * Sets an attribute of the given and value both in session and request. */ private void setAttribute(ServerInvocation invocation, String name, String value) { @@ -297,9 +285,9 @@ // TODO temporary for freezone String projectParam = invocation.getRequest().getContext().getClientRequest() - .getParameter(Constants.ATTR_PROJECT); + .getParameter(Constants.PROJECT_PARAM); if (projectParam != null) { - setAttribute(invocation, Constants.ATTR_PROJECT, projectParam); + setAttribute(invocation, Constants.PROJECT_PARAM, projectParam); } // Removing unnecessary /. @@ -337,7 +325,7 @@ * The user requested a project page (/projectId). It will be * unset, if necessary, in the AttributesFilter. */ - setAttribute(invocation, Constants.ATTR_PROJECT, tokens[1]); + setAttribute(invocation, Constants.PROJECT_PARAM, tokens[1]); try { c = getProjectCommand(invocation, tokens.length > 2 ? tokens[2] : null, Modified: labs/jbosslabs/trunk/portal-extensions/forge-navigation/src/java/org/jboss/forge/navigation/NavigationDescriptor.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-navigation/src/java/org/jboss/forge/navigation/NavigationDescriptor.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-navigation/src/java/org/jboss/forge/navigation/NavigationDescriptor.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -120,7 +120,7 @@ requestedLink); // Checking if this link is in the menu. - if (!mainMenu.containsLink(requestedLink, projectId, levelId)) { + if (!mainMenu.containsLink(requestedLink, projectId, levelId, request)) { // Trying to read the last good link. requestedLink = (String) request.getPortletSession() .getAttribute("nav-last-url"); Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/AttributesFilter.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/AttributesFilter.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/AttributesFilter.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -32,7 +32,6 @@ import javax.servlet.http.HttpServletRequest; import org.jboss.forge.common.Constants; -import org.jboss.forge.common.projects.ProjectsHelper; /** * Filter which sets attributes that are necessary for labs portlets to be @@ -46,34 +45,51 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - throws IOException, ServletException { + throws IOException, ServletException { if (request instanceof HttpServletRequest) { HttpServletRequest httpRequest = (HttpServletRequest) request; // Getting the request parameters. - String noproject = request.getParameter(Constants.PARAM_NO_PROJECT); - String project = request.getParameter(ProjectsHelper.PROJECT_URL_PARAM); + String noproject = request.getParameter(Constants.NO_PROJECT_PARAM_NAME); + String project = request.getParameter(Constants.PROJECT_PARAM); + String prjList = request.getParameter(Constants.PROJECT_LIST_PARAM); // The project doesn't have to be passed as a parameter. It can be // passed in the requestURI, when accessing freezone pages. This // only applies to the default portal. String requestURI = httpRequest.getRequestURI(); + // ProjectId handling. if (Constants.TRUE_VALUE.equals(noproject)) { // Removing project from session info. - httpRequest.getSession().removeAttribute(Constants.ATTR_PROJECT); - httpRequest.removeAttribute(Constants.ATTR_PROJECT); + httpRequest.getSession().removeAttribute(Constants.PROJECT_PARAM); + httpRequest.removeAttribute(Constants.PROJECT_PARAM); } else if ((project != null) && (!"".equals(project))) { - httpRequest.getSession().setAttribute(Constants.ATTR_PROJECT, project); - httpRequest.setAttribute(Constants.ATTR_PROJECT, project); + httpRequest.getSession().setAttribute(Constants.PROJECT_PARAM, project); + httpRequest.setAttribute(Constants.PROJECT_PARAM, project); } else { - Object projectObj = httpRequest.getSession().getAttribute( - ProjectsHelper.PROJECT_URL_PARAM); - if (projectObj != null) { - httpRequest.setAttribute(Constants.ATTR_PROJECT, projectObj.toString()); + Object val = httpRequest.getSession().getAttribute(Constants.PROJECT_PARAM); + if (val != null) { + httpRequest.setAttribute(Constants.PROJECT_PARAM, val.toString()); } } + // ProjectList handling. + if (Constants.TRUE_VALUE.equals(noproject)) { + httpRequest.getSession().removeAttribute(Constants.PROJECT_LIST_PARAM); + httpRequest.removeAttribute(Constants.PROJECT_LIST_PARAM); + } else if ((prjList != null) && (!"".equals(prjList))) { + Object val = Constants.TRUE_VALUE.equals(prjList); + + httpRequest.getSession().setAttribute(Constants.PROJECT_LIST_PARAM, val); + httpRequest.setAttribute(Constants.PROJECT_LIST_PARAM, val); + } else { + Object val = httpRequest.getSession().getAttribute(Constants.PROJECT_LIST_PARAM); + if (val != null) { + httpRequest.setAttribute(Constants.PROJECT_LIST_PARAM, val); + } + } + // Putting the full requested url into session for navigation. String fullUrl = requestURI; if (httpRequest.getQueryString() != null) { Modified: labs/jbosslabs/trunk/portal-extensions/polls/src/java/org/jboss/forge/polls/PollsPortlet.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/polls/src/java/org/jboss/forge/polls/PollsPortlet.java 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/polls/src/java/org/jboss/forge/polls/PollsPortlet.java 2006-06-03 22:59:51 UTC (rev 4595) @@ -182,7 +182,7 @@ String pollId = request.getParameter("pollId"); // Getting name of the project on which the PollsPortlet is used. - String projectId = request.getParameter(ProjectsHelper.PROJECT_URL_PARAM); + String projectId = ProjectsHelper.getSelectedProjectId(request); String userId = request.getUser()!=null?request.getUser().getUserName():null; Modified: labs/jbosslabs/trunk/portal-extensions/project.properties =================================================================== --- labs/jbosslabs/trunk/portal-extensions/project.properties 2006-06-03 15:47:03 UTC (rev 4594) +++ labs/jbosslabs/trunk/portal-extensions/project.properties 2006-06-03 22:59:51 UTC (rev 4595) @@ -21,5 +21,6 @@ maven.jar.shotoku-feeds=${ext.root.dir}/shotoku/shotoku-feeds/target/shotoku-feeds.jar maven.jar.shotoku-file-access=${ext.root.dir}/shotoku/shotoku-file-access/target/shotoku-file-access.jar maven.jar.shotoku-aop=${ext.root.dir}/shotoku/shotoku-aop/target/shotoku-aop.jar +maven.jar.shotoku-tags=${ext.root.dir}/shotoku/shotoku-tags/target/shotoku-tags.jar maven.multiproject.excludes=shotoku/project.xml |
From: <jbo...@li...> - 2006-06-03 15:47:07
|
Author: jfr...@jb... Date: 2006-06-03 11:47:03 -0400 (Sat, 03 Jun 2006) New Revision: 4594 Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh Log: Oops... I forgot this one. Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh =================================================================== --- labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 15:41:41 UTC (rev 4593) +++ labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 15:47:03 UTC (rev 4594) @@ -358,7 +358,6 @@ else ADDCONF="$ADDCONF --with-freetype-dir" fi -exit 1 # # build iconv if required. |
From: <jbo...@li...> - 2006-06-03 15:41:55
|
Author: jfr...@jb... Date: 2006-06-03 11:41:41 -0400 (Sat, 03 Jun 2006) New Revision: 4593 Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh Log: Build freetype2 on Solaris because SUNWfreetype2 is 2.1.2. Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh =================================================================== --- labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 14:28:36 UTC (rev 4592) +++ labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 15:41:41 UTC (rev 4593) @@ -43,6 +43,10 @@ ICNVVER=1.9.2 ICNVURL=http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICNVVER}.tar.gz + +FTT2VER=2.1.9 +FTT2URL=http://switch.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.9.tar.gz + # Platfrom directory and cache TOOLS=$HOME/`uname -s`_`uname -p`_tools CACHE=`uname -s`_`uname -p`_cache @@ -58,6 +62,7 @@ BUILDMSQL=false BUILDLDAP=true BUILDICNV=false +BUILDFTT2=false CC=gcc COMPILER="" ADDCONF="" @@ -298,10 +303,10 @@ Linux) EXTTYPE=static ADDFLAGS="-I $JAVA_HOME/include/linux" - ADDCONF="$ADDCONF --with-freetype-dir" ;; SunOS) BUILDICNV=true + BUILDFTT2=true pkginfo | grep SPROcc if [ $? -eq 0 ] then @@ -309,8 +314,8 @@ export CC fi # SUNWfreetype2 /usr/sfw + # --with-freetype-dir=/usr/sfw (SUNWfreetype2 is 2.1.2) # don't use SMCmysql too old: /usr/local/mysql - ADDCONF="$ADDCONF --with-freetype-dir=/usr/sfw" EXTTYPE=shared ADDFLAGS="-I $JAVA_HOME/include/solaris" ;; @@ -345,6 +350,18 @@ # # build iconv if required. +if ${BUILDFTT2} +then + Extract freetype ${FTT2URL} ${FTT2VER} + Build freetype-${FTT2VER} ${TOOLS}/FTT2 "--enable-shared" "" "" + ADDCONF="$ADDCONF --with-freetype-dir=$TOOLS/FTT2" +else + ADDCONF="$ADDCONF --with-freetype-dir" +fi +exit 1 + +# +# build iconv if required. if ${BUILDICNV} then Extract libiconv ${ICNVURL} ${ICNVVER} |
From: <jbo...@li...> - 2006-06-03 14:28:41
|
Author: KrisVerlaenen Date: 2006-06-03 10:28:36 -0400 (Sat, 03 Jun 2006) New Revision: 4592 Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/HandleTest.java Log: test didn't compile anymore Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/HandleTest.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/HandleTest.java 2006-06-03 14:28:16 UTC (rev 4591) +++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/HandleTest.java 2006-06-03 14:28:36 UTC (rev 4592) @@ -29,7 +29,7 @@ * Test method for 'leaps.LeapsFactHandle.getId()' */ public void testGetId() { - final Handle handle = new Handle( 123456789, + final LeapsFactHandle handle = new LeapsFactHandle( 123456789, new String( "test124" ) ); assertEquals( handle.getId(), 123456789 ); |
From: <jbo...@li...> - 2006-06-03 14:28:23
|
Author: jfr...@jb... Date: 2006-06-03 10:28:16 -0400 (Sat, 03 Jun 2006) New Revision: 4591 Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh Log: Build iconv only on Solaris Linux has it (includes in /usr/include). Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh =================================================================== --- labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 14:22:35 UTC (rev 4590) +++ labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 14:28:16 UTC (rev 4591) @@ -57,7 +57,7 @@ BUILDJPEG=true BUILDMSQL=false BUILDLDAP=true -BUILDICNV=true +BUILDICNV=false CC=gcc COMPILER="" ADDCONF="" @@ -301,6 +301,7 @@ ADDCONF="$ADDCONF --with-freetype-dir" ;; SunOS) + BUILDICNV=true pkginfo | grep SPROcc if [ $? -eq 0 ] then |
From: <jbo...@li...> - 2006-06-03 14:22:47
|
Author: KrisVerlaenen Date: 2006-06-03 10:22:35 -0400 (Sat, 03 Jun 2006) New Revision: 4590 Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/RuleParser.java Log: rule parser now stores end of ColumnDescr Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/RuleParser.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/RuleParser.java 2006-06-03 07:12:03 UTC (rev 4589) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/RuleParser.java 2006-06-03 14:22:35 UTC (rev 4590) @@ -3374,7 +3374,8 @@ opt_eol(); following.pop(); - + Token end = input.LT(-1); + d.setEndLocation(offset(end.getLine()), end.getCharPositionInLine()); } } |
From:
<do...@ee...> - 2006-06-03 08:34:55
|
jboss-svn-commits您好,请转相关领导查收,谢谢! 思想先锋:致力于打造中国非学院高端管理培训项目第一品牌 中国企业《蓝海战略》高层研讨会 <第一模块:世界级企业和企业家的危机管理和蓝海战略> <第二模块:超越产业竞争,开创利润蓝海的规律性方案> 2006年7月8-9日(上海) 主讲:郎咸平、韩永生 问题①:没有永远卓越的公司,也没有永远繁荣的行业。这是联想、海尔、索尼等一批世界级 优秀企业陷入整体性困境的原因。什么样的战略思维使企业陷入恶性竞争?陷入红海 的企业如何转型? 问题②:三星、LG、戴尔等公司,以蓝海为战略选择,以价值创新为手段,领导着世界产业的 新一轮洗牌。各代表性公司的战略思维和运营模式有何变化?中国企业如何谋求全球 产业链中的位置? 问题③:如何把握客户价值和供应链价值变化的规律?如何发动全体员工通过六大开创蓝海市 场的路径重新规划公司的战略路线图,并通过征求客户、供应链伙伴的意见,从而确 定公司的蓝海战略? 问题④:如何让蓝海战略得到彻底地实施?企业总裁和高层如何实现对绩效、流程、信息三个 关键系统的战略性控制,从而使企业迅速而简单有效的得到实施,进入真正的蓝海利 润区 -------------------------------------------------------------------------------- -主办单位:中 国 科 学 院 -联系电话:0 7 5 5--8 2 8 5 0 1 1 7 8 2 8 5 0 1 3 0 陈先生 罗小姐 -时间地点:2006年7月8-9日 -上-海- -费 用:席 位 票价 费用包含内容 普通席位 4800元/人 课前预习 教材讲义 两天茶点 两天午餐 14 日晚餐 要点复习 实施方案 贵宾席位 8800元/人 所有普通席权利 贵宾位置 两天住宿(四星以 上) 与郎教授、韩教授共进午餐 (赠送内容――参加美林证券高级顾问汪俊宏老师7月8日晚上讲授的《蓝海实施》沙龙) -------------------------------------------------------------------------------- [讲--师--介--绍] 《第一模块: 世界级企业和企业家的危机管理和蓝海战略》 ●郎咸平教授 中国唯一的世界级公司治理与金融专家; 最受华人企业家认可的中国经济学家; 世界级的公司治理和金融专家、美国沃顿商学院博士; 中国唯一的完全以客观的财务数据来分析企业战略决策的专家,所有战略决策的正确与否全 部以事实和数据说话; 由于郎教授的金融学论文引用率在1990年排名全世界第一,他的破产论文和公司兼并论文同 时被列入全世界引用率最高的28篇公司财金方面论文,现在他是中国唯一被列入世界经济学家名 人录中的中国专家; 现任香港中文大学教授,曾任长江商学院首席教授,是长江集团李嘉诚、长江商学院院长项 兵一致推荐的公司治理顾问; 郎教授在本次课程的贡献:在此次讲座中,他将演示的数百页PPT的案例,融合了多年研究中 积累的丰富资源,内容深刻,观点独到,对于企业高级管理人员进入蓝海思维和掌握操作方法提 供最大的帮助。 《第二模块: 超越产业竞争,开创利润蓝海的规律性方案》 ●韩永生教授 中科院管理研究生院教授,博士生导师 中国管理科学实践带头人,兼雅戈尔集团副总裁 中国著名的企业战略管理与战略IT实施专家 中科院管理学院教授、博士生导师,中科院工业管理中心主任; 2005年为雅戈尔围绕蓝海战略的IT技术实施的信息化咨询项目成功落地,被中国管理咨询网 评为中国十大咨询师。第一个由于管理和信息化的成就,被授予国家科技进步二等奖的战略专家, 曾多次担当国家863项目负责人; 韩教授历任中国机械工业电脑公司副总经理,雅戈尔集团副总裁,为华为集团、成飞集团、 杉杉集团等数十家大中型企业做过战略管理、大规模定制、企业信息化等咨询项目,获得全国企 业信息化最佳战略奖、最佳效益奖、杰出CIO。 韩教授在本次课程的贡献:在此次讲座中,他将演示的数百页PPT的操作方案,融合了多年 研究和咨询中积累的丰富经验,内容极具操作性,企业高层学习后即可运用。 -------------------------------------------------------------------------------- 二位专家系统研究,二大模块开创蓝海 第一模块 郎咸平 第一讲( 8日9:00-12:00) 世界级企业和企业家的危机管理和蓝海战略:红海竞争 分析和认清企业家的惯性思维如何把企业带入红海,以 真实的案例告诉企业家陷入红海的标志是什么,如何制 定转型方案突破红海危机 第二讲( 8日13:30-17:00) 世界级企业和企业家的危机管理和蓝海战略:蓝海竞争 通过国内外标杆企业家思维突破和战略行动的案例研究, 帮助中国企业高层建立具备世界级水平的战略思维能力和 进入蓝海的方法和亮点 第二模块 韩永生 第三讲( 9日9:00-12:00) 超越产业竞争,开创利润蓝海的规律性方案:蓝海战略 分析企业开创蓝海的案例,围绕客户和产业链价值变化, 总结讲解六大开发蓝海战略的路径,帮助企业打破现有的 竞争,进入利润蓝海 第四讲( 9日13:30-17:00) 超越产业竞争,开创利润蓝海的规律性方案:蓝海实施 在完成蓝海规划后,企业要根据新制定的蓝海战略实施运 营模式的变革与流程的再造,如何简单有效实现战略的实施. 真正得到新利润 -------------------------------------------------------------------------------- [课--程--背--景] 目前,相当一批优秀企业出现了某种程度的停滞,比如海尔在质疑中徘徊,联想在连续增长迟 缓后宣布收缩业务,TCL并购后正在步履艰难地谋求突破。大的民营企业越做越像国营企业,唯一差 别就是资本的国有私有,但做法和思维基本上没差别。而国内除少数商学院提供优秀的高端培训以外, 中国的大型和优秀企业的高层已经无法找到好的培训课程了。 为此,中国科学院管理研究中心于2005年下半年配合郎咸平教授研发了《中国企业战略突围》企 业高层培训课程,并由北京汇智光华教育科技有限公司负责实施了两期,郎咸平教授通过对世界级标 杆企业的思维和操作方法进行了整体再现,给予了中国企业高层很大的启发和操作上的学习。经过两 期实施,部分学员提出了在标杆学习的基础上希望总结出中国企业战略突围的规律性分析工具、操作 方法、以及战略的实施方案,2006年新的高端课程《蓝海战略》研发完毕。 -------------------------------------------------------------------------------- [课--程--概--揽] 《中国企业“蓝海战略”高层研讨会》课程在国内市场国际化,国际市场竞争日趋激烈的背景下, 将帮助学员理解影响中国企业发展环境的大势,通过历史发展的视角、与发达的日本、美国企业,乃 至于正在崛起的韩国、台湾等其他新兴市场的标杆企业相比较,来全面认识世界级企业和企业家的新 思维和操作手段,审视中国企业的竞争现状。 三星、LG、戴尔等代表性公司,以进入蓝海为战略选择,以价值创新为手段,领导着世界产业的 新一轮洗牌。那么根据中国企业的管理与竞争现状,企业家应该具备什么样的思维,掌握那些价值创 新和运营实施的手段突围红海,以进入持续的进入蓝海竞争,谋取并提升全球产业链中的位置? -------------------------------------------------------------------------------- [培--训--内--容] 第一部分:红海竞争――陷入红海的三大原因和进入蓝海的转型对策 授课要点:分析中国和日本优秀企业群体性陷入红海的根本性原因,以真实案例再现企业家陷入红海 的思维和征兆,告诉企业如何避免陷入红海,以及向蓝海转型的对策和方案。 第一节:进入有潜力的行业――从标杆性企业中解析中国企业的整体战略困境 案例研究(1):联想在业绩连续增长迟缓后宣布收缩业务 案例研究(2):TCL在国际化并购后正在步履艰难地谋求突破 红海思维表现:哪个行业有潜力,就投资哪个行业 / 企业不大哪会做强,做大才会做强 ◆联想进入500强的措施――中国企业在做大做强路上受阻和对策 -国际化:缺乏国际化的战略视野和与之相对应的人才和文化 -进入新业务:与公司核心业务在发展阶段和管理模式上有差异 -战略突围方案:没有搞清楚什么叫做企业经营战略 -企业跨区域扩张:企业做大导致成本失控,没有成本机制 第二节:获得领先技术战略――从危机企业中解析技术突围企业的战略困境 案例研究(1):索尼如何在错误技术战略思维和业务模式指导下陷入困境 案例研究(2):松下电器如何在陷入红海竞争的情况下寻找转机 红海思维表现:自认为研发出前所未有、触动消费者心弦的产品,创造出全新的市场需求 ◆进入红海预警:如何通过我们对业务的检查来判断公司战略是否陷入红海 -错误性标志1:失去了核心技术,获取的成本比其他人高 -错误性标志2:要向竞争对手买入技术 -错误性标志3:对手形势大好,合作围攻 -错误性标志4:业务间的互相冲突使得业务互相拖垮,减低了公司对投资的价值 第三节:拥有强大企业文化――大龄公司陷入红海的原因和进入蓝海的转型方案 案例研究(1):法国总裁格恩如何带领深陷文化困境的“日产”实现战略转型 红海思维表现:墨守成规、缺乏沟通、没有危机感的以和为贵的文化 ◆战略转型的“白纸策略”:碰到危机时候能上下一心接受新观念 -第一步,抛弃过去,不带成绩,从一张白纸开始 -第二步,聆听、不避讳,广纳良言,营造开放的公司形态 -第三步,建立跨部门小组,公司人员解决自己的问题 -第四步,复兴计划让员工直接参与 -第五步,同舟共济,如果做不成,总经理首先辞职 第二部分:蓝海竞争――世界级企业的蓝海战略思维和运营整合操作方案 授课要点:学习世界级企业和企业家在蓝海思维指导下的战略和运营整合操作方案,全景式展现这些 企业在构建蓝海战略和实施过程中的挑战和决策,帮助学员进入实战状态,启发思维获得 方法。 第一节:多元化公司蓝海战略――从产品价值转向产业链价值链竞争的产业整合 案例研究(1):三星电子如何建立超一流的蓝海思维和蓝海操作 案例研究(2):LG的十年蜕变 蓝海思维表现:理解事物的本质,放弃寻找潜力行业,注重危机的管理意识 ◆三星蓝海战略操作手段:注重客户价值和产业价值链的创新,而不是技术本身的创新 -操作要点①:生产规模最大化――把对手的生产成本变成自己的利润 -操作要点②:稳定零部件供应――下游供应链系统的垂直整合 -操作要点③:反向工程――引入技术,改造成适合自己的研发方向 ◆LG蓝海战略操作手段:注重客户体验价值的创新,而不是技术本身的创新 -操作要点①:形成共同利益体,合作双赢 -操作要点②:重在研发,力求技术领先 -操作要点③:以崭新形象定位开拓市场――重品牌和设计 -操作要点④:确立以家电行业为本,同时开拓新产品的业务策略 第二节:专业化公司蓝海战略――从团队竞争到运营整合的内部能力整合竞争 案例研究(1):“新秀”中兴通讯――如何赶超巨龙通信、大唐电信 案例研究(2):专业集成电路龙头企业“台积电”的成功与挑战 蓝海思维表现:从积极整合企业内部能力来寻找提升竞争力的战略思维 ◆中兴蓝海战略操作手段:高效、资源高利用率的运营模式 -操作要点①:技术研发影响――以产品结构策略提升研究成果利用率 -操作要点②:用主营业务周期互补的特质,将总盈利增长平稳化 -操作要点③:内部营运影响――经营要素的整合,提高收益 ◆台积电蓝海战略操作手段:在传统运营盲区中寻求突破口 -操作要点①:大幅提升制程技术和生产更大的晶圆 -操作要点②:技术模组化,IC设计与产品制造分开 -操作要点③:解决两大核心挑战――整合组建制造(IDM)公司的优势、代工市场挑战 -操作要点④:解决三大核心问题――供货商集中、跨境投资受限、外资机构投资高达62% 第三部分:蓝海战略――基于客户价值创新和供应链价值创新的操作方案 授课要点:有无数的企业进入蓝海,但只有小数企业能持续进入蓝海,第三部分告诉企业如何规律性 地寻找具有蓝海特征的市场机会和运营模式,以制定新的企业战略,从而打破现有竞争局 面。 第一节:分析工具――从“象棋”到“围棋”的竞争形态转变 ◆分析工具(1):战略布局图――架起蓝海战略的诊断框架和分析框架 -案例与方法:为什么宝钢能在激烈的市场竞争中脱颖而出? ◆分析工具(2):加减乘除法――有所不为有所为,同时实现差异化和低成本 -案例与方法:为什么法国一星级能轻松打败二星级连锁酒店? ◆分析工具(3):检验有效性――2/8定律、独特和传播 -案例与方法:为什么客户从来不和韩夫人讨价还价? 第二节:客户价值创新――寻找规律性地开创蓝海的六个客户价值创新路径 ◆放眼替代性行业:寻找生产替代性产品或服务的 -案例与方法:美国NetJets如何创造个人所有权飞机的市场蓝海 ◆放眼行业内的不同战略类型:同一行业内采取类似战略的企业 -案例与方法:Curves女子健身公司――开创普通女性的健身天堂 ◆放眼客户链,搞定一些非常关键的影响者 -案例与方法:Novo Nordisk满足患者的使用价值和感性价值 ◆放眼互补性产品或服务来寻找全新蓝海 -案例与方法:匈牙利汽车制造公司NABI降低售后使用维修成本,开创蓝海 ◆放眼客户的功能性或情感性诉求 -案例与方法:全球第三大水泥生产商Cemex的工业产品情感化改造 ◆第六路径:发现发展趋势,按照趋势逻辑发展下去,预测市场 -案例与方法:思科认定互联网的发展趋势,提供快速的数据传输 第三节:供应链价值创新――提高运营竞争力,开创蓝海的三大供应链模型 案例研究(1):国内某知名企业战略供应链系统再造 案例研究(2):波司登遇到的供应链瓶颈 蓝海思维表现:所有的运营模式的失败或不足都体现在库存上 ◆以商品销售配送的“倒酒模式”,降低产品库存,提升销售机会 -操作要点①:销售、库存信息透明化 -操作要点②:根据各区域的销售和库存信息决定补货配送数量 ◆以产品生产的“自助餐模型”,降低产品库存 -操作步骤①:根据预测设计新品,通过“网上展示系统”让各区域反馈销售预测 -操作步骤②:总部按照各区域预测安排生产一定量的试销产品 -操作步骤③:根据试销情况决定原材料的采购数量和生产数量 ◆退市产品采用“流沙模型”管理,降低产品库存 -操作步骤①:一类卖场的销售量开始下滑时将产品推向二类市场 -操作步骤②:二类卖场的销售量开始下滑时,一般不再安排原料的采购 -操作步骤③:在产品推向三类卖场的同时不再安排产品的生产 第四部分:蓝海实施――真正实现蓝海利润的总裁三大实施控制系统 授课要点:真正的获得蓝海利润区需要蓝海战略成功的实施,公司高层只要实现对:绩效、流程、 信息三个关键系统的战略性控制,就能有80%获得全新利润的机会。 第一节:绩效系统――蓝海战略实施成功的起点是搞清楚“我们为什么而战” 案例研究(1):国内某著名企业的蓝海战略实施案例 ◆建立基于蓝海战略实施的高绩效考核方案的企业高层五大控制要点 -操作要点①:唤醒员工,让他们意识到战略转型对未来的利益影响 -操作要点②:根据新的战略,在观念和机制上计划重新设定公司的绩效标准 -操作要点③:激励关键人员快速有力地执行战略 -操作要点④:克服既得利益者的障碍 -操作要点⑤:为确保得到期望的结果需要设定相应的检查点及KPI 第二节:流程系统――用制度化的实施方案来保证蓝海战略的执行 案例研究(1):为什么很多企业进入直销领域,但只有戴尔能进入直销的利润蓝海? 案例研究(2):为什么Zara被称为服装行业的DELL? ◆建立基于战略实施的制度流程执行系统的企业高层三大控制要点 -操作要点①:设计基本原则:战略导向 / 客户价值导向 / 流程提前 / 组织退后 -操作要点②:优化基本原则:清除 / 简化 / 合并 / 重组 / 自动 / 集成 -操作要点③:检查基本原则:是否存在缺位 / 越位 / 错位 / 重位 / 不到位 第三节:信息系统――用信息化的手段来保证流程的实施和成果的固化 案例研究(1):国内某著名服装企业凭什么继续成为中国服装行业的老大? ◆信息化实施和改造的企业高层三大控制要点 -操作要点①:低标准、严要求的建设信息系统 -操作要点②:工作流驱动的集成平台 -操作要点③:架上电子千里眼,全面堵塞资金流和物流黑洞,聚光灯法则让信息化在争吵中落 地、生根、开花、结果 ◆◆◆以往部分参会企业: 招商局国际有限公司 王宏 董事副总裁 北京万通集团有限公司 孙晓明 总裁 香港南洋国际物流集团公司 蔡敏 董事长 中国长城计算机股份公司 周庚申 总裁 许继电气股份有限公司 李富生 总经理 中国机械设备进出口总公司 谢彪 董事长 BP石油(中国)公司 柴建生 亚太区总裁 新加坡国立大学 王披恩 博士 艾默生网络能源有限公司 张群 副总裁 香港大中华环保公司 尹德川 董事长 深圳华发电子股份有限公司 吴德华 董事长 沃尔沃(中国)投资有限公司 袁凌 总裁助理 深圳赛格集团有限公司 孙玉麟 董事长 北京李宁体育用品有限公司 张志勇 总经理 上汽通用五凌汽车股份公司 孙少立 副总裁 约克(中国)有限公司 郎华 总裁 -------------------------------------------------------------------------------- 报名程序: 填写报名表回传--->经服务人员确认后通过银行付款--->把银行付款水单回传 公司--->本公司发给企业报名确认函--->开课2周前给学员发课前预习--->开课3天前给学员 发报到通知--->课后的第二周开始给学员提供要点复习和实施方案 报名回执表 回执请传真至:<0 7 5 5-8 2 8 5 0 1 3 0> #参会单位名称:_____________________________________ #参加课程:_____________________________________________ 姓 名:_________________ 部门及职位:___________________ #联系人: 电 话:_________________ 传真: __________________ 电 邮:_________________ 姓 名:_________________ 部门及职位:___________________ #参 会 人1: 电 话:_________________ 传真: __________________ 电 邮:_________________ 姓 名:_________________ 部门及职位:__________________ #参 会 人2: 电 话:_________________ 传真:___________________ 电 邮:_________________ 姓 名:_________________ 部门及职位:___________________ #参 会 人3: 电 话:_________________ 传真:___________________ 电 邮:_________________ 预订服务项目:是否住宿(请选择打“√”): 口是 口否 您在目前的工作中遇到的最大挑战是什么? ________________________________________________________________________ 16:34:45 |
From: <jbo...@li...> - 2006-06-03 07:12:08
|
Author: jfr...@jb... Date: 2006-06-03 03:12:03 -0400 (Sat, 03 Jun 2006) New Revision: 4589 Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh Log: Add iconv... It seems it is not often installed on Solaris. Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh =================================================================== --- labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 06:04:59 UTC (rev 4588) +++ labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 07:12:03 UTC (rev 4589) @@ -41,6 +41,8 @@ LDAPVER=2.2.13 LDAPURL=http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-${LDAPVER}.tgz +ICNVVER=1.9.2 +ICNVURL=http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICNVVER}.tar.gz # Platfrom directory and cache TOOLS=$HOME/`uname -s`_`uname -p`_tools CACHE=`uname -s`_`uname -p`_cache @@ -55,6 +57,7 @@ BUILDJPEG=true BUILDMSQL=false BUILDLDAP=true +BUILDICNV=true CC=gcc COMPILER="" ADDCONF="" @@ -340,6 +343,15 @@ esac # +# build iconv if required. +if ${BUILDICNV} +then + Extract libiconv ${ICNVURL} ${ICNVVER} + Build libiconv-${ICNVVER} ${TOOLS}/ICNV "--enable-shared" "" "" + ADDCONF="$ADDCONF --with-iconv-dir=$TOOLS/ICNV" +fi + +# # build mysql if required. # Note the trick ADDCONF is filled before. if ${BUILDMSQL} @@ -573,6 +585,14 @@ exit 1 fi +# hack... Something try to use libldap.la for /usr/local/lib +if ${BUILDLDAP} +then + cp $TOOLS/LDAP/lib/*.la php-${PHPVER}/ + chmod -w php-${PHPVER}/*.la +fi + + (cd php-${PHPVER} make ) |
From: <jbo...@li...> - 2006-06-03 06:05:00
|
Author: jfr...@jb... Date: 2006-06-03 02:04:59 -0400 (Sat, 03 Jun 2006) New Revision: 4588 Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh Log: Remove xpm... Needs a lot of X11 stuff. Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh =================================================================== --- labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 03:16:27 UTC (rev 4587) +++ labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-03 06:04:59 UTC (rev 4588) @@ -289,7 +289,7 @@ *) ADDCONF="$ADDCONF \ --with-t1lib=no \ - --with-xpm-dir \ + --with-xpm-dir=no \ " case ${OS} in Linux) |
Author: bagerman Date: 2006-06-02 23:16:27 -0400 (Fri, 02 Jun 2006) New Revision: 4587 Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsFactHandle.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsRuleHandle.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsFactHandleTest.java Removed: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/FactHandleImpl.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/Handle.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/RuleHandle.java Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TruthMaintenanceSystem.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/FactTable.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsAgenda.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsFactHandleFactory.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsTuple.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsWorkingMemory.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/Token.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/TokenEvaluator.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/conflict/LoadOrderConflictResolver.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/conflict/RuleComplexityConflictResolver.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/conflict/RuleLoadOrderConflictResolver.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/conflict/RuleSalienceConflictResolver.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/ColumnConstraintsTest.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/FactHandleImplTest.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/HandleFactoryTest.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LeapsTupleTest.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/LogicalAssertionTest.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/SchedulerTest.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/util/TableIteratorTest.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/util/TableTest.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/leaps/util/TokenStackTest.java Log: adjusting leaps to work with common truth maintenance in abstract working memory Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TruthMaintenanceSystem.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TruthMaintenanceSystem.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TruthMaintenanceSystem.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -97,15 +97,18 @@ for ( LogicalDependency node = (LogicalDependency) list.getFirst(); node != null; node = (LogicalDependency) node.getNext() ) { final InternalFactHandle handle = (InternalFactHandle) node.getFactHandle(); final Set set = (Set) this.justifiedMap.get( handle.getId() ); - set.remove( node ); - if ( set.isEmpty() ) { - this.justifiedMap.remove( handle.getId() ); - // this needs to be scheduled so we don't upset the current working memory operation - this.WorkingMemory.queueRetractAction( handle, - false, - true, - context.getRuleOrigin(), - context.getActivationOrigin() ); + if (set != null) { + set.remove( node ); + if (set.isEmpty( )) { + this.justifiedMap.remove( handle.getId( ) ); + // this needs to be scheduled so we don't upset the current + // working memory operation + this.WorkingMemory.queueRetractAction( handle, + false, + true, + context.getRuleOrigin( ), + context.getActivationOrigin( ) ); + } } } } Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/FactHandleImpl.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/FactHandleImpl.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/FactHandleImpl.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -1,140 +0,0 @@ -package org.drools.leaps; - -/* - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -import org.drools.FactHandle; -import org.drools.common.EqualityKey; -import org.drools.common.InternalFactHandle; - -/** - * class container for each object asserted / retracted into the system - * - * @author Alexander Bagerman - * - */ -public class FactHandleImpl extends Handle - implements - InternalFactHandle { - /** - * - */ - private static final long serialVersionUID = -6453652241440771664L; - - private List activatedTuples = null; - - private List notTuples = null; - - private List existsTuples = null; - - private EqualityKey key = null; - - /** - * actual object that is asserted to the system no getters just a direct - * access to speed things up - */ - public FactHandleImpl(final long id, - final Object object) { - super( id, - object ); - } - - protected void addActivatedTuple(final LeapsTuple tuple) { - if ( this.activatedTuples == null ) { - this.activatedTuples = new LinkedList(); - } - this.activatedTuples.add( tuple ); - } - - protected void addNotTuple(final LeapsTuple tuple, - final int index) { - if ( this.notTuples == null ) { - this.notTuples = new LinkedList(); - } - this.notTuples.add( new FactHandleTupleAssembly( tuple, - index ) ); - } - - protected void addExistsTuple(final LeapsTuple tuple, - final int index) { - if ( this.existsTuples == null ) { - this.existsTuples = new LinkedList(); - } - this.existsTuples.add( new FactHandleTupleAssembly( tuple, - index ) ); - } - - protected Iterator getActivatedTuples() { - if ( this.activatedTuples != null ) { - return this.activatedTuples.iterator(); - } - return null; - } - - protected Iterator getNotTupleAssemblies() { - if ( this.notTuples != null ) { - return this.notTuples.iterator(); - } - return null; - } - - protected Iterator getExistsTupleAssemblies() { - if ( this.existsTuples != null ) { - return this.existsTuples.iterator(); - } - return null; - } - - /** - * @see FactHandle - */ - public String toExternalForm() { - return "f-" + this.getId(); - } - - /** - * @see Object - */ - public String toString() { - return toExternalForm(); - } - - public EqualityKey getEqualityKey() { - return this.key; - } - - public void setEqualityKey(final EqualityKey key) { - this.key = key; - } - - public void setObject(final Object object) { - // TODO Auto-generated method stub - } - - public void invalidate() { - // TODO Auto-generated method stub - - } - - public void setRecency(final long recency) { - // TODO Auto-generated method stub - - } -} Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/FactTable.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/FactTable.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/FactTable.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -19,6 +19,7 @@ import java.util.Iterator; import java.util.LinkedList; +import org.drools.common.DefaultFactHandle; import org.drools.common.PropagationContextImpl; import org.drools.leaps.util.Table; import org.drools.spi.PropagationContext; @@ -62,9 +63,9 @@ * @param ruleConflictResolver */ public FactTable(final ConflictResolver conflictResolver) { - super( conflictResolver.getFactConflictResolver() ); - this.rules = new RuleTable( conflictResolver.getRuleConflictResolver() ); - this.tuples = new LinkedList(); + super( conflictResolver.getFactConflictResolver( ) ); + this.rules = new RuleTable( conflictResolver.getRuleConflictResolver( ) ); + this.tuples = new LinkedList( ); } /** @@ -73,9 +74,9 @@ * @param workingMemory * @param ruleHandle */ - public void addRule(final LeapsWorkingMemory workingMemory, - final RuleHandle ruleHandle) { - if ( !this.rules.contains( ruleHandle ) ) { + public void addRule( final LeapsWorkingMemory workingMemory, + final LeapsRuleHandle ruleHandle ) { + if (!this.rules.contains( ruleHandle )) { this.rules.add( ruleHandle ); // push facts back to stack if needed this.checkAndAddFactsToStack( workingMemory ); @@ -87,14 +88,15 @@ * * @param ruleHandle */ - public void removeRule(final RuleHandle ruleHandle) { + public void removeRule( final LeapsWorkingMemory workingMemory, + final LeapsRuleHandle ruleHandle ) { this.rules.remove( ruleHandle ); // remove tuples that are still there - final LinkedList list = new LinkedList(); + final LinkedList list = new LinkedList( ); - for ( final Iterator it = this.getTuplesIterator(); it.hasNext(); ) { - final LeapsTuple tuple = (LeapsTuple) it.next(); - if ( ruleHandle.getLeapsRule().getRule() != tuple.getLeapsRule().getRule() ) { + for (final Iterator it = this.getTuplesIterator( ); it.hasNext( );) { + final LeapsTuple tuple = (LeapsTuple) it.next( ); + if (ruleHandle.getLeapsRule( ).getRule( ) != tuple.getLeapsRule( ).getRule( )) { list.add( tuple ); } } @@ -110,27 +112,24 @@ * memory * */ - private void checkAndAddFactsToStack(final LeapsWorkingMemory workingMemory) { - if ( this.reseededStack ) { + private void checkAndAddFactsToStack( final LeapsWorkingMemory workingMemory ) { + if (this.reseededStack) { this.setReseededStack( false ); - final PropagationContextImpl context = new PropagationContextImpl( workingMemory.nextPropagationIdCounter(), + final PropagationContextImpl context = new PropagationContextImpl( workingMemory.nextPropagationIdCounter( ), PropagationContext.ASSERTION, null, null ); // let's only add facts below waterline - added before rule is added // rest would be added to stack automatically - // @todo why is this null? It breaks FactHandle hashCode - chaning to new Object() for now - final Handle startFactHandle = new FactHandleImpl( workingMemory.getIdLastFireAllAt(), - new Object() ); - for ( final Iterator it = this.tailIterator( startFactHandle, - startFactHandle ); it.hasNext(); ) { - final FactHandleImpl handle = (FactHandleImpl) it.next(); - workingMemory.pushTokenOnStack( handle, - new Token( workingMemory, - handle, - context ) ); + final DefaultFactHandle startFactHandle = new DefaultFactHandle( workingMemory.getIdLastFireAllAt( ), + new Object( ) ); + for (final Iterator it = this.tailIterator( startFactHandle, startFactHandle ); it.hasNext( );) { + final LeapsFactHandle handle = (LeapsFactHandle) it.next( ); + workingMemory.pushTokenOnStack( handle, new Token( workingMemory, + handle, + context ) ); } } } @@ -141,7 +140,7 @@ * @param new * value */ - public void setReseededStack(final boolean reseeded) { + public void setReseededStack( final boolean reseeded ) { this.reseededStack = reseeded; } @@ -152,41 +151,42 @@ * @return iterator of positive rule handles */ public Iterator getRulesIterator() { - return this.rules.iterator(); + return this.rules.iterator( ); } /** * @see java.lang.Object */ public String toString() { - final StringBuffer ret = new StringBuffer(); + final StringBuffer ret = new StringBuffer( ); - for ( final Iterator it = this.iterator(); it.hasNext(); ) { - final FactHandleImpl handle = (FactHandleImpl) it.next(); - ret.append( "\n" + handle + "[" + handle.getObject() + "]" ); + for (final Iterator it = this.iterator( ); it.hasNext( );) { + final LeapsFactHandle handle = (LeapsFactHandle) it.next( ); + ret.append( "\n" + handle + "[" + handle.getObject( ) + "]" ); } ret.append( "\nTuples :" ); - for ( final Iterator it = this.tuples.iterator(); it.hasNext(); ) { - ret.append( "\n" + it.next() ); + for (final Iterator it = this.tuples.iterator( ); it.hasNext( );) { + ret.append( "\n" + it.next( ) ); } ret.append( "\nRules :" ); - for ( final Iterator it = this.rules.iterator(); it.hasNext(); ) { - final RuleHandle handle = (RuleHandle) it.next(); - ret.append( "\n\t" + handle.getLeapsRule().getRule().getName() + "[dominant - " + handle.getDominantPosition() + "]" ); + for (final Iterator it = this.rules.iterator( ); it.hasNext( );) { + final LeapsRuleHandle handle = (LeapsRuleHandle) it.next( ); + ret.append( "\n\t" + handle.getLeapsRule( ).getRule( ).getName( ) + + "[dominant - " + handle.getDominantPosition( ) + "]" ); } - return ret.toString(); + return ret.toString( ); } protected Iterator getTuplesIterator() { - return this.tuples.iterator(); + return this.tuples.iterator( ); } - protected void addTuple(final LeapsTuple tuple) { + protected void addTuple( final LeapsTuple tuple ) { this.tuples.add( tuple ); } -} \ No newline at end of file +} Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/Handle.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/Handle.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/Handle.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -1,100 +0,0 @@ -package org.drools.leaps; - -/* - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.io.Serializable; - -import org.drools.FactHandle; - -/** - * Leaps handle for use with facts and rules. Is used extensively by leaps - * tables. - * - * @author Alexander Bagerman - * - */ -public class Handle - implements - Serializable { - private static final long serialVersionUID = 1L; - - // object to handle - final private Object object; - - final private long id; - - private int objectHashCode; - - /** - * creates a handle for object - * - * @param id - * that is used to identify the object - * @param object - * to handle - */ - public Handle(final long id, - final Object object) { - this.id = id; - this.object = object; - this.objectHashCode = object.hashCode(); - } - - /** - * @return id of the object - */ - public long getId() { - return this.id; - } - - /** - * Leaps handles considered equal if ids match and content points to the - * same object. - */ - public boolean equals(final Object that) { - return this.id == ((Handle) that).id && this.object == ((Handle) that).object; - } - - /** - * @return object being handled - */ - public Object getObject() { - return this.object; - } - - public int getObjectHashCode() { - return this.objectHashCode; - } - - public int hashCode() { - return ( int ) this.id; - } - - /** - * @see FactHandle - */ - public long getRecency() { - return this.id; - } - - /** - * @see java.lang.Object - */ - public String toString() { - return "id=" + this.id + " [" + this.object + "]"; - } -} \ No newline at end of file Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsAgenda.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsAgenda.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsAgenda.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -16,6 +16,8 @@ * limitations under the License. */ +import java.util.List; + import org.drools.common.DefaultAgenda; import org.drools.rule.Query; import org.drools.spi.Activation; @@ -39,19 +41,36 @@ this.workingMemory = workingMemory; } - public synchronized void fireActivation(final Activation activation) throws ConsequenceException { - if ( activation.getRule() instanceof Query ) { + public synchronized void fireActivation( final Activation activation ) + throws ConsequenceException { + if (activation.getRule( ) instanceof Query) { // put query results to the working memory location - this.workingMemory.addToQueryResults( activation.getRule().getName(), - activation.getTuple() ); - } else { - if ( activation.getRule().getActivationGroup() == null || (activation.getRule().getActivationGroup() != null && this.getActivationGroup( activation.getRule().getActivationGroup() ).isEmpty()) ) { + this.workingMemory.addToQueryResults( activation.getRule( ).getName( ), + activation.getTuple( ) ); + } + else { + if (activation.getRule( ).getActivationGroup( ) == null + || ( activation.getRule( ).getActivationGroup( ) != null && this.getActivationGroup( activation.getRule( ) + .getActivationGroup( ) ) + .isEmpty( ) )) { // fire regular rule super.fireActivation( activation ); - if ( activation.getRule().getActivationGroup() != null ) { - this.getActivationGroup( activation.getRule().getActivationGroup() ); + if (activation.getRule( ).getActivationGroup( ) != null) { + this.getActivationGroup( activation.getRule( ).getActivationGroup( ) ); } } } } + + /** + * to accomodate the difference between rete and leaps in storing + * activations. we pull activations from rule to activations map + * we store in working memory to facilitate activations removal + * when rule is removed from the memory + * + */ + public Activation[] getActivations() { + final List list = this.workingMemory.getActivations(); + return (Activation[]) list.toArray( new Activation[list.size()] ); + } } Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsFactHandle.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsFactHandle.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsFactHandle.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -0,0 +1,84 @@ +package org.drools.leaps; + +/* + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; + +import org.drools.common.DefaultFactHandle; + +/** + * class container for each object asserted / retracted into the system + * + * @author Alexander Bagerman + * + */ +public class LeapsFactHandle extends DefaultFactHandle { + + private List activatedTuples = null; + + private List notTuples = null; + + private List existsTuples = null; + + public LeapsFactHandle(final long id, final Object object) { + super( id, object ); + } + + protected void addActivatedTuple( final LeapsTuple tuple ) { + if (this.activatedTuples == null) { + this.activatedTuples = new LinkedList( ); + } + this.activatedTuples.add( tuple ); + } + + protected void addNotTuple( final LeapsTuple tuple, final int index ) { + if (this.notTuples == null) { + this.notTuples = new LinkedList( ); + } + this.notTuples.add( new FactHandleTupleAssembly( tuple, index ) ); + } + + protected void addExistsTuple( final LeapsTuple tuple, final int index ) { + if (this.existsTuples == null) { + this.existsTuples = new LinkedList( ); + } + this.existsTuples.add( new FactHandleTupleAssembly( tuple, index ) ); + } + + protected Iterator getActivatedTuples() { + if (this.activatedTuples != null) { + return this.activatedTuples.iterator( ); + } + return null; + } + + protected Iterator getNotTupleAssemblies() { + if (this.notTuples != null) { + return this.notTuples.iterator( ); + } + return null; + } + + protected Iterator getExistsTupleAssemblies() { + if (this.existsTuples != null) { + return this.existsTuples.iterator( ); + } + return null; + } +} Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsFactHandleFactory.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsFactHandleFactory.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsFactHandleFactory.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -16,7 +16,7 @@ * limitations under the License. */ -import org.drools.common.DefaultFactHandle; +import org.drools.common.EqualityKey; import org.drools.common.InternalFactHandle; import org.drools.spi.FactHandleFactory; @@ -24,9 +24,7 @@ * @author Alexander Bagerman * */ -class LeapsFactHandleFactory - implements - FactHandleFactory { +class LeapsFactHandleFactory implements FactHandleFactory { private static final long serialVersionUID = 8510623248591449450L; private long counter; @@ -41,9 +39,8 @@ * * @see org.drools.reteoo.FactHandleFactory */ - public final InternalFactHandle newFactHandle(final Object object) { - return new FactHandleImpl( this.getNextId(), - object ); + public final InternalFactHandle newFactHandle( final Object object ) { + return new LeapsFactHandle( this.getNextId( ), object ); } /** @@ -52,8 +49,7 @@ * @param object * @return leaps handle */ - public final InternalFactHandle newFactHandle(final long newId, - final Object object) { + public final InternalFactHandle newFactHandle( final long newId, final Object object ) { return newFactHandle( object ); } @@ -66,26 +62,32 @@ } /** - * does nothing in leaps context + * the same as in rete * * @see org.drools.reteoo.FactHandleFactory */ - public final void increaseFactHandleRecency(final InternalFactHandle factHandle) { - ; + public final void increaseFactHandleRecency( final InternalFactHandle factHandle ) { + factHandle.setRecency( this.getNextId( ) ); } - public void destroyFactHandle(final InternalFactHandle factHandle) { - factHandle.invalidate(); + /** + * instead of destroying we put EqualityKey back there + * because of the nature of Leaps processing delayed actions + * + * @see org.drools.reteoo.FactHandleFactory + */ + public void destroyFactHandle( final InternalFactHandle factHandle ) { + factHandle.setEqualityKey( new EqualityKey( factHandle ) ); } /** * @see org.drools.reteoo.FactHandleFactory */ public FactHandleFactory newInstance() { - return new LeapsFactHandleFactory(); + return new LeapsFactHandleFactory( ); } - + public Class getFactHandleType() { - return FactHandleImpl.class; + return LeapsFactHandle.class; } -} \ No newline at end of file +} Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsRuleHandle.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsRuleHandle.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsRuleHandle.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -0,0 +1,84 @@ +package org.drools.leaps; + +/* + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import org.drools.common.DefaultFactHandle; + +/** + * class container for rules. Re-using defaultfact handle + * + * class container for rules used in the system. Handle is created for each + * leaps rule, dominant position (column/ce position), dominant position type + * (class at the column/ce position) or indicator if handle is for asserted or + * retracted tuple combination + * + * @author Alexander Bagerman + * + */ +public class LeapsRuleHandle extends DefaultFactHandle { + + // ce position for which handle is created + private final int dominantPosition; + + public LeapsRuleHandle(final long id, final LeapsRule rule, + final int dominantPosition) { + super( id, rule ); + this.dominantPosition = dominantPosition; + } + + /** + * @return leaps wrapped rule + */ + public LeapsRule getLeapsRule() { + return (LeapsRule) this.getObject(); + } + + /** + * @return base column / ce position + */ + public int getDominantPosition() { + return this.dominantPosition; + } + + /** + * @see org.drools.rule.Rule + */ + public int getRuleComplexity() { + return this.getLeapsRule().getRule().getDeclarations().length; + } + + /** + * @see org.drools.rule.Rule + */ + public int getSalience() { + return this.getLeapsRule().getRule().getSalience(); + } + + /** + * @see java.lang.Object + */ + public boolean equals(final Object that) { + return super.equals( that ) && (this.getDominantPosition() == ((LeapsRuleHandle) that).getDominantPosition()); + } + + /** + * @see java.lang.Object + */ + public String toString() { + return "R-" + this.getId() + " \"" + this.getLeapsRule().toString() + "\" [pos - " + this.dominantPosition + "]"; + } +} Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsTuple.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsTuple.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsTuple.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -40,11 +40,11 @@ private boolean readyForActivation; - private final FactHandleImpl[] factHandles; + private final LeapsFactHandle[] factHandles; - private FactHandleImpl[] blockingNotFactHandles = null; + private LeapsFactHandle[] blockingNotFactHandles = null; - private FactHandleImpl[] existsFactHandles = null; + private LeapsFactHandle[] existsFactHandles = null; private Activation activation; @@ -53,7 +53,7 @@ /** * agendaItem parts */ - LeapsTuple(final FactHandleImpl factHandles[], + LeapsTuple(final LeapsFactHandle factHandles[], final LeapsRule leapsRule, final PropagationContext context) { this.factHandles = factHandles; @@ -62,13 +62,13 @@ if ( this.leapsRule != null ) { if ( this.leapsRule.containsNotColumns() ) { - this.blockingNotFactHandles = new FactHandleImpl[this.leapsRule.getNotColumnConstraints().length]; + this.blockingNotFactHandles = new LeapsFactHandle[this.leapsRule.getNotColumnConstraints().length]; for ( int i = 0; i < this.blockingNotFactHandles.length; i++ ) { this.blockingNotFactHandles[i] = null; } } if ( this.leapsRule.containsExistsColumns() ) { - this.existsFactHandles = new FactHandleImpl[this.leapsRule.getExistsColumnConstraints().length]; + this.existsFactHandles = new LeapsFactHandle[this.leapsRule.getExistsColumnConstraints().length]; for ( int i = 0; i < this.existsFactHandles.length; i++ ) { this.existsFactHandles[i] = null; } @@ -213,7 +213,7 @@ return buffer.toString(); } - protected void setBlockingNotFactHandle(final FactHandleImpl factHandle, + protected void setBlockingNotFactHandle(final LeapsFactHandle factHandle, final int index) { this.readyForActivation = false; this.blockingNotFactHandles[index] = factHandle; @@ -228,7 +228,7 @@ this.setReadyForActivation(); } - protected void setExistsFactHandle(final FactHandleImpl factHandle, + protected void setExistsFactHandle(final LeapsFactHandle factHandle, final int index) { this.existsFactHandles[index] = factHandle; this.setReadyForActivation(); Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsWorkingMemory.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsWorkingMemory.java 2006-06-03 03:08:51 UTC (rev 4586) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/leaps/LeapsWorkingMemory.java 2006-06-03 03:16:27 UTC (rev 4587) @@ -50,6 +50,7 @@ import org.drools.spi.Duration; import org.drools.spi.PropagationContext; import org.drools.spi.Tuple; +import org.drools.util.FastMap; import org.drools.util.IdentityMap; import org.drools.util.IteratorChain; @@ -65,17 +66,15 @@ * @see java.io.Serializable * */ -class LeapsWorkingMemory extends AbstractWorkingMemory - implements - EventSupport, - PropertyChangeListener { +class LeapsWorkingMemory extends AbstractWorkingMemory implements EventSupport, + PropertyChangeListener { private static final long serialVersionUID = -2524904474925421759L; private final Map queryResults; - private final IdentityMap leapsRulesToHandlesMap = new IdentityMap(); + private final IdentityMap leapsRulesToHandlesMap = new IdentityMap( ); - private final IdentityMap rulesActivationsMap = new IdentityMap(); + private final IdentityMap rulesActivationsMap = new IdentityMap( ); /** * Construct. @@ -84,30 +83,18 @@ * The backing rule-base. */ public LeapsWorkingMemory(final InternalRuleBase ruleBase) { - super( ruleBase, - ruleBase.newFactHandleFactory() ); - this.queryResults = new HashMap(); + super( ruleBase, ruleBase.newFactHandleFactory( ) ); + this.queryResults = new HashMap( ); this.agenda = new LeapsAgenda( this ); } - public List getObjects(final Class objectClass) { - // @todo why can't this use assertMap and thus the AbstractWorkingMemory impl? - final List list = new LinkedList(); - for ( final Iterator it = this.getFactTable( objectClass ).iterator(); it.hasNext(); ) { - list.add( ((FactHandleImpl) it.next()).getObject() ); - } + public void doAssertObject( final InternalFactHandle factHandle, + final Object object, + final PropagationContext propagationContext ) + throws FactException { + + this.pushTokenOnStack( factHandle, new Token( this, factHandle, propagationContext ) ); - return list; - } - - public void doAssertObject(final InternalFactHandle factHandle, - final Object object, - final PropagationContext propagationContext) throws FactException { - this.pushTokenOnStack( factHandle, - new Token( this, - factHandle, - propagationContext ) ); - // determine what classes it belongs to put it into the "table" on // class name key final Class objectClass = object.getClass(); @@ -118,58 +105,61 @@ // inspect all tuples for exists and not conditions and activate // / // deactivate agenda items - for ( final Iterator tuples = factTable.getTuplesIterator(); tuples.hasNext(); ) { - final LeapsTuple tuple = (LeapsTuple) tuples.next(); - boolean tupleWasReadyForActivation = tuple.isReadyForActivation(); - if ( !tuple.isActivationNull() ) { + for (final Iterator tuples = factTable.getTuplesIterator( ); tuples.hasNext( );) { + final LeapsTuple tuple = (LeapsTuple) tuples.next( ); + boolean tupleWasReadyForActivation = tuple.isReadyForActivation( ); + if (!tuple.isActivationNull( )) { // check not constraints only on activated tuples to see // if // we need to deactivate - final ColumnConstraints[] not = tuple.getLeapsRule().getNotColumnConstraints(); - for ( int i = 0, length = not.length; i < length; i++ ) { + final ColumnConstraints[] not = tuple.getLeapsRule( ) + .getNotColumnConstraints( ); + for (int i = 0, length = not.length; i < length; i++) { final ColumnConstraints constraint = not[i]; - if ( !tuple.isBlockingNotFactHandle( i ) && constraint.getClassType().isAssignableFrom( objectClass ) && constraint.isAllowed( factHandle, - tuple, - this ) ) { - tuple.setBlockingNotFactHandle( (FactHandleImpl) factHandle, - i ); - ((FactHandleImpl) factHandle).addNotTuple( tuple, - i ); + if (!tuple.isBlockingNotFactHandle( i ) + && constraint.getClassType( ) + .isAssignableFrom( objectClass ) + && constraint.isAllowed( factHandle, tuple, this )) { + tuple.setBlockingNotFactHandle( (LeapsFactHandle) factHandle, i ); + ( (LeapsFactHandle) factHandle ).addNotTuple( tuple, i ); } } // check and see if we need de-activate - if ( !tuple.isReadyForActivation() ) { - if ( tuple.getLeapsRule().getRule() instanceof Query ) { + if (!tuple.isReadyForActivation( )) { + if (tuple.getLeapsRule( ).getRule( ) instanceof Query) { // put query results to the working memory // location - removeFromQueryResults( tuple.getLeapsRule().getRule().getName(), - tuple ); - } else { + removeFromQueryResults( tuple.getLeapsRule( ) + .getRule( ) + .getName( ), tuple ); + } + else { // time to pull from agenda invalidateActivation( tuple ); } } - } else { + } + else { // check exists constraints and activate constraints - final ColumnConstraints[] exists = tuple.getLeapsRule().getExistsColumnConstraints(); - for ( int i = 0, length = exists.length; i < length; i++ ) { + final ColumnConstraints[] exists = tuple.getLeapsRule( ) + .getExistsColumnConstraints( ); + for (int i = 0, length = exists.length; i < length; i++) { final ColumnConstraints constraint = exists[i]; - if ( !tuple.isExistsFactHandle( i ) && constraint.getClassType().isAssignableFrom( objectClass ) && constraint.isAllowed( factHandle, - tuple, - this ) ) { - tuple.setExistsFactHandle( (FactHandleImpl) factHandle, - i ); - ((FactHandleImpl) factHandle).addExistsTuple( tuple, - i ); + if (!tuple.isExistsFactHandle( i ) + && constraint.getClassType( ) + .isAssignableFrom( objectClass ) + && constraint.isAllowed( factHandle, tuple, this )) { + tuple.setExistsFactHandle( (LeapsFactHandle) factHandle, i ); + ( (LeapsFactHandle) factHandle ).addExistsTuple( tuple, i ); } } // check and see if we need activate // activate only if tuple was not ready for it before - if ( tuple.isReadyForActivation() && !tupleWasReadyForActivation ) { + if (!tupleWasReadyForActivation && tuple.isReadyForActivation( )) { // ready to activate - tuple.setContext( new PropagationContextImpl( nextPropagationIdCounter(), + tuple.setContext( new PropagationContextImpl( nextPropagationIdCounter( ), PropagationContext.ASSERTION, - tuple.getLeapsRule().getRule(), + tuple.getLeapsRule( ).getRule( ), null ) ); this.assertTuple( tuple ); @@ -186,55 +176,55 @@ * * @see WorkingMemory */ - public void doRetract(final InternalFactHandle factHandle, - final PropagationContext propagationContext) { + public void doRetract( final InternalFactHandle factHandle, + final PropagationContext propagationContext ) { /* * leaps specific actions */ // remove fact from all relevant fact tables container - for ( final Iterator it = this.getFactTablesList( ((FactHandleImpl) factHandle).getObject().getClass() ).iterator(); it.hasNext(); ) { - ((FactTable) it.next()).remove( factHandle ); + for (final Iterator it = this.getFactTablesList( factHandle.getObject( ).getClass( ) ) + .iterator( ); it.hasNext( );) { + ( (FactTable) it.next( ) ).remove( factHandle ); } // 0. remove activated tuples - final Iterator tuples = ((FactHandleImpl) factHandle).getActivatedTuples(); - for ( ; tuples != null && tuples.hasNext(); ) { - final LeapsTuple tuple = (LeapsTuple) tuples.next(); - if ( tuple.getLeapsRule().getRule() instanceof Query ) { + final Iterator tuples = ( (LeapsFactHandle) factHandle ).getActivatedTuples( ); + for (; tuples != null && tuples.hasNext( );) { + final LeapsTuple tuple = (LeapsTuple) tuples.next( ); + if (tuple.getLeapsRule( ).getRule( ) instanceof Query) { // put query results to the working memory location - removeFromQueryResults( tuple.getLeapsRule().getRule().getName(), - tuple ); - } else { + removeFromQueryResults( tuple.getLeapsRule( ).getRule( ).getName( ), tuple ); + } + else { // time to pull from agenda invalidateActivation( tuple ); } } // 1. remove fact for nots and exists tuples - final IdentityMap tuplesNotReadyForActivation = new IdentityMap(); + final IdentityMap tuplesNotReadyForActivation = new IdentityMap( ); FactHandleTupleAssembly assembly; LeapsTuple tuple; Iterator it; - it = ((FactHandleImpl) factHandle).getNotTupleAssemblies(); - if ( it != null ) { - for ( ; it.hasNext(); ) { - assembly = (FactHandleTupleAssembly) it.next(); - tuple = assembly.getTuple(); - if ( !tuple.isReadyForActivation() ) { - tuplesNotReadyForActivation.put( tuple, - tuple ); + it = ( (LeapsFactHandle) factHandle ).getNotTupleAssemblies( ); + if (it != null) { + for (; it.hasNext( );) { + assembly = (FactHandleTupleAssembly) it.next( ); + tuple = assembly.getTuple( ); + if (!tuple.isReadyForActivation( )) { + tuplesNotReadyForActivation.put( tuple, tuple ); } - tuple.removeBlockingNotFactHandle( assembly.getIndex() ); - // @todo why is this null? It breaks FactHandle hashCode - chaning to new Object() for now - TokenEvaluator.evaluateNotCondition( new FactHandleImpl( ((FactHandleImpl) factHandle).getId() + 1, - new Object() ), - assembly.getIndex(), + tuple.removeBlockingNotFactHandle( assembly.getIndex( ) ); + + TokenEvaluator.evaluateNotCondition( new LeapsFactHandle( factHandle.getRecency( ) + 1, + new Object( ) ), + assembly.getIndex( ), tuple, this ); } } - it = ((FactHandleImpl) factHandle).getExistsTupleAssemblies(); + it = ((LeapsFactHandle) factHandle).getExistsTupleAssemblies(); if ( it != null ) { for ( ; it.hasNext(); ) { assembly = (FactHandleTupleAssembly) it.next(); @@ -243,10 +233,10 @@ tuplesNotReadyForActivation.put( tuple, tuple ); } - tuple.removeExistsFactHandle( assembly.getIndex() ); - TokenEvaluator.evaluateExistsCondition( new FactHandleImpl( ((FactHandleImpl) factHandle).getId() + 1, - null ), - assembly.getIndex(), + tuple.removeExistsFactHandle( assembly.getIndex( ) ); + TokenEvaluator.evaluateExistsCondition( new LeapsFactHandle( factHandle.getRecency( ) + 1, + null ), + assembly.getIndex( ), tuple, this ); } @@ -254,31 +244,35 @@ // 2. assert all tuples that are ready for activation or cancel ones // that are no longer final IteratorChain chain = new IteratorChain(); - it = ((FactHandleImpl) factHandle).getNotTupleAssemblies(); + it = ((LeapsFactHandle) factHandle).getNotTupleAssemblies(); if ( it != null ) { chain.addIterator( it ); } - it = ((FactHandleImpl) factHandle).getExistsTupleAssemblies(); + it = ((LeapsFactHandle) factHandle).getExistsTupleAssemblies(); if ( it != null ) { chain.addIterator( it ); } for ( ; chain.hasNext(); ) { - tuple = ((FactHandleTupleAssembly) chain.next()).getTuple(); + tuple = ( (FactHandleTupleAssembly) chain.next( ) ).getTuple( ); // can assert only tuples that were not eligible for activation // before retraction - if ( tuple.isReadyForActivation() && tuple.isActivationNull() && tuplesNotReadyForActivation.containsKey( tuple ) ) { + if (tuple.isReadyForActivation( ) && tuple.isActivationNull( ) + && tuplesNotReadyForActivation.containsKey( tuple )) { // ready to activate - tuple.setContext( new PropagationContextImpl( nextPropagationIdCounter(), + tuple.setContext( new PropagationContextImpl( nextPropagationIdCounter( ), PropagationContext.ASSERTION, - tuple.getLeapsRule().getRule(), + tuple.getLeapsRule( ) + .getRule( ), null ) ); this.assertTuple( tuple ); - } else { - if ( tuple.getLeapsRule().getRule() instanceof Query ) { + } + else { + if (tuple.getLeapsRule( ).getRule( ) instanceof Query) { // put query results to the working memory location - removeFromQueryResults( tuple.getLeapsRule().getRule().getName(), + removeFromQueryResults( tuple.getLeapsRule( ).getRule( ).getName( ), tuple ); - } else { + } + else { // time to pull from agenda invalidateActivation( tuple ); } @@ -286,7 +280,7 @@ } // remove it from stack - this.removeTokenFromStack( (FactHandleImpl) factHandle ); + this.removeTokenFromStack( (LeapsFactHandle) factHandle ); } /** @@ -295,65 +289,99 @@ * * @param tuple */ - private final void invalidateActivation(final LeapsTuple tuple) { - final Activation activation = tuple.getActivation(); - if ( !tuple.isReadyForActivation() && !tuple.isActivationNull() ) { + private final void invalidateActivation( final LeapsTuple tuple ) { + final Activation activation = tuple.getActivation( ); + if (!tuple.isReadyForActivation( ) && !tuple.isActivationNull( )) { // invalidate agenda agendaItem - if ( activation.isActivated() ) { - activation.remove(); - getAgendaEventSupport().fireActivationCancelled( activation ); + if (activation.isActivated( )) { + activation.remove( ); + getAgendaEventSupport( ).fireActivationCancelled( activation ); } // tuple.setActivation( null ); } - // remove logical dependency - if ( activation != null ) { + if (activation != null) { + // remove logical dependency this.tms.removeLogicalDependencies( activation, - tuple.getContext(), - tuple.getLeapsRule().getRule() ); + tuple.getContext( ), + tuple.getLeapsRule( ).getRule( ) ); + + // remove from rule / activaitons map + FastMap activations = (FastMap) this.rulesActivationsMap.get( activation.getRule( ) ); + if (activations != null) { + activations.remove( activation ); + } } } /** + * modify is implemented as half way retract / assert due to the truth maintenance issues. + * * @see WorkingMemory */ - public void modifyObject(final FactHandle factHandle, - final Object object, - final Rule rule, - final Activation activation) throws FactException { - this.getLock().lock(); + public void modifyObject( final FactHandle factHandle, + final Object object, + final Rule rule, + final Activation activation ) throws FactException { + this.getLock( ).lock( ); try { - final int status = ((InternalFactHandle) factHandle).getEqualityKey().getStatus(); - final InternalFactHandle handle = (InternalFactHandle) factHandle; + final PropagationContext propagationContext = new PropagationContextImpl( this.propagationIdCounter++, + PropagationContext.MODIFICATION, + rule, + activation ); + final int status = ( (InternalFactHandle) factHandle ).getEqualityKey( ) + .getStatus( ); + final Object originalObject = this.assertMap.remove( factHandle ); + if (originalObject == null) { + throw new NoSuchFactObjectException( factHandle ); + } + // + // do subset of retractObject( ) + // + final InternalFactHandle handle = (InternalFactHandle) factHandle; + if (handle.getId( ) == -1) { + // can't retract an already retracted handle + return; + } + removePropertyChangeListener( handle ); - if ( originalObject == null ) { - throw new NoSuchFactObjectException( handle ); + doRetract( handle, propagationContext ); + + // Update the equality key, which maintains a list of stated + // FactHandles + final EqualityKey key = handle.getEqualityKey( ); + + key.removeFactHandle( handle ); + handle.setEqualityKey( null ); + + // If the equality key is now empty, then remove it + if (key.isEmpty( )) { + this.tms.remove( key ); } + // produces NPE otherwise + this.handleFactory.destroyFactHandle( handle ); - this.retractObject( handle ); - + // + // and now assert + // /* check to see if this is a logically asserted object */ - final FactHandleImpl handleImpl = (FactHandleImpl) this.assertObject( object, - false, - (status == EqualityKey.STATED) ? false : true, - rule, - activation ); + this.assertObject( object, false, ( status == EqualityKey.STATED ) ? false + : true, rule, activation ); - this.workingMemoryEventSupport.fireObjectModified( new PropagationContextImpl( nextPropagationIdCounter(), - PropagationContext.MODIFICATION, - rule, - activation ), + this.workingMemoryEventSupport.fireObjectModified( propagationContext, handle, - ((FactHandleImpl) handle).getObject(), + handle.getObject( ), object ); - if ( !this.factQueue.isEmpty() ) { - propagateQueuedActions(); + + if (!this.factQueue.isEmpty( )) { + propagateQueuedActions( ); } - } finally { - this.getLock().unlock(); } + finally { + this.getLock( ).unlock( ); + } } /** @@ -364,7 +392,7 @@ /** * algorithm stack. */ - private final TokenStack mainStack = new TokenStack(); + private final TokenStack mainStack = new TokenStack( ); /** * generates or just return List of internal factTables that correspond a @@ -372,20 +400,20 @@ * * @return */ - protected final List getFactTablesList(final Class c) { - final ArrayList list = new ArrayList(); + protected final List getFactTablesList( final Class c ) { + final ArrayList list = new ArrayList( ); // interfaces - final Class[] interfaces = c.getInterfaces(); - for ( int i = 0; i < interfaces.length; i++ ) { + final Class[] interfaces = c.getInterfaces( ); + for (int i = 0; i < interfaces.length; i++) { list.add( this.getFactTable( interfaces[i] ) ); } // classes Class bufClass = c; - while ( bufClass != null ) { + while (bufClass != null) { // list.add( this.getFactTable( bufClass ) ); // and get the next class on the list - bufClass = bufClass.getSuperclass(); + bufClass = bufClass.getSuperclass( ); } return list; } @@ -406,8 +434,8 @@ * * @param fact handle */ - protected final void removeTokenFromStack(final FactHandleImpl factHandle) { - this.mainStack.remove( factHandle.getId() ); + protected final void removeTokenFromStack( final LeapsFactHandle factHandle ) { ... [truncated message content] |
From: <jbo...@li...> - 2006-06-03 03:08:59
|
Author: mic...@jb... Date: 2006-06-02 23:08:51 -0400 (Fri, 02 Jun 2006) New Revision: 4586 Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/or_nesting.drl Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java Log: more test coverage for nesting of OR CEs Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2006-06-02 22:23:50 UTC (rev 4585) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java 2006-06-03 03:08:51 UTC (rev 4586) @@ -1056,8 +1056,8 @@ assertFalse( parser.hasErrors() ); } - public void FIXME_testOrNesting() throws Exception { - final RuleParser parser = parseResource( "and_or_rule.drl" ); + public void testOrNesting() throws Exception { + final RuleParser parser = parseResource( "or_nesting.drl" ); parser.compilation_unit(); final PackageDescr pack = parser.getPackageDescr(); @@ -1082,7 +1082,7 @@ ColumnDescr left = (ColumnDescr) and.getDescrs().get( 0 ); assertEquals("Person", left.getObjectType()); - ColumnDescr right = (ColumnDescr) and.getDescrs().get( 0 ); + ColumnDescr right = (ColumnDescr) and.getDescrs().get( 1 ); assertEquals("Cheese", right.getObjectType()); } Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/or_nesting.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/or_nesting.drl 2006-06-02 22:23:50 UTC (rev 4585) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/or_nesting.drl 2006-06-03 03:08:51 UTC (rev 4586) @@ -0,0 +1,10 @@ + +import org.drools.Person + +rule simple_rule + when + Person(name == "mark") or + ( Person(type == "fan") and Cheese(type == "green") ) + then + System.out.println( "Mark and Michael" + bar ); +end \ No newline at end of file Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/or_nesting.drl ___________________________________________________________________ Name: svn:eol-style + native |
From: Elvira H. <rjd...@as...> - 2006-06-02 23:05:15
|
Looking for a company with some good news? Here's one! We see big things happening everyday, so we say keep your eye on W T A F and watch for a big movement !!! Trade Date : 2006, June 5 Company Name : Wataire Industries S y m b o l : W T A F Current Price : $0.60 11 Day Trading Projection : $2 Expectations : S T R O N G B U Y Big news expected. This should invoke LARGE gains. It is only a matter of time before it is released out into the investment community and they take it to the moon. |
From: <jbo...@li...> - 2006-06-02 22:23:53
|
Author: jfr...@jb... Date: 2006-06-02 18:23:50 -0400 (Fri, 02 Jun 2006) New Revision: 4585 Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh Log: Make sure that openldap uses the openssl we have built. Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh =================================================================== --- labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-02 22:04:45 UTC (rev 4584) +++ labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-02 22:23:50 UTC (rev 4585) @@ -126,7 +126,7 @@ if [ ${CC} = "cc" ] then # Sun Studio - CC=cc CPPFLAGS="-I/opt/SUNWspro/prod/include/CC/Cstd/rw -I/opt/SUNWspro/prod/include/CC/Cstd -DHUGE_VAL=__builtin_huge_val" ./configure --prefix=${INSDIR} ${ADDCON} + CC=cc CPPFLAGS="$CPPFLAGS -I/opt/SUNWspro/prod/include/CC/Cstd/rw -I/opt/SUNWspro/prod/include/CC/Cstd -DHUGE_VAL=__builtin_huge_val" ./configure --prefix=${INSDIR} ${ADDCON} else ./configure --prefix=${INSDIR} ${ADDCON} fi @@ -135,6 +135,15 @@ echo "configure in ${SRCDIR} failed" exit 1 fi + if [ "$ADDINS" = "depend" ] + then + make $ADDINS + if [ $? -ne 0 ] + then + echo "Make $ADDINS in ${SRCDIR} failed" + exit 1 + fi + fi make clean if [ $? -ne 0 ] then @@ -153,7 +162,7 @@ echo "Make install in ${SRCDIR} failed" exit 1 fi - if [ ! -z "$ADDINS" ] + if [ ! -z "$ADDINS" ] && [ "$ADDINS" != "depend" ] then make $ADDINS if [ $? -ne 0 ] @@ -321,6 +330,12 @@ COMPILER=solaris-sparcv9-cc fi ;; + i?86) + if [ ${CC} = "cc" ] + then + COMPILER=solaris-x86-cc + fi + ;; esac esac @@ -426,7 +441,16 @@ if ${BUILDLDAP} then Extract openldap ${LDAPURL} ${LDAPVER} - Build openldap-${LDAPVER} ${TOOLS}/LDAP "--disable-slapd --with-tls" "" + if ${BUILDOSSL} + then + CPPFLAGS=-I$TOOLS/SSL/include + export CPPFLAGS + LDFLAGS=-L$TOOLS/SSL/lib + export LDFLAGS + Build openldap-${LDAPVER} ${TOOLS}/LDAP "--disable-slapd --with-tls=openssl" "depend" + else + Build openldap-${LDAPVER} ${TOOLS}/LDAP "--disable-slapd --with-tls" "" + fi ADDCONF="$ADDCONF --with-ldap=$TOOLS/LDAP" else ADDCONF="$ADDCONF --with-ldap" |
From: <jbo...@li...> - 2006-06-02 22:04:48
|
Author: KrisVerlaenen Date: 2006-06-02 18:04:45 -0400 (Fri, 02 Jun 2006) New Revision: 4584 Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/outline/RuleContentOutlinePage.java Log: made outline view a lot less restrictive in finding patterns + made sure it only shows necessary info (no semicolon, doc, etc.) Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/outline/RuleContentOutlinePage.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/outline/RuleContentOutlinePage.java 2006-06-02 21:33:14 UTC (rev 4583) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/outline/RuleContentOutlinePage.java 2006-06-02 22:04:45 UTC (rev 4584) @@ -38,26 +38,32 @@ /////////////////////////////////// // Patterns that the parser uses /////////////////////////////////// - private static final Pattern rulePattern = Pattern.compile( "rule\\s+\"?([^\"]+)\"?.*", + private static final Pattern rulePattern1 = Pattern.compile( "\\s*rule\\s+\"([^\"]+)\".*", Pattern.DOTALL ); - private static final Pattern packagePattern = Pattern.compile( "package\\s+([^\"]+)", + private static final Pattern rulePattern2 = Pattern.compile( "\\s*rule\\s+([^\\s;#\"]+).*", Pattern.DOTALL ); - private static final Pattern functionNamePattern = Pattern.compile( "function\\s+(.*)\\s+(.*)\\(.*\\).*", + private static final Pattern packagePattern = Pattern.compile( "\\s*package\\s+([^\\s;#]+);?.*", + Pattern.DOTALL ); + + private static final Pattern functionNamePattern = Pattern.compile( "\\s*function\\s+(\\S+)\\s+(\\S+)\\(.*\\).*", Pattern.DOTALL ); - private static final Pattern importNamePattern = Pattern.compile( "import\\s+([^\"]+)", + private static final Pattern importNamePattern = Pattern.compile( "\\s*import\\s+([^\\s;#]+);?.*", Pattern.DOTALL ); - private static final Pattern expanderNamePattern = Pattern.compile( "expander\\s+([^\"]+);?", - Pattern.DOTALL ); + private static final Pattern expanderNamePattern = Pattern.compile( "\\s*expander\\s+([^\\s;#]+);?.*", + Pattern.DOTALL ); - private static final Pattern globalNamePattern = Pattern.compile( "global\\s+([^\"]+);?", - Pattern.DOTALL ); + private static final Pattern globalNamePattern = Pattern.compile( "\\s*global\\s+(\\S+)\\s+([^\\s;#]+);?.*", + Pattern.DOTALL ); - private static final Pattern queryNamePattern = Pattern.compile( "query\\s+\"?([^\"]+)\"?.*", - Pattern.DOTALL ); + private static final Pattern queryNamePattern1 = Pattern.compile( "\\s*query\\s+\"([^\"]+)\".*", + Pattern.DOTALL ); + + private static final Pattern queryNamePattern2 = Pattern.compile( "\\s*query\\s+([^\\s;#\"]+).*", + Pattern.DOTALL ); public RuleContentOutlinePage(DRLRuleEditor editor) { super(); @@ -132,14 +138,20 @@ String st; while ( (st = bufferedReader.readLine()) != null ) { - Matcher matcher = rulePattern.matcher( st ); - + Matcher matcher = rulePattern1.matcher( st ); if ( matcher.matches() ) { String rule = matcher.group( 1 ); packageTreeNode.addRule( rule, offset, st.length() ); } + matcher = rulePattern2.matcher( st ); + if ( matcher.matches() ) { + String rule = matcher.group( 1 ); + packageTreeNode.addRule( rule, + offset, + st.length() ); + } matcher = packagePattern.matcher( st ); if ( matcher.matches() ) { String packageName = matcher.group( 1 ); @@ -149,7 +161,7 @@ } matcher = functionNamePattern.matcher( st ); if ( matcher.matches() ) { - String functionName = matcher.group( matcher.groupCount() ); + String functionName = matcher.group( 2 ); packageTreeNode.addFunction( functionName + "()", offset, st.length() ); @@ -170,18 +182,27 @@ } matcher = globalNamePattern.matcher( st ); if ( matcher.matches() ) { - String globalName = matcher.group( 1 ); - packageTreeNode.addGlobal( globalName, + String globalType = matcher.group( 1 ); + String globalName = matcher.group( 2 ); + String name = globalName + " : " + globalType; + packageTreeNode.addGlobal( name, offset, st.length() ); } - matcher = queryNamePattern.matcher( st ); + matcher = queryNamePattern1.matcher( st ); if ( matcher.matches() ) { String queryName = matcher.group( 1 ); packageTreeNode.addQuery( queryName, offset, st.length() ); } + matcher = queryNamePattern2.matcher( st ); + if ( matcher.matches() ) { + String queryName = matcher.group( 1 ); + packageTreeNode.addQuery( queryName, + offset, + st.length() ); + } offset += st.length() + System.getProperty("line.separator").length(); // + for the newline } |
From: <jbo...@li...> - 2006-06-02 21:33:19
|
Author: unibrew Date: 2006-06-02 17:33:14 -0400 (Fri, 02 Jun 2006) New Revision: 4583 Modified: labs/jbosslabs/trunk/portal-extensions/portal-default/src/web/WEB-INF/default-object.xml Log: Removing most downloaded portlet Modified: labs/jbosslabs/trunk/portal-extensions/portal-default/src/web/WEB-INF/default-object.xml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/portal-default/src/web/WEB-INF/default-object.xml 2006-06-02 19:17:17 UTC (rev 4582) +++ labs/jbosslabs/trunk/portal-extensions/portal-default/src/web/WEB-INF/default-object.xml 2006-06-02 21:33:14 UTC (rev 4583) @@ -111,12 +111,12 @@ <region>right</region> <height>1</height> </window> - <window> + <!--<window> <window-name>FreezonePortletWindowDefaultDownloads</window-name> <instance-ref>FreezoneMostDownloadedPortletInstance</instance-ref> <region>innerright</region> <height>0</height> - </window> + </window>--> <window> <window-name>UserPortletWindow</window-name> <instance-ref>UserPortletInstance</instance-ref> |
From: <jbo...@li...> - 2006-06-02 19:17:24
|
Author: jfr...@jb... Date: 2006-06-02 15:17:17 -0400 (Fri, 02 Jun 2006) New Revision: 4582 Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh Log: Add tgz to the URL supported formats. Modified: labs/jbossweb/trunk/src/share/native/build/buildphp.sh =================================================================== --- labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-02 18:42:43 UTC (rev 4581) +++ labs/jbossweb/trunk/src/share/native/build/buildphp.sh 2006-06-02 19:17:17 UTC (rev 4582) @@ -78,7 +78,7 @@ if [ ! -d ${BASE}-${VER} ] then case ${FILE} in - *.tar.gz) + *.tar.gz | *.tgz) gzip -dc ${FILE} | tar xvf - ;; *signed.tar) |
Author: conkan Date: 2006-06-02 14:42:43 -0400 (Fri, 02 Jun 2006) New Revision: 4581 Added: labs/portletswap/imagegalleryportlet/trunk/gallery/ labs/portletswap/imagegalleryportlet/trunk/gallery/images/ labs/portletswap/imagegalleryportlet/trunk/gallery/images/Thumbs.db labs/portletswap/imagegalleryportlet/trunk/gallery/images/bufo.jpg labs/portletswap/imagegalleryportlet/trunk/gallery/images/desert.jpg labs/portletswap/imagegalleryportlet/trunk/gallery/images/fan.jpg labs/portletswap/imagegalleryportlet/trunk/gallery/images/rana.jpg labs/portletswap/imagegalleryportlet/trunk/gallery/images/xen.jpg labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/ labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/Thumbs.db labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/bufo.jpg labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/desert.jpg labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/fan.jpg labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/rana.jpg labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/xen.jpg labs/portletswap/imagegalleryportlet/trunk/ig_2.2/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.classpath labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.cvsignore labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.project labs/portletswap/imagegalleryportlet/trunk/ig_2.2/LICENSE.txt labs/portletswap/imagegalleryportlet/trunk/ig_2.2/README.txt labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.bat labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.log labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.sh labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/portal-imagegallery.ear labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/Thumbs.db labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/add.gif labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/back.gif labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/delete.gif labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/edit.gif labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/next.gif labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/previous.gif labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/view.gif labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/etc/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/etc/portal-imagegallery-war.mf labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/Const.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/DataHelper.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/ImageGalleryModule.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/ImageGalleryPortlet.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/impl/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/impl/ImageCollectionImpl.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/impl/ImageDetailImpl.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/impl/ImageGalleryModuleImpl.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/model/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/model/ImageCollection.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/model/ImageDetail.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/test/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/test/imagegallery/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/test/imagegallery/ImageGalleryPortletTestCase.java labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-ear/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-ear/META-INF/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-ear/META-INF/application.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-ear/META-INF/jboss-app.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-har/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-har/META-INF/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-sar/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-sar/META-INF/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-sar/META-INF/jboss-service.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-sar/conf/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-sar/conf/hibernate/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-sar/conf/hibernate/hibernate.cfg.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-sar/conf/hibernate/setup.txt labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/classes/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/classes/Resource.properties labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/classes/Resource_en.properties labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/imagegallery-object.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jboss-app.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jboss-portlet.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jboss-web.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/browseCMS.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/collectionAdd.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/collectionDelete.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/collectionEdit.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/collectionView.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/collections.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/detailAdd.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/detailDelete.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/detailEdit.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/detailView.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/details.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/jsp/imagedetail.jsp labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/portal-lib.tld labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/portlet.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/portal-imagegallery-war/WEB-INF/web.xml labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/setup/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/setup/setup.sql labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/test/ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/test/hibernate.properties labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/resources/test/log4j.properties Log: Added: labs/portletswap/imagegalleryportlet/trunk/gallery/images/Thumbs.db =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/images/Thumbs.db ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/images/bufo.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/images/bufo.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/images/desert.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/images/desert.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/images/fan.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/images/fan.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/images/rana.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/images/rana.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/images/xen.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/images/xen.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/Thumbs.db =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/Thumbs.db ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/bufo.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/bufo.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/desert.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/desert.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/fan.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/fan.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/rana.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/rana.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/xen.jpg =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/gallery/thumbnails/xen.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.classpath =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.classpath 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.classpath 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src/main"/> + <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/jboss-server/lib/jboss.jar"/> + <classpathentry exported="true" kind="src" path="/portal-core"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/jboss-system/lib/jboss-system.jar"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/jboss-system/lib/jboss-jmx.jar"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/jboss-system/lib/jboss-common.jar"/> + <classpathentry exported="true" kind="src" path="/portal-api"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/jboss-j2ee/lib/jboss-j2ee.jar"/> + <classpathentry exported="true" kind="src" path="/portal-portlet"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/sun-servlet/lib/jsp-api.jar"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/sun-servlet/lib/servlet-api.jar"/> + <classpathentry exported="true" kind="src" path="/portal-server"/> + <classpathentry exported="true" kind="src" path="/portal-common"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/jakarta-log4j/lib/log4j.jar"/> + <classpathentry exported="true" kind="src" path="/portal-format"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/jboss-hibernate/lib/hibernate2.jar"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/jakarta-lucene/lib/lucene.jar"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/oswego-concurrent/lib/concurrent.jar"/> + <classpathentry exported="true" kind="lib" path="/portal-thirdparty/jboss-hibernate/lib/jboss-hibernate.jar"/> + <classpathentry kind="output" path="output"/> +</classpath> Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.cvsignore =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.cvsignore 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.cvsignore 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,2 @@ +output +build.log Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.project =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.project 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/.project 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>ig_2.2</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.validation.validationbuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/LICENSE.txt =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/LICENSE.txt 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/LICENSE.txt 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,8 @@ +/***************************************** + * * + * The Image Gallery Portlet * + * * + * Distributable under LGPL license. * + * See terms of license at gnu.org. * + * * + *****************************************/ \ No newline at end of file Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/README.txt =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/README.txt 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/README.txt 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,42 @@ +IMAGEGALLERY README + +'Imagegallery' portlet is licensed under the GNU public license. All rights are reserved. + +About Imagegallery: + +'Imagegallery' is a portlet built and deployed on jboss portal 2.2. This portlet +is used to organize and display images and image information on the portal. One +must save the images and thumbnails using the jboss portal content management system (CMS). +The imagegallery organizes the images by image collections. Each collection can be +represented by a sample thumbnail. Click on the collection thumbnail and the image +thumbnails for the collection are shown. After the image thumbnails shown, clicking on +the image thumbnail allows one to see the image and image information. Forward or back +arrows can then be used to see the next or previous images in the collection. + +The images will be displayed as 500 x 500 pixel images and the thumbnails will be displayed +as 100 x 100 pixel images. + +To add, modify, or delete the image information, one must log into the portal as 'admin'. + +To see the sample images that are sent with the imagegallery, one must create a directory +called 'gallery' under '/portal/content' using the CMS. /portal/content is the root +directory of the CMS and should already have a 'default' directory in it. Then upload the +'images.zip' and 'thumbnails.zip' under 'gallery' using the CMS 'upload archive' icon. + +If you have downloaded the imagegallery.ear file, place it under the JBoss deploy +directory. + +If you have downloaded the imagegallery source code, move the imagegallery directory +under the jboss-portal-2.2 directory. Go under the imagegallery directory and do a +'build.bat deploy' or 'build.sh deploy'. + +To get a general idea on how the imagegallery looks visit this URL: + +http://edcw2ks15.cr.usgs.gov:8090/ImageGallery/SilverStream/Pages/pgcollectiondisplay.html + +Please send us an email if you have any questions or suggestions or just to let us know +your imagegallery URL. Our email address is im...@ho... + +Thanks + +Ron & Conrad Kanengieter \ No newline at end of file Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.bat =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.bat 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.bat 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,54 @@ +@echo off +rem +rem Invokes a script of the same name in the 'tools' module. +rem +rem The 'tools' module is expected to be a peer directory of the directory +rem in which this script lives. +rem +rem @author Jason Dillon <ja...@pl...> +rem + +rem $Id: build.bat,v 1.1.1.1 2005/01/14 23:12:37 vietj Exp $ + +setlocal + +set PROGNAME=%~nx0 +set DIRNAME=%~dp0 + +rem Legacy shell support +if x%PROGNAME%==x set PROGNAME=build.bat +if x%DIRNAME%==x set DIRNAME=.\ + +set MODULE_ROOT=%DIRNAME% +if x%TOOLS_ROOT%==x set TOOLS_ROOT=%DIRNAME%..\tools +set TARGET=%TOOLS_ROOT%\bin\build.bat +set ARGS=%* + +rem Start'er up yo +goto main + +:debug +if not x%DEBUG%==x echo %PROGNAME%: %* +goto :EOF + +:main +call :debug PROGNAME=%PROGNAME% +call :debug DIRNAME=%DIRNAME% +call :debug TOOLS_ROOT=%TOOLS_ROOT% +call :debug TARGET=%TARGET% + +if exist %TARGET% call :call-script & goto :EOF +rem else fail, we can not go on + +echo %PROGNAME%: *ERROR* The target executable does not exist: +echo %PROGNAME%: +echo %PROGNAME%: %TARGET% +echo %PROGNAME%: +echo %PROGNAME%: Please make sure you have checked out the 'tools' module +echo %PROGNAME%: and make sure it is up to date. +goto :EOF + +:call-script +call :debug Executing %TARGET% %ARGS% +call %TARGET% %ARGS% +goto :EOF Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.log =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.log 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.log 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,75 @@ + +configure: + +configure-libraries: + +configure-modules: + +configure-defaults: + +configure-tools: + +_configure:explode:task: + +_configure:jflex:task: + +_configure:xdoclet:task: + +_configure:xdoclet:ejbdoclet: + +_configure:xdoclet:jmxdoclet: + +_configure:xdoclet:hibernatedoclet: + +_configure:xdoclet:webdoclet: + +_configure:cactus:cactus: + [echo] C:\portal-2.2.1/thirdparty/junit-junit/lib + +init: + +generate-classes: + +_default:compile-classes: + [mkdir] Created dir: C:\portal-2.2.1\ig_2.2\output\classes + [mkdir] Created dir: C:\portal-2.2.1\ig_2.2\output\gen\classes + [depend] Deleted 0 out of date files in 0 seconds + [javac] Compiling 10 source files to C:\portal-2.2.1\ig_2.2\output\classes + +_default:check-exists-etc: + +_default:compile-etc: + [mkdir] Created dir: C:\portal-2.2.1\ig_2.2\output\etc + [copy] Copying 1 file to C:\portal-2.2.1\ig_2.2\output\etc + +_default:check-exists-resources: + +_default:compile-resources: + [mkdir] Created dir: C:\portal-2.2.1\ig_2.2\output\resources + [copy] Copying 29 files to C:\portal-2.2.1\ig_2.2\output\resources + [copy] Copied 1 empty directory to C:\portal-2.2.1\ig_2.2\output\resources + +compile: +[jmxdoclet] Jun 2, 2006 12:49:12 PM xdoclet.XDocletMain start +[jmxdoclet] INFO: Running <jbossxmbean/> +[jmxdoclet] Jun 2, 2006 12:49:13 PM xdoclet.TemplateSubTask engineStarted +[jmxdoclet] INFO: Generating output for 'org.jboss.portlet.imagegallery.impl.ImageGalleryModuleImpl' using template file 'jar:file:C:\portal-2.2.1\thirdparty\xdoclet-xdoclet\lib\xdoclet-jboss-module.jar!/xdoclet/modules/jboss/jmx/resources/jbossmx-xml-descriptor.xdt'. +[hibernatedoclet] Jun 2, 2006 12:49:13 PM xdoclet.XDocletMain start +[hibernatedoclet] INFO: Running <hibernate/> +[hibernatedoclet] Generating mapping file for org.jboss.portlet.imagegallery.impl.ImageDetailImpl. +[hibernatedoclet] org.jboss.portlet.imagegallery.impl.ImageDetailImpl +[hibernatedoclet] Generating mapping file for org.jboss.portlet.imagegallery.impl.ImageCollectionImpl. +[hibernatedoclet] org.jboss.portlet.imagegallery.impl.ImageCollectionImpl + +output: + [mkdir] Created dir: C:\portal-2.2.1\ig_2.2\output\lib + [jar] Building jar: C:\portal-2.2.1\ig_2.2\output\lib\portal-imagegallery-lib.jar + [jar] Building jar: C:\portal-2.2.1\ig_2.2\output\lib\portal-imagegallery.war + [jar] Building jar: C:\portal-2.2.1\ig_2.2\output\lib\portal-imagegallery.sar + [copy] Copying 3 files to C:\portal-2.2.1\ig_2.2\output\resources\portal-imagegallery-ear + [jar] Building jar: C:\portal-2.2.1\ig_2.2\output\lib\portal-imagegallery.ear + +deploy: + [copy] Copying 1 file to C:\JBoss\jboss-4.0.3SP1\server\default\deploy + +BUILD SUCCESSFUL Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.sh =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.sh 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.sh 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,49 @@ +#!/bin/sh +## +## Invokes a script of the same name in the 'tools' module. +## +## The 'tools' module is expected to be a peer directory of the directory +## in which this script lives. +## +## @author Jason Dillon <ja...@pl...> +## + +# $Id: build.sh,v 1.1.1.1 2005/01/14 23:12:37 vietj Exp $ + +PROGNAME=`basename $0` +DIRNAME=`dirname $0` + +# Buss it yo +main() { + if [ "x$TOOLS_ROOT" = "x" ]; then + TOOLS_ROOT=`cd $DIRNAME/../tools && pwd` + fi + + MODULE_ROOT=`cd $DIRNAME; pwd` + export TOOLS_ROOT MODULE_ROOT DEBUG TRACE + + # Where is the target script? + target="$TOOLS_ROOT/bin/$PROGNAME" + if [ ! -f "$target" ]; then + echo "${PROGNAME}: *ERROR* The target executable does not exist:" + echo "${PROGNAME}:" + echo "${PROGNAME}: $target" + echo "${PROGNAME}:" + echo "${PROGNAME}: Please make sure you have checked out the 'tools' module" + echo "${PROGNAME}: and make sure it is up to date." + exit 2 + fi + + # Get busy yo! + if [ "x$DEBUG" != "x" ]; then + echo "${PROGNAME}: Executing: /bin/sh $target $@" + fi + if [ "x$TRACE" = "x" ]; then + exec /bin/sh $target "$@" + else + exec /bin/sh -x $target "$@" + fi +} + +# Lets get ready to rumble! +main "$@" Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.xml =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.xml 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/build.xml 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,325 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE project [ + <!ENTITY buildmagic SYSTEM "../tools/etc/buildfragments/buildmagic.ent"> + <!ENTITY tools SYSTEM "../tools/etc/buildfragments/tools.ent"> + <!ENTITY libraries SYSTEM "../tools/etc/buildfragments/libraries.ent"> + <!ENTITY modules SYSTEM "../tools/etc/buildfragments/modules.ent"> + <!ENTITY defaults SYSTEM "../tools/etc/buildfragments/defaults.ent"> + <!ENTITY targets SYSTEM "../tools/etc/buildfragments/targets.ent"> + ]> + +<!-- $Id: build.xml,v 1.13 2005/11/05 15:02:50 bdaw Exp $ --> + +<!--+======================================================================+--> +<!--| JBoss Portal (The OpenSource Portal) Build File |--> +<!--| |--> +<!--| Distributable under LGPL license. |--> +<!--| See terms of license at http://www.gnu.org. |--> +<!--| |--> +<!--| This file has been designed to work with the 'tools' module and |--> +<!--| Buildmagic extentions. |--> +<!--+======================================================================+--> + +<project default="main" name="JBoss Portal Image Gallery"> + + <!--+====================================================================+--> + <!--| Setup |--> + <!--| |--> + <!--| Include the common build elements. |--> + <!--| |--> + <!--| This defines several different targets, properties and paths. |--> + <!--| It also sets up the basic extention tasks amoung other things. |--> + <!--+====================================================================+--> + + &buildmagic; + &libraries; + &modules; + &defaults; + &tools; + &targets; + + <!-- ================================================================== --> + <!-- Initialization --> + <!-- ================================================================== --> + + <!-- + | Initialize the build system. Must depend on '_buildmagic:init'. + | Other targets should depend on 'init' or things will mysteriously fail. + --> + + <target name="init" unless="init.disable" depends="_buildmagic:init"> + </target> + + <!--+====================================================================+--> + <!--| Configuration |--> + <!--| |--> + <!--| This target is invoked by the Buildmagic initialization logic |--> + <!--| and should contain module specific configuration elements. |--> + <!--+====================================================================+--> + + <target name="configure" unless="configure.disable"> + + <!-- Configure some properties --> + <property name="jndi-root" value="portal"/> + + <!-- Configure thirdparty libraries --> + <call target="configure-libraries"/> + <path id="library.classpath"> + <path refid="oswego.concurrent.classpath"/> + <path refid="jboss.system.classpath"/> + <path refid="jboss.j2ee.classpath"/> + <path refid="jboss.server.classpath"/> + <path refid="jakarta.log4j.classpath"/> + <path refid="junit.junit.classpath"/> + <path refid="sun.servlet.classpath"/> + <path refid="jakarta.cactus.classpath"/> + <path refid="jakarta.lucene.classpath"/> + <path refid="jakarta.fileupload.classpath"/> + <path refid="jwebunit.jwebunit.classpath"/> + <path refid="dbunit.dbunit.classpath"/> + </path> + + <!-- Configure modules --> + <call target="configure-modules"/> + <path id="dependentmodule.classpath"> + <path refid="jboss.portal-core.classpath"/> + <path refid="jboss.portal-cms.classpath"/> + <path refid="jboss.portal-format.classpath"/> + <path refid="jboss.portal-common.classpath"/> + <path refid="jboss.portal-portlet.classpath"/> + <path refid="jboss.portal-server.classpath"/> + <path refid="jboss.portlet-api.classpath"/> + <path refid="jboss.hibernate.classpath"/> + </path> + + <!--+=======================================+--> + <!--| Override any default properties here. |--> + <!--+=======================================+--> + + <!-- Configure defaults & build tools --> + <call target="configure-defaults"/> + <call target="configure-tools"/> + + <!--+=======================================+--> + <!--| Define module specific elements here. |--> + <!--+=======================================+--> + <property name="javadoc.private" value="true"/> + <property name="javadoc.protected" value="false"/> + + </target> + + + <!--+====================================================================+--> + <!--| Compile |--> + <!--| |--> + <!--| This target should depend on other compile-* targets for each |--> + <!--| different type of compile that needs to be performed, short of |--> + <!--| documentation compiles. |--> + <!--+====================================================================+--> + + <target name="compile" description="Compile all source files." depends="generate-classes, + _default:compile-classes, + _default:compile-etc, + _default:compile-resources"> + <!-- Add module specific elements here. --> + <jmxdoclet + destDir="${build.classes}"> + <fileset dir="${jboss.portal-common.root}/../src/main"> + <include name="org/jboss/portal/common/system/AbstractJBossService.java"/> + </fileset> + <fileset dir="${jboss.portal-core.root}/../src/main"> + <include name="org/jboss/portal/core/modules/AbstractModule.java"/> + </fileset> + <fileset dir="${source.classes}" includes="**/*.java"/> + <jbossxmbean/> + </jmxdoclet> + <hibernatedoclet + destDir="${build.resources}/portal-imagegallery-sar"> + <fileset dir="${source.java}"> + <include name="**/impl/*Impl.java"/> + </fileset> + <hibernate + version="3.0" + destDir="${build.resources}/portal-imagegallery-sar"/> + </hibernatedoclet> + </target> + + <!-- Generate all class files --> + <target name="generate-classes" depends="init"> + </target> + + <!-- Remove or change the delimiter in hibernate-export if your database has a different deliniter --> + <target name="ddl" depends="output"> + <taskdef + classname="org.hibernate.tool.hbm2ddl.SchemaExportTask" + name="hibernate-export"> + <classpath> + <path refid="javac.classpath"/> + <pathelement location="${build.resources}/test"/> + <fileset dir="${build.lib}" includes="portal-imagegallery-lib.jar"/> + <fileset dir="${jboss.home}/lib" includes="dom4j.jar,commons-logging.jar"/> + <fileset dir="${jboss.hibernate.lib}" includes="commons-collections.jar,odmg.jar"/> + </classpath> + </taskdef> + <mkdir dir="${build.resources}/setup/"/> + <hibernate-export properties="${hibernate.properties}" text="true" quiet="true" delimiter=";" + output="${build.resources}/setup/setup.ddl"> + <fileset dir="${build.resources}/portal-imagegallery-sar" includes="**/*.hbm.xml"/> + </hibernate-export> + </target> + + <!--+====================================================================+--> + <!--| Generate Output |--> + <!--| |--> + <!--| Generates the target output for this module. Target output is |--> + <!--| the output which is ment to be released or used by external |--> + <!--| modules. |--> + <!--+====================================================================+--> + + <target name="output" description="Generate all target output." depends="compile"> + + <mkdir dir="${build.lib}"/> + + <!-- portal-imagegallery-lib.jar --> + <jar jarfile="${build.lib}/portal-imagegallery-lib.jar"> + <fileset dir="${build.classes}"/> + </jar> + + <!-- portal-imagegallery.war --> + <jar jarfile="${build.lib}/portal-imagegallery.war" manifest="${build.etc}/portal-imagegallery-war.mf"> + <fileset dir="${build.resources}/portal-imagegallery-war"/> + <fileset dir="${source.bin}/portal-imagegallery-war"/> + </jar> + + <!-- portal-imagegallery.sar --> + <jar jarfile="${build.lib}/portal-imagegallery.sar"> + <fileset dir="${build.resources}/portal-imagegallery-sar" includes="**/*"/> + <fileset dir="${jakarta.fileupload.root}/lib" includes="commons-fileupload.jar"/> + </jar> + + <!-- portal-imagegallery.ear --> + <copy todir="${build.resources}/portal-imagegallery-ear"> + <fileset dir="${jakarta.lucene.root}/lib" includes="lucene-1.4-final.jar"/> + <fileset dir="${build.lib}" includes="portal-imagegallery.war,portal-imagegallery-lib.jar,portal-imagegallery.sar"/> + </copy> + <jar jarfile="${build.lib}/portal-imagegallery.ear"> + <fileset dir="${build.resources}/portal-imagegallery-ear" includes="**/*"/> + </jar> + </target> + + <target name="explode" depends="init"> + <explode file="${build.lib}/portal-imagegallery.ear" todir="${build.lib}" name="portal-imagegallery-exploded.ear"/> + </target> + + <!-- ================================================================== --> + <!-- Cleaning --> + <!-- ================================================================== --> + + <!-- Clean up all build output --> + <target name="clean" depends="_default:clean"> + <!-- Add module specific elements here. --> + </target> + + <!--+====================================================================+--> + <!--| Documents |--> + <!--| |--> + <!--| Generate all documentation for this module. |--> + <!--+====================================================================+--> + + <target name="docs" depends="_default:docs"> + <!-- Add module specific elements here. --> + </target> + + <!-- ================================================================== --> + <!-- Misc. --> + <!-- ================================================================== --> + + <target name="main" depends="most"/> + <target name="all" depends="_default:all"/> + <target name="most" depends="_default:most"/> + <target name="help" depends="_default:help"/> + + <!-- ================================================================== --> + <!-- Deployment --> + <!-- ================================================================== --> + + <!-- + | Deploy the application + --> + <target name="deploy" description="Deploy." depends="output"> + <require file="${jboss.home}/server/${portal.deploy.dir}/deploy"/> + <copy file="${build.lib}/portal-imagegallery.ear" todir="${jboss.home}/server/${portal.deploy.dir}/deploy"/> + </target> + + <!-- + | Undeploy the application + --> + <target name="undeploy" description="Undeploy." depends="init"> + <require file="${jboss.home}/server/${portal.deploy.dir}/deploy"/> + <delete file="${jboss.home}/server/${portal.deploy.dir}/deploy/portal-imagegallery.ear"/> + </target> + + <target name="test" depends="init"> + + <property name="build.testlog" value="${module.output}/log"/> + + <echo> + <![CDATA[ + ${build.reports} + ${build.testlog} + ${module.output} + ${junit.printsummary} + ${junit.batchtest.haltonerror} + ${junit.batchtest.haltonfailure} + ${junit.batchtest.fork} + ${junit.timeout} + ${junit.jvm} + ]]> + </echo> + + <mkdir dir="${build.reports}"/> + <mkdir dir="${build.testlog}"/> + + <junit dir="${module.output}" printsummary="${junit.printsummary}" haltonerror="${junit.haltonerror}" + haltonfailure="${junit.haltonfailure}" fork="${junit.fork}" timeout="${junit.timeout}" jvm="${junit.jvm}"> + <formatter type="plain" usefile="false"/> + <formatter type="xml" usefile="true"/> + <sysproperty key="build.testlog" value="${build.testlog}"/> + <sysproperty key="build.resources" value="${build.resources}"/> + <!--<test name="org.jboss.portlet.test.imagegallery.AnonymousUserTestCase" /> + <test name="org.jboss.portlet.test.imagegallery.UserTestCase" /> + <test name="org.jboss.portlet.test.imagegallery.AdminTestCase" />--> + <!--<test name="org.jboss.portlet.test.imagegallery.AdminFullTestCase" />--> + <test name="org.jboss.portlet.test.imagegallery.AdminPostTestCase"/> + <test name="org.jboss.portlet.test.imagegallery.AdminEditTopicTypeTestCase"/> + <test name="org.jboss.portlet.test.imagegallery.AdminPollPostEditTestCase"/> + <test name="org.jboss.portlet.test.imagegallery.TopicModelTestCase"/> + <test name="org.jboss.portlet.test.imagegallery.ForumModelTestCase"/> + <test name="org.jboss.portlet.test.imagegallery.CategoryModelTestCase"/> + <test name="org.jboss.portlet.test.imagegallery.PostModelTestCase"/> + <classpath> + <pathelement location="${build.classes}"/> + <!--<pathelement location="${build.resources}/portal-core-sar" />--> + <pathelement location="${build.resources}/portal-imagegallery-sar"/> + <pathelement location="${build.resources}/test"/> + <pathelement location="${jboss.home}/lib/dom4j.jar"/> + <pathelement location="${jboss.config}/lib/hsqldb.jar"/> + <pathelement location="${jboss.config}/lib/jgroups.jar"/> + <pathelement location="${jboss.config}/lib/cglib-full-2.0.1.jar"/> + <path refid="jboss.hibernate.classpath"/> + <path refid="library.classpath"/> + <path refid="dependentmodule.classpath"/> + <pathelement location="${jwebunit.jwebunit.lib}/nekohtml.jar"/> + <pathelement location="${dbunit.dbunit.lib}/dbunit.jar"/> + <pathelement location="${jdbc.connectors.lib}/mysql-connector-java.jar"/> + <pathelement location="${jboss.home}/server/default/deploy/jboss-hibernate.deployer/asm.jar"/> + <pathelement location="${jboss.home}/server/default/deploy/jboss-hibernate.deployer/hibernate3.jar"/> + <pathelement location="${jboss.home}/server/default/deploy/jboss-hibernate.deployer/cglib-2.1.jar"/> + <pathelement location="${jboss.home}/server/default/deploy/jboss-hibernate.deployer/antlr-2.7.5H3.jar"/> + <!--<path refid="jboss.hibernate.classpath"/>--> + <path refid="library.classpath"/> + </classpath> + </junit> + + </target> +</project> Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/portal-imagegallery.ear =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/portal-imagegallery.ear ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/Thumbs.db =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/Thumbs.db ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/add.gif =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/add.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/back.gif =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/back.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/delete.gif =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/delete.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/edit.gif =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/edit.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/next.gif =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/next.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/previous.gif =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/previous.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/view.gif =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/bin/portal-imagegallery-war/images/view.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/etc/portal-imagegallery-war.mf =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/etc/portal-imagegallery-war.mf 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/etc/portal-imagegallery-war.mf 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Created-By: @java.vm.version@ (@java.vm.vendor@) +Specification-Title: @specification.title@ +Specification-Version: @specification.version@ +Specification-Vendor: @specification.vendor@ +Implementation-Title: @implementation.title@ +Implementation-URL: @implementation.url@ +Implementation-Version: @implementation.version@ +Implementation-Vendor: @implementation.vendor@ +Implementation-Vendor-Id: @implementation.vendor.id@ +Class-Path: ./portal-imagegallery-lib.jar Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/Const.java =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/Const.java 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/Const.java 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,98 @@ + +package org.jboss.portlet.imagegallery; + +/** + * This is a file of constants that are used for the image gallery + * portlet. These are parameters that will be passed within the portlet. + * + * @author <a href="im...@ho...">Ron & Conrad Kanengieter</a> + * $Revision: 1.5.6.1 $ + */ +public class Const +{ + // Basic sub operations + public static final String OP = "op"; + public static final String OP_ADD = "add"; + public static final String OP_EDIT = "edit"; + public static final String OP_DELETE = "delete"; + public static final String OP_CANCEL = "cancel"; + public static final String OP_VIEW = "view"; + public static final String OP_SUB = "subop"; + public static final String OP_REDIRECT = "redirect"; + public static final String OP_CMS_ACTION = "cmsAction"; + public static final String OP_BROWSE_CMS = "browseCMSSystem"; + + // Operations for image collection + public static final String OP_COLLECTIONVIEW = "collectionView"; + public static final String OP_COLLECTIONEDIT = "collectionEdit"; + public static final String OP_COLLECTIONDELETE = "collectionDelete"; + public static final String OP_COLLECTIONADD = "collectionAdd"; + public static final String OP_COLLECTIONS = "collections"; + + // Actions for image collection + public static final String ACTION_VIEWCOLLECTION = "viewCollection"; + public static final String ACTION_EDITCOLLECTION = "editCollection"; + public static final String ACTION_DELETECOLLECTION = "deleteCollection"; + public static final String ACTION_ADDCOLLECTION = "addCollection"; + + // Operations for image detail + public static final String OP_DETAILVIEW = "detailView"; + public static final String OP_DETAILEDIT = "detailEdit"; + public static final String OP_DETAILDELETE = "detailDelete"; + public static final String OP_DETAILADD = "detailAdd"; + public static final String OP_DETAILS = "details"; + public static final String OP_IMAGEDETAIL = "imagedetail"; + + // Actions for image detail + public static final String ACTION_VIEWDETAIL = "viewDetail"; + public static final String ACTION_EDITDETAIL = "editDetail"; + public static final String ACTION_DELETEDETAIL = "deleteDetail"; + public static final String ACTION_ADDDETAIL = "addDetail"; + + // Action for returning to a file + public static final String ACTION_CAPTURE_CMS = "captureCMS"; + + // Special operations + public static final String OP_CMS_VIEW = "viewCMS"; + + // Image width constants + public static final Integer THUMBNAIL_WIDTH = new Integer(100); + public static final Integer IMAGE_WIDTH = new Integer(500); + + // Constants for input form data + public static final String CTX = "ctx"; + public static final String MSG = "msg"; + public static final String DETAIL_ID = "detailID"; + public static final String COLLECTION_ID = "collectionID"; + public static final String NAME = "name"; + public static final String DESCRIPTION = "description"; + public static final String FEATURED_FLAG = "featuredFlag"; + public static final String FEATURED_CHECKED ="featuredChecked"; + public static final String BASE_PATH = "basePath"; + public static final String THUMBNAIL_PATH = "thumbnailPath"; + public static final String IMAGE_PATH = "imagePath"; + public static final String SHOW_THUMBNAIL = "showThumbnail"; + public static final String SHOW_IMAGE = "showImage"; + public static final String PHOTOGRAPHER = "photographer"; + public static final String REDIRECT = "redirectToLocation"; + + // Constants for browsing individual images + public static final String ID_INDEX = "IDindex"; + public static final String ID_COUNTER = "IDcount"; + public static final String ID_NEXT = "NextID"; + public static final String ID_PREVIOUS = "PreviousID"; + + // Constants for browsing the CMS File System + public static final String CMS_THUMBNAIL = "thumbnails"; + public static final String CMS_IMAGE = "images"; + public static final String CMS_FOLDER = "cmsFolder"; + public static final String CMS_ACTION = "cmsAction"; + public static final String CMS_FILE_NAME = "cmsFileName"; + public static final String CMS_FILE_PATH = "cmsFilePath"; + public static final String CMS_FILE_LAST_MODIFIED = "cmsFileLastModified"; + public static final String CMS_FILE_CREATION_DATE = "cmsFileCreationDate"; + + // Change this when the CMS Root Path changes in the JBoss Portal. + public static final String CMS_ROOT = "/portal/content"; + +} Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/DataHelper.java =================================================================== --- labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/DataHelper.java 2006-06-02 18:40:23 UTC (rev 4580) +++ labs/portletswap/imagegalleryportlet/trunk/ig_2.2/src/main/org/jboss/portlet/imagegallery/DataHelper.java 2006-06-02 18:42:43 UTC (rev 4581) @@ -0,0 +1,337 @@ + +package org.jboss.portlet.imagegallery; + +import org.jboss.portal.common.context.DelegateContext; +import org.jboss.portlet.imagegallery.model.*; +import org.jboss.portlet.imagegallery.ImageGalleryPortlet; +import org.jboss.portlet.JBossActionRequest; +import org.jboss.portlet.JBossPortlet; +import org.jboss.portlet.JBossRenderRequest; + +import org.jboss.portal.cms.model.Folder; +import org.jboss.portal.cms.impl.FolderImpl; +import org.jboss.portal.cms.model.File; +import org.jboss.portal.cms.impl.FileImpl; +import org.jboss.portal.cms.util.FileUtil; + +/** + * @author <a href="im...@ho...">Ron & Conrad Kanengieter</a> + * $Revision: 1.5.6.1 $ + */ +public class DataHelper +{ + public DataHelper() + { + } + + /** + * Load the ctx with key-values from the imagecollection. + * @param imageCollection is the imagecollection object. + * @param ctx is the ctx object to be loaded. + */ + public void getCtxCollection(ImageCollection imageCollection, DelegateContext ctx) + { + ctx.put(Const.COLLECTION_ID, imageCollection.getID()); + ctx.put(Const.NAME, imageCollection.getName()); + ctx.put(Const.DESCRIPTION, imageCollection.getDescription()); + ctx.put(Const.BASE_PATH, imageCollection.getBasePath()); + ctx.put(Const.THUMBNAIL_PATH, imageCollection.getThumbnailPath()); + String sThumbnail = FileUtil.cleanDoubleSlashes(imageCollection.getBasePath() + + "/" + imageCollection.getThumbnailPath()); + ctx.put(Const.SHOW_THUMBNAIL, sThumbnail); + + if (imageCollection.getFeaturedFlag().booleanValue() == true) + { + ctx.put(Const.FEATURED_FLAG, "True"); + ctx.put(Const.FEATURED_CHECKED, "checked"); + } + else + { + ctx.put(Const.FEATURED_FLAG, "False"); + ctx.put(Const.FEATURED_CHECKED, ""); + } + } + + + /** + * Load the ctx with key-values from the imagecollection and imagedetail. + * @param imageCollection is the imagecollection object. + * @param imageDetail is the imagedetail object. + * @param ctx is the ctx object to be loaded. + */ + public void getCtxDetail(ImageCollection imageCollection, + ImageDetail imageDetail, + DelegateContext ctx) + { + ctx.put(Const.COLLECTION_ID, imageCollection.getID()); + ctx.put(Const.DETAIL_ID, imageDetail.getID()); + ctx.put(Const.NAME, imageDetail.getName()); + ctx.put(Const.DESCRIPTION, imageDetail.getDescription()); + ctx.put(Const.THUMBNAIL_PATH, imageDetail.getThumbnailPath()); + String sThumbnail = FileUtil.cleanDoubleSlashes(imageCollection.getBasePath() + + "/" + imageDetail.getThumbnailPath()); + ctx.put(Const.SHOW_THUMBNAIL, sThumbnail); + String sImage = FileUtil.cleanDoubleSlashes(imageCollection.getBasePath() + + "/" + imageDetail.getImagePath()); + ctx.put(Const.SHOW_IMAGE, sImage); + ctx.put(Const.IMAGE_PATH, imageDetail.getImagePath()); + ctx.put(Const.PHOTOGRAPHER, imageDetail.getPhotographer()); + } + + + /** + * Load the ctx with blank key-values for forms. + * @param ctx is the ctx object to be loaded. + */ + public void getFormCtxInit(DelegateContext ctx) + { + String imageGalleryRoot = FileUtil.cleanDoubleSlashes(Const.CMS_ROOT + "/gallery"); + ctx.put(Const.MSG, ""); + ctx.put(Const.DETAIL_ID, ""); + ctx.put(Const.COLLECTION_ID, ""); + ctx.put(Const.NAME, ""); + ctx.put(Const.DESCRIPTION, ""); + ctx.put(Const.FEATURED_FLAG, ""); + ctx.put(Const.BASE_PATH, imageGalleryRoot); + ctx.put(Const.THUMBNAIL_PATH, ""); + ctx.put(Const.IMAGE_PATH, ""); + ctx.put(Const.SHOW_THUMBNAIL, ""); + ctx.put(Const.SHOW_IMAGE, ""); + ctx.put(Const.PHOTOGRAPHER, ""); + ctx.put(Const.REDIRECT, ""); + ctx.put(Const.OP_SUB, ""); + + } + + + /** + * Load the ctx with key-values from the collection form. + * @param req is the object containing the collection form parameters. + * @param ctx is the ctx object to be loaded. + */ + public void getFormCtxCollection(JBossActionRequest req, DelegateContext ctx) + { + Integer id = req.getParameters().getIntObject(Const.COLLECTION_ID); + String name = req.getParameter(Const.NAME); + String description = req.getParameter(Const.DESCRIPTION); + String basePath = req.getParameter(Const.BASE_PATH); + String thumbnailPath = req.getParameter(Const.THUMBNAIL_PATH); + String featuredFlag = req.getParameter(Const.FEATURED_FLAG); + String opSub = req.getParameter(Const.OP_SUB); + String opRedirect = req.getParameter(Const.OP_REDIRECT); + String opCmsAction = req.getParameter(Const.OP_CMS_ACTION); + String checkPath = null; + + if (name != null) + ctx.put(Const.NAME, name); + else + ctx.put(Const.NAME, ""); + + if (description != null) + ctx.put(Const.DESCRIPTION, description); + else + ctx.put(Const.DESCRIPTION, ""); + + if (basePath != null) + { + // Trim off the CMS root path if present for CMS path. + if (basePath.startsWith(Const.CMS_ROOT)) + { + checkPath = basePath.substring(Const.CMS_ROOT.length()); + } + else + { + checkPath = FileUtil.cleanDoubleSlashes("/" + basePath); + basePath = FileUtil.cleanDoubleSlashes(Const.CMS_ROOT + "/" + basePath); + } + checkPath = FileUtil.cleanDoubleSlashes(checkPath + "/"); + + // Remove ending slash from base path if present. + if (basePath.endsWith("/")) + { + basePath = basePath.substring(0, basePath.length() - 1); + } + ctx.put(Const.BASE_PATH, basePath); + ctx.put(Const.CMS_FOLDER, checkPath); + } + else + { + ctx.put(Const.BASE_PATH, ""); + ctx.put(Const.CMS_FOLDER, ""); + } + + if (thumbnailPath != null) + ctx.put(Const.THUMBNAIL_PATH, thumbnailPath); + else + ctx.put(Const.THUMBNAIL_PATH, ""); + + ctx.put(Const.FEATURED_CHECKED, ""); + if (featuredFlag != null) + { + ctx.put(Const.FEATURED_FLAG, featuredFlag); + if (featuredFlag.equals("true")) + ctx.put(Const.FEATURED_CHECKED, "checked"); + } + else + ctx.put(Const.FEATURED_FLAG, ""); + + if (opSub != null) + ctx.put(Const.OP_SUB, opSub); + else + ctx.put(Const.OP_SUB, ""); + + if (opRedirect != null) + ctx.put(Const.OP_REDIRECT, opRedirect); + else + ctx.put(Const.OP_REDIRECT, ""); + + if (opCmsAction != null) + ctx.put(Const.OP_CMS_ACTION, opCmsAction); + else + ctx.put(Const.OP_CMS_ACTION, ""); + + if (id != null) + ctx.put(Const.COLLECTION_ID, id.toString()); + } + + + /** + * Load the ... [truncated message content] |
From: <jbo...@li...> - 2006-06-02 18:35:26
|
Author: conkan Date: 2006-06-02 14:34:27 -0400 (Fri, 02 Jun 2006) New Revision: 4579 Added: labs/portletswap/imagegalleryportlet/trunk/frog.zip labs/portletswap/imagegalleryportlet/trunk/images.zip labs/portletswap/imagegalleryportlet/trunk/satellite.zip labs/portletswap/imagegalleryportlet/trunk/thumbnails.zip Log: Added: labs/portletswap/imagegalleryportlet/trunk/frog.zip =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/frog.zip ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/images.zip =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/images.zip ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/satellite.zip =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/satellite.zip ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/portletswap/imagegalleryportlet/trunk/thumbnails.zip =================================================================== (Binary files differ) Property changes on: labs/portletswap/imagegalleryportlet/trunk/thumbnails.zip ___________________________________________________________________ Name: svn:mime-type + application/octet-stream |
From: <jbo...@li...> - 2006-06-02 18:26:29
|
Author: conkan Date: 2006-06-02 14:26:25 -0400 (Fri, 02 Jun 2006) New Revision: 4578 Removed: labs/portletswap/imagegalleryportlet/trunk/ig_2.0/gallery/ Log: |
From: <jbo...@li...> - 2006-06-02 18:18:13
|
Author: conkan Date: 2006-06-02 14:18:09 -0400 (Fri, 02 Jun 2006) New Revision: 4576 Removed: labs/portletswap/imagegalleryportlet/trunk/portal_2.2/ Log: |
From: <jbo...@li...> - 2006-06-02 18:16:56
|
Author: conkan Date: 2006-06-02 14:16:50 -0400 (Fri, 02 Jun 2006) New Revision: 4575 Added: labs/portletswap/imagegalleryportlet/trunk/ig_2.0/ Removed: labs/portletswap/imagegalleryportlet/trunk/portal_2.0/ Log: Copied: labs/portletswap/imagegalleryportlet/trunk/ig_2.0 (from rev 4574, labs/portletswap/imagegalleryportlet/trunk/portal_2.0) |