facebook

cut and paste in jsp editor broken

  1. MyEclipse IDE
  2.  > 
  3. Java EE Development (EJB, JSP, Struts, XDoclet, etc.)
Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #252107 Reply

    chewzoey
    Member

    On large complex jsp pages has anyone had cut and past stop working correctly. It seems to stop copying selected text to clipboard and I am stuck with previous selection

    version: 4.1.1GA
    Build id: 60060309-4.1.1-GA

    #252140 Reply

    Riyad Kalla
    Member

    What is your version and Build ID of Eclipse? We had copy/paste problems in the 3.x series but most of them were alleviated in the 4.x series.

    #254305 Reply

    kldavis4
    Member

    In JSP Editor build 20060309-4.1.1-GA, the cut and paste still breaks on complex jsps.

    #254313 Reply

    Riyad Kalla
    Member

    I would like both of you, if you have a chance, to download Eclipse 3.2 GA from the eclipse site, then install MyEclipse 5.0 Milestone 2 when we release it (any day now) into new folders with a new workspace and test your complex JSP to see if it copy-pastes correctly. There were a LOT of changes/updates/enhancements to the editors.

    #254316 Reply

    kldavis4
    Member

    Thanks, I will try milestone 2. Below is a test case which causes the behavior (no cutnpaste, backwards typing, etc). I can quickly cause it by editing one of the forms adding more hidden inputs and accidentally mistyping.

    
    <%@ page import="java.io.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.text.DateFormat" %>
    <%@ page import="java.text.SimpleDateFormat" %>
    
    <%
    /*  Copyright(c) 2003 - Duke University */
    /*
     * History:
     *
     *  24 Feb   2003  CGM - Moved all navigation/view mode controls to side panel.
     */
    
    /*try {*/ %>
    
        <%!
          public static String SCREEN = "screen";
          public static String VIEW = "view";
          public static String SHOW_TERMS = "show";
          public static String ALL_REALMS = "";
          public static String ALL_SECTIONS = "";
          public static String TERM_NAME = "";
          public static String TERMSEG_NAME = "";
          public static String DATE = "";
          public static String PRINTER_FRIENDLY = "";
          public static String EXPAND_DETAILS = "";
          public static String WEEK_NAME = "";
          public static String DAY_INDEX = "";
          public static String LAYOUT = "";
          public static String NO = "";
          public static String ARGNAME_DEFAULT_SYSTYPE   =    "";
          public static String MODE = "";
          public static String EVENT_NAME = "";
          public static String EVENT_TYPE = "";
          public static String EVENT_PANE = "";
        public class Component
        {
        
        }
        
        public class ComponentLink
        {
        
        }
        
        public class Realm
        {
        
        }
        
        public class Event
        {
          public Realm getRealm()
          {
            return new Realm();
          }
        }
        
        public class EventSection
        {
          public Event getEvent()
          {
            return new Event();
          }
        }
        public class EventType
        {
          public EventType baseEventType()
          {
            return this;
          }
          
          public String getTypeName()
          {
            return "";
          }
          
          public String getTitle()
          {
            return "";
          }
        }
        
        public class RealmType
        {
        
        }
        
        /**
         * formats event start time for display in calendar.
         */
        private String formatEventStartTime( EventSection eventSection,
                                                    boolean isOngoingEvent,
                                                    boolean isDayView,
                                                    java.util.Calendar calendar,
                                                    DateFormat monthDayFormat,
                                                    DateFormat timeFormat )
            throws Exception
        {
            return "";
        }
    
        /**
         * formats event start time for display in calendar.
         */
        private String formatEventEndTime( EventSection eventSection,
                                                  boolean isOngoingEvent,
                                                  boolean isDayView,
                                                  java.util.Calendar calendar,
                                                  DateFormat monthDayFormat,
                                                  DateFormat timeFormat )
            throws Exception
        {
            return "";
        }
    
        %>
    
    <%
        // get view information
        String view = "";
        boolean isDayView = true;
        boolean isWeekView = true;
        boolean isTermView = true;
    
        // gather other parameters
        String allRealms = "";
        String termName = "";
        String termSegmentName = "";
        String weekName = "";
        String dayIndex = "";
        String dateStr = "";
        boolean allSections = true;
    
        // get calendar mode, supported views
        boolean isCustomCalendar = true;
    
        // is view printer friendly
        boolean printerFriendly = true;
        boolean expandDetails = true;
    
        // get realm, schedule, etc.
    //    Realm realm = KCServlet.getRealm(request);
        boolean isTeam = false;
    //    Schedule schedule = (Schedule)request.getAttribute(CalendarViewServlet.BEAN_SCHEDULE);
    //    String calendarTitle = realm.getTitle();
    
        // get custom calendar periods
    //    TimePeriod term = (TimePeriod)request.getAttribute(CalendarViewServlet.BEAN_TERM);
    //    TimePeriod termSegment = (TimePeriod)request.getAttribute(CalendarViewServlet.BEAN_TERMSEG);
    //    TimePeriod weekPeriod = (TimePeriod)request.getAttribute(CalendarViewServlet.BEAN_WEEK);
    //    if ( isCustomCalendar && (term == null || termSegment == null || weekPeriod == null)) {
    //        throw new PlatformException("Custom Calendar for this Realm has not been fully defined down to the Week level.\n\n"+
    //                                    "Please have the administrator configure this properly in TimePeriods admin function.");
    //    }    
    
        // get time zone
        TimeZone preferredTimeZone;
        try {
          preferredTimeZone = null;
        } catch ( Exception e ) {
            throw new Exception("The following error occured while getting preferred TimeZone\n\n"+e.getMessage());
        }
    
    Object term = null;
        // create calendar object
        java.util.Calendar calendar = java.util.Calendar.getInstance(preferredTimeZone);
    
        // show all sections ONLY if current realm has Program or Course sections
        boolean realmHasSections = false;
    
        // get user preference for 12 or 24 hour time display
        boolean time24hour;
        try {
            time24hour = false;
        } catch ( Exception e ) {
            throw new Exception("The following error occured in isCalendarDisplay24Hour()\n\n"+e.getMessage());
        }
    
        // initialize date formats
        SimpleDateFormat monthDayFormat = new SimpleDateFormat("M/dd");
        monthDayFormat.setTimeZone(preferredTimeZone);
        SimpleDateFormat monthDayYearFormat = new SimpleDateFormat("d MMMM yyyy");
        monthDayYearFormat.setTimeZone(preferredTimeZone);
        SimpleDateFormat dayFormat = new SimpleDateFormat("EEEE, d MMM yyyy");
        dayFormat.setTimeZone(preferredTimeZone);
        DateFormat dateTimeFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT);
        dateTimeFormat.setTimeZone(preferredTimeZone);
        SimpleDateFormat timeFormat = new SimpleDateFormat(time24hour ? "HH:mm" : "hh:mm a");
        timeFormat.setTimeZone(preferredTimeZone);
    
        // Get current time/date stamp.
        SimpleDateFormat todayFormat = new SimpleDateFormat(time24hour
                                                            ? "EEE, d MMM yyyy, HH:mm z"
                                                            : "EEE, d MMM yyyy, h:mm a z");
        todayFormat.setTimeZone(preferredTimeZone);
        String todayStr = todayFormat.format(new Date());
    
        // compute term start and end date strings
        SimpleDateFormat termFormat = new SimpleDateFormat("d MMM yyyy");
        termFormat.setTimeZone(preferredTimeZone);
        Object termSegment = null;
        String termStart = termSegment != null ? "" : "";
        String termEnd = termSegment != null ? "" : "";
    
        // Generate the date display title
        String dateDisplayTitle = "";
        if ( isWeekView ) { 
            String dateRange;
            if ( isCustomCalendar ) {
                dateDisplayTitle = "" + " - ";
                dateRange = new String( "" );
            } else {        
                dateRange = (String)request.getAttribute("");
            }
            String startDateStr = dateRange;//monthDayYearFormat.format(dateRange.getStartDate());
            calendar.setTime(new Date());
            calendar.add(Calendar.DATE, -1);
            String endDateStr = monthDayYearFormat.format(calendar.getTime());
            dateDisplayTitle = dateDisplayTitle + startDateStr + " to " + endDateStr;
        } else if (isDayView) {
            Date displayDate;
            if ( isCustomCalendar ) {
                int selectedDay = 0;
                calendar.add(Calendar.DATE, selectedDay);
                dateDisplayTitle =  " - ";
                displayDate = calendar.getTime();
            } else {
                displayDate = null;
            }    
            dateDisplayTitle = dateDisplayTitle + dayFormat.format(displayDate);
        } else if (isTermView) { 
                dateDisplayTitle = "Term Schedule";
        }
    
        // check if user is a student
        boolean isEventManager = false;
        boolean isPrivilegedUser;
        try {    
          isPrivilegedUser = false;
        } catch ( Exception e ) {
            throw new Exception("The following error occured in isPrivilegedUser()\n\n"+e.getMessage());
        }
        boolean includeAllSections = isPrivilegedUser || allSections;
        String allSectionsStr = "";
        String realmHomeURL = "";
    
        // check browser type
        boolean msie = false;
        boolean netscape4 = false;
        String userAgent = request.getHeader("User-Agent");
        if (userAgent.indexOf("MSIE") >= 0)
            msie = true;
        else
            netscape4 = true;
        // Mozilla and New version of Netscape use IE code...
        if (userAgent.indexOf("Mozilla") >=0 ) {
            String versionStr = userAgent.substring(8,11);
            float version = (Double.valueOf(versionStr)).floatValue();
            if ( version >= 5.0 ) {
                msie = true;
                netscape4 = false;
            }
            }
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    
    <HEAD>
        <TITLE>Calendar View</TITLE>
        <%  out.flush(); %>
    
        <STYLE TYPE='text/css'>
    <%   // write out the Browser specific style sheet information
        if (netscape4) { %>
           .parent {position:absolute; visibility:hidden}
           .child {position:absolute; visibility:hidden}
           .regular {position:absolute; visibility:hidden}
    <%  } else { %>
           .child {display:block}
    <%  } %>
        </STYLE>
    
    </HEAD>
    
    <BODY CLASS="calendar" ONLOAD="initIt()" ONRESIZE="fixNetscapeCSS()">
    
    <div id="b_printerFriendly" style="display: none;"><%=printerFriendly?"true":"false"%></div>
    <div id="b_isCustomCalendar" style="display: none;"><%=isCustomCalendar?"true":"false"%></div>
    <div id="calendar_isExpanded" style="display: none;"><%=expandDetails%></div>
    
        <!-- Header -->
        <TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
        <% if (term != null && termSegment != null) { %>
        <TR>
            <TD colspan="3">
                <DIV CLASS="currentDate">
                <%= "" %> - <%= termSegment.toString() %> (<%= termStart %> - <%= termEnd %>)
                </DIV>
            </TD>
        </TR>
        <% } %>
        <TR>
            <TD colspan="3">
            <TABLE CELLPADDING="0" CELLSPACING="0" BORDER=0 WIDTH=100%>
            <TR>
                <TD colspan="3">
                <DIV CLASS="currentDate"><%=dateDisplayTitle%></DIV>
          </TD>
          <%
            if (isEventManager && isTeam && !printerFriendly) {
                RealmType realmType = null;
                Vector/*<EventType>*/ eventTypesVector = new Vector();
                
                String excludeListString = "";
                
                if ( excludeListString.length() > 0 )
                {
                 Enumeration enumeration = eventTypesVector.elements();
                 
                  String[] excludeList = excludeListString.split( "," );
                  
                  Vector filteredEventList = new Vector();
                  while ( enumeration.hasMoreElements() )
                  {
                    EventType eventType = (EventType)enumeration.nextElement();
                    
                   boolean found = false;
                   for ( int i = 0; i < excludeList.length; i++ )
                   {
                    if ( eventType.getTypeName().equals( excludeList[i] ) )
                    {
                      found = true;
                      break;
                    }
                   }
                   
                   if ( !found )
                     filteredEventList.add( eventType );
                  }
                  
                  eventTypesVector = filteredEventList;
                }
                    
                if (!eventTypesVector.isEmpty()) {
          %>
          <TD align="right">
            Schedule: 
          <%                
                    Enumeration eventTypes = eventTypesVector.elements();
                
                    while (eventTypes.hasMoreElements()) {
                        EventType eventType = (EventType)eventTypes.nextElement();
          %>
            <A HREF="javascript:addEvent('<%=eventType.getTypeName()%>')"><%=eventType.getTitle()%></A>
          <%
                        if (eventTypes.hasMoreElements())
                            out.print(" | ");
                    }
          %>
          </TD>
          <%
                }
            }
          %>
        </TR>
        </TABLE>
            </TD>
        </TR>
        <TR>
            <TD> </TD>
        </TR>
        </TABLE>
    
    <!-- Start displaying the events themselves -->
    <%
    Object schedule = null;
       int itemCount = 0;
       for (int eventGroup = 0; eventGroup <= 1; eventGroup++)
       {
           if (schedule == null)
               continue;
    
           String lastEventType = null;
    
           Vector/*<DateRange.Overlap>*/ overlapsVector = new Vector();
           boolean isOngoingEvent;
           if (eventGroup == 0) // current events
           {
               overlapsVector.addElement(null);
               overlapsVector.addElement(null);
               isOngoingEvent = false;
           }
           else  // ongoing events
           {
               overlapsVector.addElement(null);
               overlapsVector.addElement(null);
               isOngoingEvent = true;
           }
    
           Vector/*<EventSection>*/ eventSectionsVector =  null;
           if (eventSectionsVector.size() == 0)
               continue;
    %>
        <% if (eventGroup == 1) { %>
        <!-- Output header for ongoing events -->
        <DIV class="regular" ID="Regular<%=itemCount%>">
            <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1" WIDTH="95%">
            <TR>
                <TD ROWSPAN=2> </TD>
                <TD> </TD>
                <TD width=95% BGCOLOR="#dddddd" CLASS="tourTitle">Ongoing Events</TD>
            </TR>
            <TR>
                <TD COLSPAN=3> </TD>
            </TR>
            </TABLE>
        </DIV>
        <% } %>
    <%
        String sortOrder = null;
        Enumeration/*<EventSection>*/ eventSections = null;
        while (eventSections.hasMoreElements()) {
            // get event section and associated realm
            EventSection eventSection = (EventSection)eventSections.nextElement();
            Event event = eventSection.getEvent();
            Realm eventRealm = event.getRealm();
            String eventType = "";
    
            if (eventGroup != 1 && sortOrder.equalsIgnoreCase("event-type") && !eventType.equals(lastEventType))
            {
    %>
                <DIV class="regular" ID="Regular<%=itemCount%>">
                    <TABLE CELLSPACING="0" CELLPADDING="1" WIDTH="95%">
                    <TR>
                        <TD ROWSPAN=2><IMG SRC="../media/_calendaricon3.gif" WIDTH="30" HEIGHT="30" HSPACE="5" BORDER="0"></TD>
                        <TD> </TD>
                        <TD width=95% BGCOLOR="#dddddd" CLASS="tourTitle"><%=event.toString()%></TD>
                    </TR>
                    <TR>
                        <TD COLSPAN=3> </TD>
                    </TR>
                    </TABLE>
                </DIV>
    <%
            }
            else if (eventGroup != 1 && sortOrder.equalsIgnoreCase("realm") && !eventRealm.equals(""))
            {
    %>
                <DIV class="regular" ID="Regular<%=itemCount%>">
                    <TABLE CELLSPACING="0" CELLPADDING="1" WIDTH="95%">
                    <TR>
                        <TD ROWSPAN=2><IMG SRC="../media/_calendaricon3.gif" WIDTH="30" HEIGHT="30" HSPACE="5" BORDER="0"></TD>
                        <TD> </TD>
                        <TD width=95% BGCOLOR="#dddddd" CLASS="tourTitle"><%=eventRealm.toString()%></TD>
                    </TR>
                    <TR>
                        <TD COLSPAN=3> </TD>
                    </TR>
                    </TABLE>
                </DIV>
    <%
            }
    
            lastEventType = eventType;
            Object lastEventRealm = eventRealm;
            Object realm = null;
    
            // if user is not privileged and if the event OR realm is invisible, do no display it
            if (!isPrivilegedUser)
                continue;
            itemCount++;
    
            // get realm information
            String eventRealmShortTitle = "";
            if (eventRealm != realm) {
                eventRealmShortTitle = eventRealm.toString();
                if (eventRealmShortTitle == null)
                    eventRealmShortTitle = eventRealm.toString();
                eventRealmShortTitle += " : ";
            }
    
            // what type of event is this?
            EventType type = null;;
            boolean isAssignment = false;
            boolean isExam = false;
            boolean isChat = false;
            boolean isEMeeting = false;
            boolean isDiscussion = false;
            boolean isGeneric = false;
    
            String title;
            String description;
            String topic;
            String overview;
            String speaker;
            String location;
            String targetNames;
            try {
            // get event information
                title = event.toString();
                description = event.toString();
                topic = "";
                overview = "";
    
            // get event-section information
                speaker = eventSection.toString();
                location = eventSection.toString();
                targetNames = null;
            } catch ( Exception e ) {
                throw new Exception("An error occured getting event information./n/n"+e.getMessage());        
            }
            String targetHeader = (includeAllSections && targetNames != null) ? targetNames + "  " : "";
    
            // generate names for main and child parts of the event for collapse/expand
            String itemNamePrefix = "Event" + itemCount;
            String itemName = itemNamePrefix + "Parent";
            String itemDetailsName = itemNamePrefix + "Child";
    
            // format start and end date/time strings
            String startTimeStr;
            String endTimeStr;
            try {
                startTimeStr = formatEventStartTime(eventSection, isOngoingEvent, isDayView, calendar, monthDayFormat, timeFormat);
                endTimeStr = formatEventEndTime(eventSection, isOngoingEvent, isDayView, calendar, monthDayFormat, timeFormat);
            } catch ( Exception e ) {
                throw new Exception("An error occured formatting event times./n/n"+e.getMessage());        
            }
            try {
    %>
            <!-- First, basic part of the event -->
            <DIV ID="<%=itemName%>" CLASS="parent">
            <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="95%" BORDER=0>
                <TR>
                    <TD WIDTH="75" ROWSPAN=2 VALIGN=top CLASS="eventTime">
                        <%=startTimeStr%>-<%=isDayView && !isOngoingEvent?"<BR>":""%><%=endTimeStr%>
                    </TD>
                    <TD VALIGN=top CLASS="eventType">
                    <% if (eventRealm == realm && isEventManager && isTeam) { %>
                    <A HREF="javascript:editEvent('<%=""%>', '<%=event.toString()%>')"><%=eventRealmShortTitle + targetHeader + title%></A>
                    <% } else { %>
                    <%=eventRealmShortTitle + targetHeader + title%>
                    <% } %>
                    <% if ((isAssignment || isExam) ) { %>
                        <BR><I>Due: <%=""%></I>
                    <% } %>
                    <% if (true) { %>
                        <IMG src="../media/i_optional.gif" border=0>
                    <% } %>
                    </TD>
                    <TD WIDTH="100" ALIGN="CENTER">
                    <% if ((isAssignment && ((Event)event) != null) ||
                           (isExam && ((Event)event) != null)) { %>
                        <% if (true) { %>
                        <A HREF="<%=""%>"><IMG BORDER="0" SRC="../media/b_dsubmit.gif"></A>
                        <% } else { %>
                        <A HREF="<%=""%>"><IMG BORDER="0" SRC="../media/b_dreport.gif"></a>
                        <% } %>
                    <% } else if (isChat) {
                        Component chatComponent = null;
                        ComponentLink chatComponentLink = chatComponent != null
                                                            ? null
                                                            : null;
                        if (chatComponentLink != null ) {
                            String chatURL = null;
                            String chatTarget = null;
                    %>
                        <A HREF="<%=chatURL%>" TARGET="<%=chatTarget%>"><IMG BORDER="0" SRC="../media/b_chat.gif"></A>
                        <% } %>
                    <% } else if (isEMeeting) {
                        Component meetingPlaceComponent = null;
                        boolean hidePlaybacks = false;
                        ComponentLink meetingPlaceComponentLink = meetingPlaceComponent != null
                                                            ? null
                                                            : null;
                        if (meetingPlaceComponentLink != null ) 
                        {
                            String meetingPlaceURL = null;
                            String meetingPlaceTarget = null;
                          
                          if ( true )
                          {
                       if ( true )
                       {
                           %>
                            <A HREF="<%=meetingPlaceURL%>" TARGET="<%=meetingPlaceTarget%>"><IMG BORDER="0" SRC="../media/b_emeeting_attend.gif"></A>
                          <% 
                            }
                            else if ( 
                                    ( !hidePlaybacks ) )
                            {
                            %>
                           <A HREF="<%=meetingPlaceURL%>" TARGET="<%=meetingPlaceTarget%>"><IMG BORDER="0" SRC="../media/b_emeeting_playback.gif"></A>
                          <%
                            }
                            else if ( true )
                            {
                    %>
                        <IMG BORDER="0" SRC="../media/b_emeeting_attend_inactive.gif">
                    <%
                            }
                          }
                          else
                          {
                           %>
                            <A HREF="<%=meetingPlaceURL%>" TARGET="<%=meetingPlaceTarget%>"><IMG BORDER="0" SRC="../media/b_emeeting_attend.gif"></A>
                          <% 
                          }                     
                         }
                     } else if (isDiscussion) {
                        Component discussionComponent = null;
                        ComponentLink discussionComponentLink = discussionComponent != null
                                                            ? null
                                                            : null;
                        if (discussionComponentLink != null ) {
                            String discussionURL = null;
                            String discussionTarget = null;
                    %>
                        <a href="<%=discussionURL%>" target="<%=discussionTarget%>"><IMG BORDER="0" SRC="../media/b_discuss.gif"></a>
                        <% } %>
                    <% } else { %>
                          
                    <% } %>
                 
                    </TD>
                </TR>
    
                <TR>
                    <TD CLASS="eventItem">
                        <TABLE CELLPADDING=0 CELLSPACING=0>
                          
                           <%
                           
                          String beginDateStr = null;
                          String endDateStr = null;
                          boolean datesSame = beginDateStr.equals(endDateStr);
                if(datesSame && !isDayView  ){ %>
                        <TR>
                          <TD> </TD>
                            <TD ALIGN="LEFT" colspan="2" VALIGN="TOP">
                        <%  //enforce to have the hours.
                           String startTimeStrDay =formatEventStartTime(eventSection, isOngoingEvent, true, calendar, monthDayFormat, timeFormat);
                     String endTimeStrDay = formatEventEndTime(eventSection, isOngoingEvent, true, calendar, monthDayFormat, timeFormat);
    
                          %>
                          <%if(isChat || isAssignment){%><b><%}%> 
                          <i> <%=startTimeStrDay%> -  <%=endTimeStrDay%> </i>
                          <%if(isChat || isAssignment){%></b><%}%>
                           </TD>
                        </TR>
                          
                       <% }%>
                      
                        <TR>
                            <TD ALIGN="LEFT" VALIGN="TOP" width="0">
                            <% if (!printerFriendly) { %>
                            <A HREF="javascript:void(0);" ONCLICK="expandIt('<%=itemNamePrefix%>'); return false;"><IMG NAME="<%=itemNamePrefix%>imEx" SRC="../media/b_expand_event.gif" WIDTH="14" HEIGHT="14" BORDER="0" ALT="Show/Hide Details"></A>
                            <% } else { %>
                            <IMG NAME="<%=itemNamePrefix%>imEx" SRC="../media/b_expand_event.gif" WIDTH="14" HEIGHT="14" BORDER="0">
                            <% } %>
                            </TD>
                            <TD ALIGN="LEFT"><%=description != null ? description : topic%></TD>
                        </TR>
                        </TABLE>
                    </TD>
                    <TD WIDTH="100"> </TD>
                </TR>
                
            </TABLE>
            </DIV>
    
            <% if (!printerFriendly || expandDetails) { %>
            <!-- Now, more details about the event -->
            <DIV ID="<%=itemDetailsName%>" CLASS="child">
            <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="95%">
                <!-- Location -->
                <% if (location != null && location.length() != 0) { %>
                <TR>
                    <TD WIDTH="15%"> </TD>
                    <TD COLSPAN="2" VALIGN="TOP"><I>Location:</I> <%=location%><BR></TD>
                </TR>
                <% } %>
                <!-- Speaker -->
                <% if (speaker != null && speaker.length() != 0) { %>
                <TR>
                    <TD WIDTH="15%"> </TD>
                    <TD COLSPAN="2" VALIGN="TOP"><I>Speaker:</I> <%=speaker%><BR></td>
                </TR>
                <% } %>
    
                <!-- Begin Event Materials -->
                <%
                // build material types
                Vector/*<String>*/ materialTypesVector = new Vector();
                Enumeration/*<String>*/ materialTypes = materialTypesVector.elements();
    
                // output materials corresponding to each material type
                while (materialTypes.hasMoreElements())
                {
                    // get materials corresponding to the material type
                    String materialType = (String)materialTypes.nextElement();
                    Enumeration/*<Component>*/ materials = null;
                %>
    
                <% if (true) { %>
                    <TR>
                        <TD WIDTH="15%"> </TD>
                        <TD COLSPAN="2" VALIGN="TOP"><I>Overview:</I> <%=overview != null ? overview : ""%></TD>
                    </TR>
                <% } else if (false) { %>
                    <TR>
                        <TD WIDTH="15%"> </td>
                        <TD COLSPAN="2" VALIGN="TOP"><I>Reading Materials:</I></TD>
                    </TR>
                <% } else if (true) { %>
                        <TR>
                            <TD WIDTH="15%"> </td>
                            <TD COLSPAN="2" VALIGN="TOP"><I>Solution Materials:</I></TD>
                        </TR>
                <% } %>
    
                <%
                    while (materials.hasMoreElements())
                    {
                        // get material component
                        Component materialComponent = (Component)materials.nextElement();
                        ComponentLink componentLink = null;
    
    
                        // is component released?
                        boolean isReleased = false;
                        String releaseDateStr = null;
                        if (!isReleased)
                            releaseDateStr = null;
    
                        // get component attributes and URL
                        String componentTitle = "";
                        String componentDescription = "";
    
                        String containerURL = "";
                        String target = "";
    
                        // get contrib explorer link associated with component, if any
                        String sysType = "";
                %>
                <TR>
                    <TD WIDTH="15%"> </TD>
                    <TD WIDTH="5%" VALIGN="TOP"><IMG <%=""%> BORDER=0></TD>
                    <TD WIDTH="80%" CLASS="material">
                        <DIV class="componentTitle">
                        <% if (true) { %>
                            <A HREF='<%=containerURL%>' target='<%=target%>'><%=componentTitle%></A>
                        <% } else { %>
                            <%=componentTitle%>
                        <% } %>
                        <% if (!isReleased) { %>
                             (Available <%=releaseDateStr%>)
                        <% } %>
                        <% if (sysType != null) { %>
                             
                            <A HREF="javascript:exploreContrib('<%=sysType%>')"><IMG SRC="../media/explorer.gif" ALT="Explore contributions" WIDTH=20 HEIGHT=20 BORDER=0></A>
                        <% } %>
                        </DIV>
    
                        <DIV class="componentDescription">
                        <% if (true) { %>
                            <%=""%>
                        <% } else if (true) { %>
                            <I>File:</I> <%=""%>
                        <% } %>
                        </DIV>
                    </TD>
                </TR>
                <%
                    } // while (materials.hasMoreElements())
                } // while (materialTypes.hasMoreElements())
                %>
    
            </TABLE>
            </DIV>
            <% }  %>
    <%
            } catch ( Exception e ) {
                throw new Exception("An error occured creating event display./n/n"+e.getMessage());        
            }
          } // while (eventSections.hasMoreElements())
       } // for (each eventGroup)
    
       if (itemCount == 0)
           out.println("<P CLASS='description'><I>No events.</I></P>");
    %>
    
    <script language="JavaScript">
       if (!b_printerFriendly && b_ns4) {
          var space = 0;
          for (i=0; i<document.layers.length; i++) {
             space += document.layers[i].document.height;
          }
    
          document.writeln('<SPACER TYPE="block" WIDTH="100%" HEIGHT="' + space + '">');
       }
    </script>
    
    <!-- Hidden forms for submitting requests -->
    <FORM ACTION="../self" TARGET="_parent">
        <INPUT TYPE="HIDDEN" NAME="<%=SCREEN%>" VALUE="<%=LAYOUT%>">
        <INPUT TYPE="HIDDEN" NAME="<%=VIEW%>" VALUE="<%=view%>">
        <INPUT TYPE="HIDDEN" NAME="<%=SHOW_TERMS%>" VALUE="<%=NO%>">
        <INPUT TYPE="HIDDEN" NAME="<%=ALL_REALMS%>" VALUE="<%=allRealms%>">
        <INPUT TYPE="HIDDEN" NAME="<%=ALL_SECTIONS%>" VALUE="<%=allSectionsStr%>">
        <INPUT TYPE="HIDDEN" NAME="<%=TERM_NAME%>" VALUE="<%=termName%>">
        <INPUT TYPE="HIDDEN" NAME="<%=TERMSEG_NAME%>" VALUE="<%=termSegmentName%>">
        <INPUT TYPE="HIDDEN" NAME="<%=DATE%>" VALUE="<%=dateStr%>">
        <INPUT TYPE="HIDDEN" NAME="<%=PRINTER_FRIENDLY%>" VALUE="<%=NO%>">
        <INPUT TYPE="HIDDEN" NAME="<%=EXPAND_DETAILS%>" VALUE="<%=NO%>">
        <% if (isCustomCalendar) { %>
        <INPUT TYPE="HIDDEN" NAME="<%=WEEK_NAME%>" VALUE="<%=""%>">
        <INPUT TYPE="HIDDEN" NAME="<%=DAY_INDEX%>" VALUE="0">
        <% } %>
    </FORM>
    
    <!-- Hidden form to invoke contrib explorere -->
    <FORM ACTION="/_sys._collaboration.ContribExplorer" METHOD="GET" TARGET="_top">
        <INPUT TYPE="HIDDEN" NAME="<%=ARGNAME_DEFAULT_SYSTYPE%>">
    </FORM>
    
    <!-- Hidden form to add/edit events -->
    <FORM ACTION="../self"> 
        <INPUT TYPE="HIDDEN" NAME="<%=SCREEN%>" VALUE="<%=EVENT_PANE%>">
        <INPUT TYPE="HIDDEN" NAME="<%=VIEW%>" VALUE="<%=view%>">
        <INPUT TYPE="HIDDEN" NAME="<%=SHOW_TERMS%>" VALUE="<%=NO%>">
        <INPUT TYPE="HIDDEN" NAME="<%=ALL_REALMS%>" VALUE="<%=allRealms%>">
        <INPUT TYPE="HIDDEN" NAME="<%=ALL_SECTIONS%>" VALUE="<%=allSections%>">
        <INPUT TYPE="HIDDEN" NAME="<%=TERM_NAME%>" VALUE="<%=termName%>">
        <INPUT TYPE="HIDDEN" NAME="<%=TERMSEG_NAME%>" VALUE="<%=termSegmentName%>">
        <INPUT TYPE="HIDDEN" NAME="<%=WEEK_NAME%>" VALUE="<%=weekName%>">
        <INPUT TYPE="HIDDEN" NAME="<%=DAY_INDEX%>" VALUE="<%=dayIndex%>">
        <INPUT TYPE="HIDDEN" NAME="<%=DATE%>" VALUE="<%=dateStr%>">
        <INPUT TYPE="HIDDEN" NAME="<%=MODE%>">
        <INPUT TYPE="HIDDEN" NAME="<%=EVENT_NAME%>">
        <INPUT TYPE="HIDDEN" NAME="<%=EVENT_TYPE%>">
    </FORM>
    
    <!-- end DHTML week calendar -->
    </BODY>
    </HTML>
    
    <%
    /*
    } catch (Throwable e) {
        Debug.logError(e);
        throw new ServletException(e);
    }
    */
    %>
    
    #254325 Reply

    Riyad Kalla
    Member

    Can you explain how to reproduce this? I am just copy-pasting the hidden fields in the last few tables and they are fine in 4.1.1

    #254335 Reply

    kldavis4
    Member

    Yeah, it is kind of a random thing, since the behavior seems to occur when I make a typo. But for example, I go to top of the first form, and start typing a new hidden form field. Cut and pasting the existing ones do not cause the problem, you need to make a typo. So I type the following:

    <INPUT TYPE+"HIDDEN" NAME="<%SCREEN

    And after a few seconds I get the backwards typing behavior. In the console I get the following messages:

    
    Reason:
    java.lang.NullPointerException
    Unhandled event loop exception
    Reason:
    java.lang.NullPointerException
    Unhandled event loop exception
    Reason:
    java.lang.ArrayIndexOutOfBoundsException
    
    #254345 Reply

    Riyad Kalla
    Member

    Please let me know what you find with Milestone 2, I think it’s either live now or later tonight or tommorow.

    #254809 Reply

    kldavis4
    Member

    @support-rkalla wrote:

    Please let me know what you find with Milestone 2, I think it’s either live now or later tonight or tommorow.

    I was able to get M2 loaded on eclipse 3.2. So far I haven’t been able to duplicate the jsp editor problems that I was seeing. There are other issues that I am seeing with M2. I get the following error when I try to switch to the database explorer:

    Could not find view: com.genuitec.sqlexplorer.views.DatabaseView
    Could not find view: com.genuitec.sqlexplorer.views.SQLResultsView
    Could not find view: com.genuitec.sqlexplorer.views.SQLHistoryView
    Could not find view: com.genuitec.sqlexplorer.views.ConnectionInfo
    Could not find view: com.genuitec.sqlexplorer.views.TableInfoView
    

    I get similar errors when switching to other MyEclipse perspectives. I have tried without success to restart with the -clean option.

    #254815 Reply

    Riyad Kalla
    Member

    Please click on MyEclipse > About MyEclipse > Installation Summary and copy-paste the result here for me to see. It’s probable that you have incompatible builds of Eclipse/MyEclipse 5.0 Milestone 2 running.

    #254816 Reply

    kldavis4
    Member

    @support-rkalla wrote:

    Please click on MyEclipse > About MyEclipse > Installation Summary and copy-paste the result here for me to see. It’s probable that you have incompatible builds of Eclipse/MyEclipse 5.0 Milestone 2 running.

    *** Eclipse details:
    Eclipse SDK

    Version: 3.2.0
    Build id: M20060629-1905

    Eclipse Graphical Editing Framework

    Version: 3.2.0.v20060626
    Build id: 20060627-0816

    Eclipse Platform

    Version: 3.2.0.v20060609m-AgOexn6hlEUsvBO
    Build id: M20060629-1905

    Eclipse RCP

    Version: 3.2.0.v20060609m-SVDNgVrNoh-MeGG
    Build id: M20060629-1905

    Eclipse Java Development Tools

    Version: 3.2.0.v20060609m-F7snq1fxia-Z4XP
    Build id: M20060629-1905

    Eclipse Plug-in Development Environment

    Version: 3.2.0.v20060609m——6zXJJzJzJq
    Build id: M20060629-1905

    Eclipse Project SDK

    Version: 3.2.0.v20060609m-GNq6oQq-7es-Y81
    Build id: M20060629-1905

    Eclipse startup command=-os
    linux
    -ws
    gtk
    -arch
    x86_64
    -launcher
    /home/kldavis/eclipse32/eclipse
    -name
    Eclipse
    -showsplash
    600
    -exitdata
    7f8009
    -clean
    -vm
    /opt/java/bin/java

    #254818 Reply

    Riyad Kalla
    Member

    Looks good. Try using a new workspace (File > Switch Workspace) and see if the error goes away. You can use File > Export and File > Import to pull in your settings and projects from your old workspace.

    #255902 Reply

    pdelahun
    Member

    I have found that JSP editor has never really worked properly and i have been using this plugin since 2004. In my opion it trys to be too clever with the validation stuff… Even when i have supposed to have turned it off. I have simply just lived with this annoying editor as there does not seem to be anthing better on the market…

    Can’t you just provide a simple colour coded jsp editor with a functioning cut and paste.

    I have tried to install version 5.0M2 on eclipse 3.2 but the jsp editor cannot even loadup. I see serveral other people have complained about this too and are waiting a fix in aug 6th.

    I guess it is really hard for you guys to test all these plugins ???

    #255918 Reply

    Riyad Kalla
    Member

    I have tried to install version 5.0M2 on eclipse 3.2 but the jsp editor cannot even loadup. I see serveral other people have complained about this too and are waiting a fix in aug 6th.

    It’s a plugin cache problem, you have to restart using -clean and the situation is driving us nuts. We see this as a show stopper because the user experience requiring a -clean restart sucks.

    Also you have *never* been forced to use the designer you can also just use the source editor for your HTML/JSP pages, we know designers don’t work for everyone. If what you are asking for is an even simplier code editor with no validation, no we don’t offer that.

    I guess it is really hard for you guys to test all these plugins ???

    It’s not the easiest but we do test the heck out of the product before we ship even a milestone. We held 5.0 back a month just for bug fixes and improvements and it’s an incredible release, but the thing of it is, all it takes is a user that had a bad previous experience (like you have) and add to it some retarded issue like needing to restart using -clean, and the product (rightfully so) seems broken or worthless even though 99% of it works, it’s just that initial bump in the road that turns people off.

    We really are breaking out backs to make MyEclipse start to rock as far as user experience goes and hope you notice this with the 5.0 GA release. We appologize from time to time for some of the hickups (like the -clean thing) but don’t ever think that we are sitting on our laurels with the impression that it’s OK for that stuff to happen. Our job, ultimately, is to keep our users happy. And crappy editors and plugin cache problems don’t keep users happy so it’s out job to fix all that.

    Now back to the editor issue, you really didn’t like the new editor work in the Milestone 2 release? We were really happy with all the work that went into it… can you name your top 3 issues that drove you the most nuts?

    #255976 Reply

    pdelahun
    Member

    The only problem i have ever had with myeclipse is the jsp editor. Everything else works fine.

    I did a -clean on my new 5.0 release like you said and it worked. The new 3.2 verision of eclipse seems to run fine so far the jsp edidor is working fine. But i have not yet used it in vain.

    The previous cut and paste errors where intermittent anyway.

Viewing 15 posts - 1 through 15 (of 16 total)
Reply To: cut and paste in jsp editor broken

You must be logged in to post in the forum log in