Merge with development

This commit is contained in:
hieplq 2015-08-12 23:31:37 +08:00
commit 8a3e57fbea
5 changed files with 38 additions and 14 deletions

View File

@ -362,7 +362,13 @@ public class MClient extends X_AD_Client
success = tree.save(); success = tree.save();
AD_Tree_Activity_ID = tree.getAD_Tree_ID(); AD_Tree_Activity_ID = tree.getAD_Tree_ID();
} }
else if (value.equals(X_AD_Tree.TREETYPE_Menu)) // No Menu else if ( value.equals(X_AD_Tree.TREETYPE_Menu) // No Menu
|| value.equals(X_AD_Tree.TREETYPE_Table) // No Custom Table
|| value.equals(X_AD_Tree.TREETYPE_User1) // No custom user trees
|| value.equals(X_AD_Tree.TREETYPE_User2)
|| value.equals(X_AD_Tree.TREETYPE_User3)
|| value.equals(X_AD_Tree.TREETYPE_User4)
)
success = true; success = true;
else // PC (Product Category), BB (BOM) else // PC (Product Category), BB (BOM)
{ {

View File

@ -4705,7 +4705,7 @@ public abstract class PO
} }
private void checkValidContext() { private void checkValidContext() {
if (getCtx().size() == 0) if (getCtx().isEmpty() && getCtx().getProperty("#AD_Client_ID") == null)
throw new AdempiereException("Context lost"); throw new AdempiereException("Context lost");
} }

View File

@ -20,7 +20,7 @@
<echo message="${equinox.launcher.jar}"/> <echo message="${equinox.launcher.jar}"/>
<echo message="${repository}"/> <echo message="${repository}"/>
<echo message="${destination}"/> <echo message="${destination}"/>
<java jar="${equinox.launcher.jar}" fork="true" failonerror="true" > <java outputproperty="javaoutput" resultproperty="javaresult" jar="${equinox.launcher.jar}" fork="true" failonerror="false" >
<arg value="-application"/> <arg value="-application"/>
<arg value="org.eclipse.equinox.p2.director"/> <arg value="org.eclipse.equinox.p2.director"/>
<arg value="-repository"/> <arg value="-repository"/>
@ -43,5 +43,16 @@
<arg value="-roaming"/> <arg value="-roaming"/>
<!-- jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/ --> <!-- jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/ -->
</java> </java>
<!-- IDEMPIERE-1618: This block gives an error message on console. Else errors here are hard
to identify for unexperienced users because the java runs in a fork and gives no output to
stdout. Messages are still in the latest logfile in ECLIPSE_HOME/configuration
(or buckminster) - thanks to CarlosRuiz for this hint.
-->
<echo message="${javaresult}" />
<fail message="result: ${javaresult}\n${javaoutput}">
<condition>
<not><equals arg1="${javaresult}" arg2="0"/></not>
</condition>
</fail>
</target> </target>
</project> </project>

View File

@ -20,7 +20,7 @@
<echo message="${equinox.launcher.jar}"/> <echo message="${equinox.launcher.jar}"/>
<echo message="${repository}"/> <echo message="${repository}"/>
<echo message="${destination}"/> <echo message="${destination}"/>
<java jar="${equinox.launcher.jar}" fork="true" failonerror="true" > <java outputproperty="javaoutput" resultproperty="javaresult" jar="${equinox.launcher.jar}" fork="true" failonerror="false" >
<arg value="-application"/> <arg value="-application"/>
<arg value="org.eclipse.equinox.p2.director"/> <arg value="org.eclipse.equinox.p2.director"/>
<arg value="-repository"/> <arg value="-repository"/>
@ -43,5 +43,16 @@
<arg value="-roaming"/> <arg value="-roaming"/>
<!-- jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/ --> <!-- jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/ -->
</java> </java>
<!-- IDEMPIERE-1618: This block gives an error message on console. Else errors here are hard
to identify for unexperienced users because the java runs in a fork and gives no output to
stdout. Messages are still in the latest logfile in ECLIPSE_HOME/configuration
(or buckminster) - thanks to CarlosRuiz for this hint.
-->
<echo message="${javaresult}" />
<fail message="result: ${javaresult}\n${javaoutput}">
<condition>
<not><equals arg1="${javaresult}" arg2="0"/></not>
</condition>
</fail>
</target> </target>
</project> </project>

View File

@ -39,8 +39,6 @@ public class CompiereService {
private static CLogger log = CLogger.getCLogger(CompiereService.class); private static CLogger log = CLogger.getCLogger(CompiereService.class);
private Properties m_ctx;
private int m_AD_Client_ID; private int m_AD_Client_ID;
private int m_AD_Org_ID; private int m_AD_Org_ID;
private int m_AD_User_ID; private int m_AD_User_ID;
@ -92,7 +90,7 @@ public class CompiereService {
* @return context of current request * @return context of current request
*/ */
public Properties getCtx() { public Properties getCtx() {
return m_ctx; return Env.getCtx();
} }
/** /**
@ -113,11 +111,10 @@ public class CompiereService {
{ {
CompiereUtil.initWeb(); CompiereUtil.initWeb();
m_ctx = new Properties();
m_connected = true; m_connected = true;
ServerContext.setCurrentInstance(m_ctx); ServerContext.setCurrentInstance(new Properties());
Env.setContext( m_ctx, "#AD_Language", "en_US" ); Env.setContext(getCtx(), "#AD_Language", "en_US" );
m_language = Language.getLanguage("en_US"); m_language = Language.getLanguage("en_US");
dateFormat = DisplayType.getDateFormat(DisplayType.Date, m_language); dateFormat = DisplayType.getDateFormat(DisplayType.Date, m_language);
@ -138,7 +135,6 @@ public class CompiereService {
{ {
Env.logout(); Env.logout();
ServerContext.dispose(); ServerContext.dispose();
m_ctx = null;
m_loggedin = false; m_loggedin = false;
m_connected = false; m_connected = false;
} }
@ -255,7 +251,7 @@ public class CompiereService {
m_locale = Lang; m_locale = Lang;
m_userName = MUser.getNameOfUser(m_AD_User_ID); m_userName = MUser.getNameOfUser(m_AD_User_ID);
Env.setContext( m_ctx, "#AD_Language", Lang); Env.setContext( getCtx(), "#AD_Language", Lang);
m_language = Language.getLanguage(Lang); m_language = Language.getLanguage(Lang);
Env.verifyLanguage( getCtx(), m_language ); Env.verifyLanguage( getCtx(), m_language );
@ -274,7 +270,7 @@ public class CompiereService {
if (log.isLoggable(Level.INFO)) log.info(" #Date = "+ Env.getContextAsDate( getCtx(), "#Date")); if (log.isLoggable(Level.INFO)) log.info(" #Date = "+ Env.getContextAsDate( getCtx(), "#Date"));
Env.setContext( getCtx(), "#M_Warehouse_ID", M_Warehouse_ID ); Env.setContext( getCtx(), "#M_Warehouse_ID", M_Warehouse_ID );
Env.setContext(m_ctx, Env.LANGUAGE, m_language.getAD_Language()); Env.setContext(getCtx(), Env.LANGUAGE, m_language.getAD_Language());
// Create session // Create session
MSession session = MSession.get (getCtx(), false); MSession session = MSession.get (getCtx(), false);