Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version='1.0' encoding='UTF-8' ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:p="http://primefaces.prime.com.tr/ui"
- xmlns:ui="http://java.sun.com/jsf/facelets">
- <h:head>
- <link rel="SHORTCUT ICON" href="images/favicon.ico"/>
- <title>Home Page</title>
- <link href="themes/start/skin.css" rel="stylesheet" type="text/css"/>
- <link href="css/crb_home_style.css" rel="stylesheet" type="text/css" />
- <!--h:outputStylesheet library="primefaces" name="jquery/jquery.js"/-->
- </h:head>
- <h:body id="bod">
- <f:view id="homeview" >
- <!--f:metadata>
- <f:event type="preRenderView" listener="{login_bean.verifyAccessOut}"/>
- </f:metadata-->
- <div id="crb_wrapper">
- <ui:include src="resources/crbcomp/header.xhtml"/>
- <div id="crb_content_wrapper">
- <div id="crb_content">
- <h:panelGroup id="dagmsg">
- <p:dialog header="Dag Job" visible="#{DagJob.erstatus}" modal="true" closeOnEscape="true">
- <p:graphicImage style="float:left;" value="images/warningico.png"/> #{DagJob.msg}
- </p:dialog>
- </h:panelGroup>
- <h:panelGroup id="leasemsg">
- <p:dialog header="Lease Job" visible="#{leaseJob.erstatus}" modal="true" closeOnEscape="true">
- <p:graphicImage style="float:left;" value="images/warningico.png"/> <br/> #{leaseJob.msg}
- </p:dialog>
- </h:panelGroup>
- <h:panelGroup id="normalmsg">
- <p:dialog header="Normal Job" visible="#{normalJob.erstatus}" modal="true" closeOnEscape="true">
- <p:graphicImage style="float:left;" value="images/warningico.png"/> <br/> #{normalJob.msg}
- </p:dialog>
- </h:panelGroup>
- <h:panelGroup id="resmsg">
- <p:dialog header="Advance Reservation Job" visible="#{arjob.erstatus}" modal="true" closeOnEscape="true">
- <p:graphicImage style="float:left;" value="images/warningico.png"/> <br/> #{arjob.msg}
- </p:dialog>
- </h:panelGroup>
- <h:panelGroup id="lconf">
- <h:form prependId="false">
- <p:dialog width="700" visible="#{leaseJob.isConfirmRendered}" header="Confirm LeaseJob Submission" modal="true" hideEffect="explode" widgetVar="lconf">
- <p:commandLink ajax="true" title="Save" actionListener="#{leaseJob.jobSubmitAction}" onclick="lconf.hide();" update="lconf"><p:graphicImage value="images/saveico.png"/></p:commandLink>
- <p:graphicImage title="#{leaseJob.content}" value="images/xmlico.png"/>
- <br/><br/>
- Do you want to submit?<br/><br/>
- <h:panelGrid columns="2" width="550">
- <h:outputLabel value="1) LeaseType"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <h:selectOneMenu value="#{leaseJob.leaseType}">
- <f:selectItem itemLabel="OndemandLease" itemValue="OnDemand"/>
- <f:selectItem itemLabel="DeadlineDrivenBestEffortLease" itemValue="DeadLine"/>
- <f:selectItem itemLabel="AdvanceReservationLease" itemValue="AdvanceReservation"/>
- </h:selectOneMenu>
- </p:inplace>
- </h:panelGroup>
- <h:outputLabel value="2) Number of Nodes *"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner style="width: 100px" min="1" max="1000" value="#{leaseJob.numnodes}"/>
- </p:inplace>
- </h:panelGroup>
- <h:outputLabel value="3) Operating System"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <h:selectOneMenu value="#{leaseJob.os}">
- <f:selectItems value="#{resources.operSys}"/>
- </h:selectOneMenu>
- </p:inplace>
- </h:panelGroup>
- <h:outputText value="4) physical Memory"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner min="0" style="width: 100px" stepFactor="10" value="#{leaseJob.mem}"/>
- </p:inplace>
- MB
- </h:panelGroup>
- <h:panelGroup>
- <h:outputLabel value="5) Disk Space"/>
- </h:panelGroup>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner min="0" style="width: 100px" stepFactor="10" value="#{leaseJob.diskspace}"/>
- </p:inplace>
- MB
- </h:panelGroup>
- <h:panelGroup>
- <h:outputLabel value="6) CPU Mhz"/>
- </h:panelGroup>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner min="0" style="width: 100px" stepFactor="10" value="#{leaseJob.cpumhz}"/>
- </p:inplace>
- Mhz
- </h:panelGroup>
- <h:panelGroup>
- <h:outputLabel value="7) Duration"/>
- </h:panelGroup>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" emptyLabel="Enter a Value" editor="true" effect="slide">
- <p:inputMask mask="99:99:99" value="#{leaseJob.duration}"/>
- </p:inplace>
- </h:panelGroup>
- <h:panelGroup rendered="#{leaseJob.leaseType=='AdvanceReservation'}">
- <h:outputLabel value="8) Start Time"/>
- </h:panelGroup>
- <h:panelGroup rendered="#{leaseJob.leaseType=='AdvanceReservation'}">
- <p:inplace style="text-decoration: underline" emptyLabel="Enter a Value" editor="true" effect="slide">
- <p:inputMask mask="9999-99-99 99:99:99" value="#{leaseJob.startt}"/>
- </p:inplace>
- </h:panelGroup>
- <h:panelGroup rendered="#{leaseJob.leaseType=='DeadLine'}">
- <h:outputLabel value="8) Deadline"/>
- </h:panelGroup>
- <h:panelGroup rendered="#{leaseJob.leaseType=='DeadLine'}">
- <p:inplace style="text-decoration: underline" emptyLabel="Enter a Value" editor="true" effect="slide">
- <p:inputMask mask="99:99:99" value="#{leaseJob.deadline}"/>
- </p:inplace>
- </h:panelGroup>
- </h:panelGrid>
- <br/>
- <p:separator/>
- <p:commandButton style="float: right" value="yes" update="leasemsg :jobidlist1 :jobidlist2" onclick="lconf.hide();" actionListener="#{leaseJob.submitFile}">
- <f:actionListener binding="#{resources.updateResource()}"/>
- </p:commandButton>
- <p:commandButton value="no" type="button" onclick="lconf.hide();"/>
- </p:dialog>
- </h:form>
- </h:panelGroup>
- <h:panelGroup id="normconf">
- <h:form prependId="false">
- <p:dialog width="700" visible="#{normalJob.isConfirmRendered}" header="confirm Job Submission" modal="true" hideEffect="explode" widgetVar="normconf">
- <p:commandLink ajax="true" title="Save" actionListener="#{normalJob.jobSubmitAction}" onclick="normconf.hide();" update="normconf"><p:graphicImage value="images/saveico.png"/></p:commandLink>
- <p:graphicImage title="#{normalJob.content}" value="images/xmlico.png"/>
- <br/><br/>
- Do you want to submit?<br/><br/>
- <h:panelGrid columns="2" width="550">
- <h:outputLabel value="1) Job type"/>
- <h:panelGroup>
- <h:outputText value="#{normalJob.jobtype}"/>
- </h:panelGroup>
- <h:outputLabel value="2) Executable *"/>
- <h:panelGroup>
- <h:outputText value="#{normalJob.fexelist}"/>
- </h:panelGroup>
- <h:outputLabel value="3) Argument(s)"/>
- <h:panelGroup>
- <h:outputText rendered="#{!empty normalJob.arglist}" value="#{normalJob.arglist}"/>
- </h:panelGroup>
- <h:outputLabel value="4) InputFile(s) *"/>
- <h:panelGroup>
- <h:outputText value="#{normalJob.finlist}"/>
- </h:panelGroup>
- <h:outputLabel value="5) Output File(s)"/>
- <h:panelGroup>
- <h:outputText rendered="#{!empty normalJob.foutlist}" value="#{normalJob.foutlist}"/>
- </h:panelGroup>
- <h:outputLabel value="6) Operating System"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <h:selectOneMenu value="#{normalJob.os}">
- <f:selectItems value="#{resources.operSys}"/>
- </h:selectOneMenu>
- </p:inplace>
- </h:panelGroup>
- <h:outputLabel value="7) Physical Memory"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner min="0" style="width: 100px" stepFactor="10" value="#{normalJob.mem}"/>
- </p:inplace>
- (MB)
- </h:panelGroup>
- <h:outputLabel value="8) Disk Space"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner min="0" style="width: 100px" stepFactor="10" value="#{normalJob.diskspace}"/>
- </p:inplace>
- (MB)
- </h:panelGroup>
- <h:outputLabel value="9) CPU Mhz"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner min="0" style="width: 100px" stepFactor="10" value="#{normalJob.cpumhz}"/>
- </p:inplace>
- (Mhz)
- </h:panelGroup>
- <h:outputLabel value="10) LRMS type"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <h:selectOneMenu value="#{normalJob.lrms}">
- <f:selectItem itemLabel="PBS" itemValue="PBS"/>
- <f:selectItem itemLabel="SGE" itemValue="SGE"/>
- </h:selectOneMenu>
- </p:inplace>
- </h:panelGroup>
- <h:panelGroup rendered="#{normalJob.jobtype=='parallel'}">
- <h:outputLabel value="11) Number of Nodes *"/>
- </h:panelGroup>
- <h:panelGroup rendered="#{normalJob.jobtype=='parallel'}">
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner style="width: 100px" min="1" max="1000" value="#{normalJob.numnodes}"/>
- </p:inplace>
- </h:panelGroup>
- </h:panelGrid>
- <br/>
- <p:separator/>
- <p:commandButton style="float: right" value="yes" update="normalmsg :jobidlist1 :jobidlist2" onclick="normconf.hide();" actionListener="#{normalJob.submitFile}">
- <f:actionListener binding="#{resources.updateResource()}"/>
- </p:commandButton>
- <p:commandButton value="no" type="button" onclick="normconf.hide();"/>
- </p:dialog>
- </h:form>
- </h:panelGroup>
- <h:panelGroup id="arconf">
- <h:form prependId="false">
- <p:dialog width="700" visible="#{arjob.isConfirmRendered}" header="confirm Job Submission" modal="true" hideEffect="explode" widgetVar="arconf">
- <p:commandLink title="Save" ajax="true" actionListener="#{arjob.jobSubmitAction}" onclick="arconf.hide();" update="arconf"><p:graphicImage value="images/saveico.png"/></p:commandLink>
- <p:graphicImage title="#{arjob.content}" value="images/xmlico.png"/>
- <br/><br/>
- <h:outputLabel value="Do you want to submit?"/><br/><br/>
- <h:panelGrid columns="2" width="550">
- <h:outputLabel value="1) Job type"/>
- <h:panelGroup>
- <h:outputText value="#{arjob.jobtype}"/>
- </h:panelGroup>
- <h:outputLabel value="2) Executable *"/>
- <h:panelGroup>
- <h:outputText value="#{arjob.fexelist}"/>
- </h:panelGroup>
- <h:outputLabel value="3) Argument(s)"/>
- <h:panelGroup>
- <h:outputText rendered="#{!empty arjob.arglist}" value="#{arjob.arglist}"/>
- </h:panelGroup>
- <h:outputLabel value="4) InputFile(s) *"/>
- <h:panelGroup>
- <h:outputText value="#{arjob.finlist}"/>
- </h:panelGroup>
- <h:outputLabel value="5) Output File(s)"/>
- <h:panelGroup>
- <h:outputText rendered="#{!empty arjob.foutlist}" value="#{arjob.foutlist}"/>
- </h:panelGroup>
- <h:outputLabel value="6) Operating System"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <h:selectOneMenu value="#{arjob.os}">
- <f:selectItems value="#{resources.operSys}"/>
- </h:selectOneMenu>
- </p:inplace>
- </h:panelGroup>
- <h:outputLabel value="7) Physical Memory"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner min="0" style="width: 100px" stepFactor="10" value="#{arjob.mem}"/>
- </p:inplace>
- (MB)
- </h:panelGroup>
- <h:outputLabel value="8) Disk Space"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner min="0" style="width: 100px" stepFactor="10" value="#{arjob.diskspace}"/>
- </p:inplace>
- (MB)
- </h:panelGroup>
- <h:outputLabel value="9) CPU Mhz"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner min="0" style="width: 100px" stepFactor="10" value="#{arjob.cpumhz}"/>
- </p:inplace>
- (Mhz)
- </h:panelGroup>
- <h:outputLabel value="10) Start Time"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:inputMask mask="9999-99-99 99:99:99" value="#{arjob.startt}"/>
- </p:inplace>
- </h:panelGroup>
- <h:panelGroup>
- <h:outputLabel value="11) End Time"/>
- </h:panelGroup>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:inputMask title="(YYYY-MM-DD HH:MM:SS)" mask="9999-99-99 99:99:99" value="#{arjob.endt}"/>
- </p:inplace>
- </h:panelGroup>
- <h:outputLabel value="12) LRMS type"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <h:selectOneMenu value="#{arjob.lrms}">
- <f:selectItem itemLabel="PBS" itemValue="PBS"/>
- <f:selectItem itemLabel="SGE" itemValue="SGE"/>
- </h:selectOneMenu>
- </p:inplace>
- </h:panelGroup>
- <h:outputLabel value="13) Number of Nodes *"/>
- <h:panelGroup>
- <p:inplace style="text-decoration: underline" editor="true" effect="slide">
- <p:spinner style="width: 100px" min="1" max="1000" value="#{arjob.numnodes}"/>
- </p:inplace>
- </h:panelGroup>
- </h:panelGrid>
- <br/>
- <p:separator/>
- <p:commandButton style="float: right" value="yes" update="resmsg :jobidlist1 :jobidlist2" onclick="arconf.hide();" actionListener="#{arjob.submitFile}">
- <f:actionListener binding="#{resources.updateResource()}"/>
- </p:commandButton>
- <p:commandButton value="no" type="button" onclick="arconf.hide();"/>
- </p:dialog>
- </h:form>
- </h:panelGroup>
- <h:panelGroup id="dagconf">
- <h:form prependId="false">
- <p:dialog visible="#{DagJob.isConfirmRendered}" header="confirm Job Submission" modal="true" hideEffect="explode" widgetVar="dagconf">
- <p:graphicImage title="#{DagJob.content}" value="images/fileico.png"/>
- <br/><br/>
- Do you want to submit #{DagJob.daglist} ?<br/><br/>
- <p:separator/>
- <p:commandButton style="float: right" value="yes" update="dagmsg :jobidlist1 :jobidlist2" onclick="dagconf.hide();" actionListener="#{DagJob.submitFile}"/>
- <p:commandButton value="no" type="button" onclick="dagconf.hide();"/>
- </p:dialog>
- </h:form>
- </h:panelGroup>
- <h:panelGrid id="grid1" style="min-width: 450px" columns="1">
- <h:panelGroup>
- <h:panelGrid>
- <p:panel id="profile" visible="false" widgetVar="prof" header="MyProfile" style="min-width: 200px" closable="true" toggleable="true">
- <h:panelGrid columns="2">
- <p:panel header="FirstName" closable="true">
- <b>#{login_bean.firstname}</b>
- </p:panel>
- <p:panel header="LastName" closable="true">
- <b>#{login_bean.lastname}</b>
- </p:panel>
- <p:panel header="Email" closable="true">
- <b>#{login_bean.email}</b>
- </p:panel>
- <p:panel header="Phone" closable="true" rendered="#{!empty login_bean.phone}">
- <b>#{login_bean.phone}</b>
- </p:panel>
- <p:panel header="City" closable="true" rendered="#{!empty login_bean.city}">
- <b>#{login_bean.city}</b>
- </p:panel>
- <p:panel header="Street" closable="true" rendered="#{!empty login_bean.street}">
- <b>#{login_bean.street}</b>
- </p:panel>
- <p:panel header="Info" closable="true" rendered="#{!empty login_bean.info}">
- <b>#{login_bean.info}</b>
- </p:panel>
- </h:panelGrid>
- <p:draggable for="profile" handle=".ui-panel-titlebar" />
- </p:panel>
- </h:panelGrid>
- </h:panelGroup>
- <h:panelGroup>
- <h:panelGrid style="z-index: 2 ">
- <p:panel id="logout" visible="false" style="min-width: 200px" widgetVar="logOut" header="Logout" toggleable="true">
- <h:form prependId="false">
- <h:panelGroup>
- <h:commandLink id="logoutlink" action="#{login_bean.logout}" value="Logout" type="submit"/>
- </h:panelGroup>
- </h:form>
- <p:draggable for="logout" handle=".ui-panel-titlebar" />
- </p:panel>
- </h:panelGrid>
- </h:panelGroup>
- <h:panelGrid>
- <p:panel id="jobsubmit" visible="false" style="min-width: 200px;" header="Job Submission" widgetVar="jsub" closable="true" toggleable="true" >
- <h:form prependId="false">
- <h:selectOneMenu value="#{homebean.renderjob}" label="Select the Job Type">
- <f:selectItem itemLabel="Select Job Type" itemValue="0"/>
- <f:selectItem itemLabel="Normal Job" itemValue="1"/>
- <f:selectItem itemLabel="Lease Job" itemValue="2"/>
- <f:selectItem itemLabel="Dag Job" itemValue="3"/>
- <f:ajax render=":jobwrapper :norj :leaj :dagj"/>
- </h:selectOneMenu>
- </h:form>
- <h:panelGrid id="jobwrapper" width="550px">
- <p:ajaxStatus style="width:220px;height:19px;">
- <f:facet name="start">
- <h:graphicImage value="images/loading.gif" style="float: right" />
- </f:facet>
- <f:facet name="complete">
- <h:outputText value="" />
- </f:facet>
- </p:ajaxStatus>
- <h:form id="norj" prependId="false" style="width:550px;max-height:400px;overflow: auto;">
- <h:panelGrid columns="2" style="max-width: 600px" rendered="#{homebean.renderjob==1}">
- <p:panel style="min-width: 220px">
- <h:outputLabel styleClass="lbl" value="1) Job type"/>
- </p:panel>
- <h:panelGroup>
- <h:selectOneMenu title="Choose job type" value="#{normalJob.jobtype}">
- <f:selectItem itemLabel="Sequential" itemValue="sequential"/>
- <f:selectItem itemLabel="Parallel" itemValue="parallel"/>
- <f:ajax event="valueChange" render="@form"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="2) Executable *"/>
- </p:panel>
- <h:panelGroup>
- <br/><br/>
- <p:fileUpload id="exeupload" fileUploadListener="#{normalJob.chooseListener}" auto="true" update="dlist normalmsg" description="Resource Files">
- </p:fileUpload>
- <br/>
- <h:panelGroup id="exelistwrapper">
- <p:dataList var="fileList" type="ordered" widgetVar="dt" id="dlist" value="#{normalJob.fexelist}">
- <p:column>
- #{fileList}
- <p:commandLink ajax="true" update="exelistwrapper" actionListener="#{normalJob.removeExe(fileList)}">
- <p:graphicImage value="images/closebar.png"/>
- </p:commandLink>
- </p:column>
- </p:dataList>
- </h:panelGroup>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="3) Argument(s)"/>
- </p:panel>
- <h:panelGroup>
- <h:inputText title="Enter the argument" id="iparg" value="#{normalJob.args}">
- <p:ajax event="valueChange"/>
- </h:inputText>
- <p:commandButton update="arglistwrapper normalmsg iparg" value="add" actionListener="#{normalJob.addArg}"/>
- </h:panelGroup>
- <h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <h:panelGrid id="arglistwrapper">
- <p:dataList id="arglist" type="ordered" var="args" value="#{normalJob.arglist}">
- <p:column id="col2">
- #{args}
- <p:commandLink ajax="true" update="arglistwrapper" actionListener="#{normalJob.removeArgs(args)}">
- <p:graphicImage value="images/closebar.png"/>
- </p:commandLink>
- </p:column>
- </p:dataList>
- </h:panelGrid>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="4) InputFile(s) *"/>
- </p:panel>
- <h:panelGroup>
- <br/><br/>
- <p:fileUpload id="inpupload" fileUploadListener="#{normalJob.chooseListener}" auto="true" update="ipfilelistwrapper normalmsg" description="Resource Files">
- </p:fileUpload>
- <br/>
- <h:panelGroup id="ipfilelistwrapper">
- <p:dataList var="ipfile" type="ordered" id="ipflist" value="#{normalJob.finlist}">
- <p:column>
- #{ipfile}
- <p:commandLink ajax="true" update="ipfilelistwrapper" actionListener="#{normalJob.removeInfile(ipfile)}">
- <p:graphicImage value="images/closebar.png"/>
- </p:commandLink>
- </p:column>
- </p:dataList>
- </h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <p:panel >
- <h:outputLabel styleClass="lbl" value="5) Output File(s)"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <h:inputText title="Enter the output filenames" id="exe" value="#{normalJob.ofilename}">
- <f:ajax event="valueChange"/>
- </h:inputText>
- <p:commandButton update="doutlist normalmsg ipexe exe" value="add" actionListener="#{normalJob.addOutfile}"/>
- </h:panelGroup>
- <h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <h:panelGrid id="filelistwrapper">
- <p:dataList id="doutlist" type="ordered" var="ofile" value="#{normalJob.foutlist}">
- <p:column id="col">
- #{ofile}
- <p:commandLink ajax="true" update="filelistwrapper" actionListener="#{normalJob.removeOutfile(ofile)}">
- <p:graphicImage value="images/closebar.png"/>
- </p:commandLink>
- </p:column>
- </p:dataList>
- </h:panelGrid>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="6) Operating System"/>
- </p:panel>
- <h:panelGroup>
- <h:selectOneMenu title="Select an OperatingSystem" value="#{normalJob.os}">
- <f:selectItems value="#{resources.operSys}"/>
- <p:ajax event="valueChange"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="7) Physical Memory"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:spinner title="set the physical memory" min="0" style="width: 100px" stepFactor="10" value="#{normalJob.mem}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>(MB)
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="8) Disk Space"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:spinner title="set the disk space" min="0" style="width: 100px" stepFactor="10" value="#{normalJob.diskspace}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>(MB)
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="9) CPU Mhz"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup id="normalcpu">
- <p:spinner title="set the CPU speed" min="#{normalJob.min}" stepFactor="#{normalJob.step}" max="#{normalJob.max}" style="width: 100px" value="#{normalJob.cpumhz}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>
- <h:selectOneMenu value="#{normalJob.mhzorghz}">
- <f:selectItem itemLabel="MHz" itemValue="MHz"/>
- <f:selectItem itemLabel="GHz" itemValue="GHz"/>
- <f:ajax event="valueChange" render="normalcpu" listener="#{normalJob.unitChange}"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="10) LRMS type"/>
- </p:panel>
- <h:panelGroup>
- <h:selectOneMenu title="Local Resource Management System" value="#{normalJob.lrms}">
- <f:selectItem itemLabel="PBS" itemValue="PBS"/>
- <f:selectItem itemLabel="SGE" itemValue="SGE"/>
- <p:ajax event="valueChange"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <h:panelGroup id="nodewrapper1">
- <p:panel rendered="#{normalJob.jobtype=='parallel'}">
- <h:outputLabel styleClass="lbl" value="11) Number of Nodes *"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup id="nodewrapper2">
- <h:panelGroup rendered="#{normalJob.jobtype=='parallel'}">
- <p:spinner title="set the number of nodes" id="num" style="width: 100px" min="1" max="100" value="#{normalJob.numnodes}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>
- </h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <p:commandButton update="normalmsg normconf @form :jobidlist1 :jobidlist2" value="Submit" actionListener="#{normalJob.jobSubmitAction}">
- </p:commandButton>
- </h:panelGroup>
- </h:panelGrid>
- </h:form>
- <h:panelGrid columns="2" rendered="#{homebean.renderjob==2}">
- <h:form id="leaj" prependId="false" style="width:550px;max-height:400px;overflow: auto;">
- <h:panelGrid columns="2" style="max-width: 600px" rendered="#{homebean.renderjob==2}">
- <p:panel>
- <h:outputLabel styleClass="lbl" value="1) LeaseType"/>
- </p:panel>
- <h:panelGroup>
- <h:selectOneMenu value="#{leaseJob.leaseType}">
- <f:selectItem itemLabel="OndemandLease" itemValue="OnDemand"/>
- <f:selectItem itemLabel="DeadlineDrivenBestEffortLease" itemValue="DeadLine"/>
- <f:selectItem itemLabel="AdvanceReservationLease" itemValue="AdvanceReservation"/>
- <f:ajax event="valueChange" render="@form"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="2) Number of Nodes *"/>
- </p:panel>
- <h:panelGroup>
- <p:spinner title="number of nodes" style="width: 100px" min="1" max="100" value="#{leaseJob.numnodes}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="3) Operating System"/>
- </p:panel>
- <h:panelGroup>
- <h:selectOneMenu title="Select an OperatingSystem" value="#{leaseJob.os}">
- <f:selectItems value="#{resources.operSys}"/>
- <p:ajax event="valueChange"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="4) physical Memory"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:spinner title="set the physical memory" min="0" style="width: 100px" stepFactor="10" value="#{leaseJob.mem}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>(MB)
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="5) Disk Space"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:spinner title="set the disk space" min="0" style="width: 100px" stepFactor="10" value="#{leaseJob.diskspace}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>(MB)
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="6) CPU Mhz"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup id="leasecpu">
- <p:spinner title="set the CPU speed" min="#{leaseJob.min}" stepFactor="#{leaseJob.step}" max="#{leaseJob.max}" style="width: 100px" value="#{leaseJob.cpumhz}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>
- <h:selectOneMenu value="#{leaseJob.mhzorghz}">
- <f:selectItem itemLabel="MHz" itemValue="MHz"/>
- <f:selectItem itemLabel="GHz" itemValue="GHz"/>
- <f:ajax event="valueChange" render="leasecpu" listener="#{leaseJob.unitChange}"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="7) Duration *"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:inputMask title="(HH:MM:SS)" mask="99:99:99" value="#{leaseJob.duration}">
- <p:ajax event="valueChange"/>
- </p:inputMask>
- </h:panelGroup>
- <h:panelGroup rendered="#{leaseJob.leaseType=='AdvanceReservation'}">
- <p:panel>
- <h:outputLabel styleClass="lbl" value="8) Start Time: *"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup rendered="#{leaseJob.leaseType=='AdvanceReservation'}">
- <p:inputMask title="(YYYY-MM-DD HH:MM:SS)" mask="9999-99-99 99:99:99" value="#{leaseJob.startt}">
- <p:ajax event="valueChange"/>
- </p:inputMask>
- </h:panelGroup>
- <h:panelGroup rendered="#{leaseJob.leaseType=='DeadLine'}">
- <p:panel>
- <h:outputLabel styleClass="lbl" value="8) Deadline *"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup rendered="#{leaseJob.leaseType=='DeadLine'}">
- <p:inputMask title="(HH:MM:SS)" mask="99:99:99" value="#{leaseJob.deadline}">
- <p:ajax event="valueChange"/>
- </p:inputMask>
- </h:panelGroup>
- <h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <p:commandButton value="Submit" update="leasemsg lconf" actionListener="#{leaseJob.jobSubmitAction}"/>
- </h:panelGroup>
- </h:panelGrid>
- </h:form>
- </h:panelGrid>
- <h:panelGrid columns="2" rendered="#{homebean.renderjob==3}">
- <h:form id="dagj" prependId="false" style="width:550px;max-height:400px;overflow: auto;">
- <h:panelGrid columns="2" style="max-width: 600px" rendered="#{homebean.renderjob==3}">
- <h:panelGroup>
- <p:panel>
- <h:outputLabel value=" Upload File: *"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:fileUpload id="dagupload" fileUploadListener="#{DagJob.chooseListener}" auto="true" update="dagfilelistwrapper dagmsg" description="Resource Files">
- </p:fileUpload>
- <br/>
- <h:panelGroup id="dagfilelistwrapper">
- <p:dataList var="ipfile" id="dagflist" value="#{DagJob.daglist}">
- <p:column>
- #{ipfile}
- <p:commandLink ajax="true" update="dagfilelistwrapper" actionListener="#{DagJob.removeDagfile(ipfile)}">
- <p:graphicImage value="images/closebar.png"/>
- </p:commandLink>
- </p:column>
- </p:dataList>
- </h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <p:commandButton value="Submit" update="dagmsg dagconf" actionListener="#{DagJob.jobSubmitAction}">
- </p:commandButton>
- </h:panelGroup>
- </h:panelGrid>
- </h:form>
- </h:panelGrid>
- </h:panelGrid>
- <p:draggable for="jobsubmit" handle=".ui-panel-titlebar" />
- </p:panel>
- </h:panelGrid>
- <h:panelGrid>
- <h:form prependId="false">
- <p:panel id="jobmon" visible="false" style="min-width: 200px" header="Job Monitoring" widgetVar="jmon" closable="true" toggleable="true">
- <p:ajaxStatus style="width:220px;height:19px;">
- <f:facet name="start">
- <h:graphicImage value="images/loading.gif" style="float: right" />
- </f:facet>
- <f:facet name="complete">
- <h:outputText value="" />
- </f:facet>
- </p:ajaxStatus>
- <h:outputLabel value="JobID"/>
- <h:selectOneMenu id="jobidlist1" value="#{jobStatus.jobid}">
- <f:selectItems value="#{resources.jobidlist}"/>
- <p:ajax event="valueChange"/>
- </h:selectOneMenu>
- <br/><br/>
- <p:commandButton actionListener="#{jobStatus.getStatus}" value="status" update="stat jot"/>
- <p:commandButton actionListener="#{jobStatus.dispJobOutput}" value="output" update="jot stat"/> <br/>
- <h:outputText id="jot" value="#{jobStatus.joboutput}"/>
- <h:outputText id="stat" value="#{jobStatus.jobstatus}"/><br/><br/>
- <p:lightBox opacity="0.6" iframe="true" width="50%" height="90%">
- <h:outputLink value="feedback.xhtml" title="User Feedback">
- <h:outputText value="Give Feedback"/>
- </h:outputLink>
- </p:lightBox>
- <p:draggable for="jobmon" handle=".ui-panel-titlebar"/>
- </p:panel>
- </h:form>
- </h:panelGrid>
- <h:panelGrid>
- <p:panel header="Job Reservation" visible="false" id="jobres" widgetVar="jres" closable="true" toggleable="true" style="min-width: 200px">
- <p:ajaxStatus style="width:220px;height:19px;">
- <f:facet name="start">
- <h:graphicImage value="images/loading.gif" style="float: right" />
- </f:facet>
- <f:facet name="complete">
- <h:outputText value="" />
- </f:facet>
- </p:ajaxStatus>
- <h:form prependId="false" style="width:550px;max-height:400px;overflow: auto;">
- <h:panelGrid columns="2" style="max-width: 600px">
- <p:panel style="min-width: 220px">
- <h:outputLabel styleClass="lbl" value="1) Job type"/>
- </p:panel>
- <h:panelGroup>
- <h:selectOneMenu title="Choose a Jobtype" value="#{arjob.jobtype}">
- <f:selectItem itemLabel="Sequential" itemValue="sequential"/>
- <f:selectItem itemLabel="Parallel" itemValue="parallel"/>
- <p:ajax event="valueChange" update="@form"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="2) Executable *"/>
- </p:panel>
- <h:panelGroup>
- <br/><br/>
- <p:fileUpload id="exeupload1" fileUploadListener="#{arjob.chooseListener}" auto="true" update="dlist1 resmsg" description="Resource Files">
- </p:fileUpload>
- <br/>
- <h:panelGroup id="exelistwrapper1">
- <p:dataList var="fileList" type="ordered" widgetVar="dt" id="dlist1" value="#{arjob.fexelist}">
- <p:column>
- #{fileList}
- <p:commandLink ajax="true" update="exelistwrapper1" actionListener="#{arjob.removeExe(fileList)}">
- <p:graphicImage value="images/closebar.png"/>
- </p:commandLink>
- </p:column>
- </p:dataList>
- </h:panelGroup>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="3) Argument(s)"/>
- </p:panel>
- <h:panelGroup>
- <u style="color:orange">
- <i>
- <p:inplace emptyLabel="Add Arguments" onEditUpdate="arglist1">
- <h:inputText title="Enter the argument" id="iparg1" value="#{arjob.args}">
- <f:ajax event="valueChange"/>
- </h:inputText>
- <p:commandButton title="Add the argument" update="arglistwrapper1 resmsg" value="add" actionListener="#{arjob.addArg}"/>
- </p:inplace>
- </i>
- </u>
- </h:panelGroup>
- <h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <h:panelGrid id="arglistwrapper1">
- <p:dataList id="arglist1" type="ordered" var="args" value="#{arjob.arglist}">
- <p:column id="col21">
- #{args}
- <p:commandLink ajax="true" update="arglistwrapper1" actionListener="#{arjob.removeArgs(args)}">
- <p:graphicImage value="images/closebar.png"/>
- </p:commandLink>
- </p:column>
- </p:dataList>
- </h:panelGrid>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="4) InputFile(s) *"/>
- </p:panel>
- <h:panelGroup>
- <br/><br/>
- <p:fileUpload id="inpupload1" fileUploadListener="#{arjob.inputChooseListener}" auto="true" update="ipfilelistwrapper1 resmsg" description="Resource Files">
- </p:fileUpload>
- <br/>
- <h:panelGroup id="ipfilelistwrapper1">
- <p:dataList var="ipfile" type="ordered" id="ipflist1" value="#{arjob.finlist}">
- <p:column>
- #{ipfile}
- <p:commandLink ajax="true" update="ipfilelistwrapper1" actionListener="#{arjob.removeInfile(ipfile)}">
- <p:graphicImage value="images/closebar.png"/>
- </p:commandLink>
- </p:column>
- </p:dataList>
- </h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <p:panel >
- <h:outputLabel styleClass="lbl" value="5) Output File(s)"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <u style="color:orange">
- <i>
- <p:inplace emptyLabel="Add file name" id="ipexe1" onEditUpdate="dlist1 grow">
- <h:inputText title="Enter the output filename" id="exe1" value="#{arjob.ofilename}">
- <p:ajax event="valueChange"/>
- </h:inputText>
- <p:commandButton update="doutlist1 resmsg" value="add" actionListener="#{arjob.addOutfile}"/>
- </p:inplace>
- </i>
- </u>
- </h:panelGroup>
- <h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <h:panelGrid id="filelistwrapper1">
- <p:dataList id="doutlist1" type="ordered" var="ofile" value="#{arjob.foutlist}">
- <p:column id="col1">
- #{ofile}
- <p:commandLink ajax="true" update="filelistwrapper1" actionListener="#{arjob.removeOutfile(ofile)}">
- <p:graphicImage value="images/closebar.png"/>
- </p:commandLink>
- </p:column>
- </p:dataList>
- </h:panelGrid>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="6) Operating System"/>
- </p:panel>
- <h:panelGroup>
- <h:selectOneMenu title="Select an OperatingSystem" value="#{arjob.os}">
- <f:selectItems value="#{resources.operSys}"/>
- <p:ajax event="valueChange"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="7) Physical Memory"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:spinner title="set the physical memory" min="0" style="width: 100px" stepFactor="10" value="#{arjob.mem}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>(MB)
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="8) Disk Space"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:spinner title="set the disk space" min="0" style="width: 100px" stepFactor="10" value="#{arjob.diskspace}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>(MB)
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="9) CPU Mhz"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup id="arcpu">
- <p:spinner title="set the CPU speed" min="#{arjob.min}" stepFactor="#{arjob.step}" max="#{arjob.max}" style="width: 100px" value="#{arjob.cpumhz}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>
- <h:selectOneMenu value="#{arjob.mhzorghz}">
- <f:selectItem itemLabel="MHz" itemValue="MHz"/>
- <f:selectItem itemLabel="GHz" itemValue="GHz"/>
- <f:ajax event="valueChange" render="arcpu" listener="#{arjob.unitChange}"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="10) Start Time *"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:inputMask title="(YYYY-MM-DD HH:MM:SS)" mask="9999-99-99 99:99:99" value="#{arjob.startt}">
- <p:ajax event="valueChange"/>
- </p:inputMask>
- </h:panelGroup>
- <h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="11) End Time *"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup>
- <p:inputMask title="(YYYY-MM-DD HH:MM:SS)" mask="9999-99-99 99:99:99" value="#{arjob.endt}">
- <p:ajax event="valueChange"/>
- </p:inputMask>
- </h:panelGroup>
- <p:panel>
- <h:outputLabel styleClass="lbl" value="12) LRMS type"/>
- </p:panel>
- <h:panelGroup>
- <h:selectOneMenu title="Local Resource Management System" value="#{arjob.lrms}">
- <f:selectItem itemLabel="PBS" itemValue="PBS" itemDescription="Portable Batch Scheduler"/>
- <f:selectItem itemLabel="SGE" itemValue="SGE" itemDescription="Sun Grid Engine"/>
- <p:ajax event="valueChange"/>
- </h:selectOneMenu>
- </h:panelGroup>
- <h:panelGroup id="nodewrapper11">
- <p:panel>
- <h:outputLabel styleClass="lbl" value="13) Number of Nodes"/>
- </p:panel>
- </h:panelGroup>
- <h:panelGroup id="nodewrapper21">
- <h:panelGroup>
- <p:spinner title="set the number of nodes" id="num1" style="width: 100px" min="1" max="100" value="#{arjob.numnodes}">
- <p:ajax event="valueChange" global="false"/>
- </p:spinner>
- </h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- </h:panelGroup>
- <h:panelGroup>
- <p:commandButton update="resmsg arconf @form" value="Submit" actionListener="#{arjob.jobSubmitAction}">
- </p:commandButton>
- </h:panelGroup>
- </h:panelGrid>
- </h:form>
- <p:draggable handle=".ui-panel-titlebar"/>
- </p:panel>
- </h:panelGrid>
- <h:panelGrid>
- <h:form prependId="false">
- <p:panel id="jobmod" visible="false" style="min-width: 200px" header="Job Modify/Cancel" widgetVar="jmod" closable="true" toggleable="true" >
- <p:ajaxStatus style="width:220px;height:19px;">
- <f:facet name="start">
- <h:graphicImage value="images/loading.gif" style="float: right" />
- </f:facet>
- <f:facet name="complete">
- <h:outputText value="" />
- </f:facet>
- </p:ajaxStatus>
- <p:panel>
- JobID:
- <h:selectOneMenu id="jobidlist2" value="#{jobModify.jobid}">
- <f:selectItems value="#{resources.jobidlist}"/>
- <p:ajax event="valueChange"/>
- </h:selectOneMenu>
- </p:panel><br/>
- <h:panelGrid id="modifywrapper">
- <p:panel>
- Type:
- <h:selectOneMenu title="select the job type" value="#{jobModify.jobType}">
- <f:selectItem itemLabel="Normal Job" itemValue="NormalJob"/>
- <f:selectItem itemLabel="Lease Job" itemValue="LeaseJob"/>
- <p:ajax update="modifywrapper" listener="#{jobModify.changeListener}"/>
- </h:selectOneMenu>
- </p:panel><br/>
- <p:panel>
- Action:
- <h:selectOneMenu title="select the operation" id="act" value="#{jobModify.leaseOpr}">
- <f:selectItems value="#{jobModify.options}"/>
- <p:ajax event="valueChange" update="modifywrapper"/>
- </h:selectOneMenu>
- <br/>
- <p:panel id="ext" rendered="#{jobModify.leaseOpr==2 and jobModify.jobType=='LeaseJob'}">
- <br/><br/>
- Extend Time:
- <p:inputMask title="(HH:MM:SS)" mask="99:99:99" value="#{jobModify.extTime}">
- <p:ajax event="valueChange"/>
- </p:inputMask>
- </p:panel><br/>
- </p:panel>
- </h:panelGrid>
- <br/>
- <p:commandButton value="submit" actionListener="#{jobModify.modify}" update="msg"/><br/>
- <br/>
- <h:outputText id="msg" value="#{jobModify.msg}"/>
- <p:draggable for="jobmod" handle=".ui-panel-titlebar"/>
- </p:panel>
- </h:form>
- </h:panelGrid>
- </h:panelGrid>
- </div> <!-- end of crb_content -->
- <div id="crb_sidebar">
- <ul class="navigation">
- <li onclick="jQuery('#profile').fadeToggle(); jQuery(this).toggleClass('selected')">Profile</li>
- <li onclick="jQuery('#logout').fadeToggle(); jQuery(this).toggleClass('selected')">Logout</li>
- <li onclick="jQuery('#jobsubmit').fadeToggle(); jQuery(this).toggleClass('selected')">Job Submission</li>
- <li onclick="jQuery('#jobmon').fadeToggle(); jQuery(this).toggleClass('selected')">Job Monitor</li>
- <li onclick="jQuery('#jobres').fadeToggle(); jQuery(this).toggleClass('selected')">Job Reservation</li>
- <li onclick="jQuery('#jobmod').fadeToggle(); jQuery(this).toggleClass('selected')">Job Modify/Cancel</li>
- </ul>
- </div>
- </div>
- <div id="crb_footer">
- Copyright © 2011 <a href="#">CARE team</a> | <a href="http://www.annauniv.edu" target="_parent">Anna University</a>
- </div> <!-- end of footer -->
- </div>
- <!-- end of wrapper -->
- </f:view>
- </h:body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement