Scott T Weaver wrote:
That isn't a new class.  I don't know why it isn't there.  Probably
Subversion acting up again :(
I do have FragmentNotInLayoutException, just not the correct constructor.
You changed the usage like this:
-            throw new FragmentNotInLayoutException((fragment == null)? "null 
fragment": fragment.getId());
+            throw new FragmentNotInLayoutException(fragment);



-Scott


-----Original Message-----
From: Ate Douma [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 17, 2005 3:41 PM
To: Jetspeed Developers List
Subject: Re: svn commit: r233228 - /portals/jetspeed-2/trunk/layout-
portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java

Scott,

You need to commit your local update to FragmentNotInLayoutException as
trunk currently is broken:

    [javac] Compiling 13 source files to D:\workspace\jetspeed-2\layout-
portlets\target\classes
    [javac] D:\workspace\jetspeed-2\layout-
portlets\src\java\org\apache\jetspeed\portlets\layout\ColumnLayout.java:65
8:
cannot find symbol
    [javac] symbol  : constructor
FragmentNotInLayoutException(org.apache.jetspeed.om.page.Fragment)
    [javac] location: class
org.apache.jetspeed.portlets.layout.FragmentNotInLayoutException
    [javac]             throw new FragmentNotInLayoutException(fragment);
    [javac]                   ^
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 1 error

[EMAIL PROTECTED] wrote:

Author: weaver
Date: Wed Aug 17 11:13:08 2005
New Revision: 233228

URL: http://svn.apache.org/viewcvs?rev=233228&view=rev
Log:
Column widths have been internalized into the ColumnLayout model object.

Modified:
   portals/jetspeed-2/trunk/layout-

portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java

Modified: portals/jetspeed-2/trunk/layout-

portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java

URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-

portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java?re
v=233228&r1=233227&r2=233228&view=diff

==========================================================================
====

--- portals/jetspeed-2/trunk/layout-

portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java
(original)

+++ portals/jetspeed-2/trunk/layout-

portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java
Wed Aug 17 11:13:08 2005

@@ -75,6 +75,9 @@
    /** SortedMap of Columns (which are also sorted maps */
    private final SortedMap columns;

+    /** Width settings for eacah column */
+    private final String[] columnWidthes;
+
    /**
     * The type of layout this is, required for extract row/column

properties

     * from a fragment.
@@ -88,7 +91,7 @@
    private final Map coordinates;

    /** All of the LayoutEventListeners registered to this layout */
-    private final List eventListeners;
+    private final List eventListeners;

    /**
     *
@@ -102,10 +105,11 @@
     *            formats without one format effecting the settings of

another.

     * @see org.apache.jetspeed.om.page.Fragment#getType()
     */
-    public ColumnLayout(int numberOfColumns, String layoutType)
+    public ColumnLayout(int numberOfColumns, String layoutType,

String[] columnWidthes)

    {
        this.numberOfColumns = numberOfColumns;
        this.layoutType = layoutType;
+        this.columnWidthes = columnWidthes;
        eventListeners = new ArrayList();

        columns = new TreeMap();
@@ -142,9 +146,9 @@
     * @param fragments Initial set of fragments to add to this layout.
     * @throws LayoutEventException
     */
-    public ColumnLayout(int numberOfColumns, String layoutType,

Collection fragments) throws LayoutEventException

+    public ColumnLayout(int numberOfColumns, String layoutType,

Collection fragments, String[] columnWidthes) throws LayoutEventException

    {
-        this(numberOfColumns, layoutType);
+        this(numberOfColumns, layoutType, columnWidthes);
        Iterator fragmentsItr = fragments.iterator();
        try
        {
@@ -232,6 +236,61 @@
    {
        return

Collections.unmodifiableCollection(getColumnMap(columnNumber).values());

    }
+
+    /**
+     * returns the width to be used with the specified column.  If
+     * there is no specific column setting sfor the specified column
+     * 0 is returned.
+     *
+     * @param columnNumber whose width has been requested.
+     * @return the width to be used with the specified column.  Or 0 if

no value

+     * has been specified.
+     */
+    public int getColumnWidth(int columnNumber)
+    {
+        if (columnNumber < numberOfColumns)
+        {
+            String stringValue = columnWidthes[columnNumber];
+            if (stringValue.endsWith("%"))
+            {
+                return Integer.parseInt(stringValue.substring(0,

(stringValue.length() - 1)));

+            }
+            else
+            {
+                return Integer.parseInt(stringValue);
+            }
+        }
+        else
+        {
+            return 0;
+        }
+    }
+
+    /**
+     * IE has a non-conformant box modle that takes into account both

padding

+     * and margin settings.  You can use this method to return the

column width

+     * reduced by the <code>reductionAmount</code> to prevent unwanted
+     * scrolling/wrapping.
+     *
+     *
+     * @param columnNumber whose width has been requested.  Will be

reduced by

+     * the <code>reductionAmount</code> argument.
+     * @param reductionAmount amount to subtract from the column's

width setting

+     * @return column width reduced by the

<code>reductionAmount</code>.

+     */
+    public int getSafeColumnWidth(int columnNumber, int

reductionAmount)

+    {
+        int columnWidth = getColumnWidth(columnNumber);
+        if(columnWidth > 0)
+        {
+            return (columnWidth - reductionAmount);
+        }
+        else
+        {
+            return 0;
+        }
+
+    }

    /**
     * @return <code>java.util.Collection</code> all of columns (also
@@ -596,7 +655,7 @@
        }
        else
        {
-            throw new FragmentNotInLayoutException((fragment == null)?

"null fragment": fragment.getId());

+            throw new FragmentNotInLayoutException(fragment);
        }
    }




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to