Skip to content
#!/bin/bash
spin() {
local s=("|" "/" "-" '\x5C')
local i=0
while kill -0 $1 2> /dev/null; do
echo -en "[${s[$i]}]"\\r
i=$(( $i == 3 ? 0 : $i + 1 ))
sleep .1
done
#!/bin/bash
checkoutMasterSubmodule() {
(
local name=${1##*/}
echo "[----> Initing Submodule '${name}']"
git submodule update "${name}" 2>/dev/null
cd "${name}"
git checkout master 2>/dev/null
)&
#!/bin/bash
# Get it!
wget http://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.0.0%20M4/liferay-portal-tomcat-7.0-ce-m4-20150224120313668.zip/download -O liferay-portal-tomcat-7.0-ce-m4.zip
# Unzip it!
unzip liferay-portal-tomcat-7.0-ce-m4.zip
# Trim off some legacy apps!
rm -rf liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/calendar-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/marketplace-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/opensocial-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/web-form-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/kaleo-web liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/notifications-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/resources-importer-web liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/sync-web liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/welcome-theme
@Component(
property = {
"osgi.http.whiteboard.resource.pattern=/kaleo/resources/*",
"osgi.http.whiteboard.resource.prefix=/",
"osgi.http.whiteboard.servlet.pattern=/kaleo/resources/*" // temporary since this was the old property
},
service = Servlet.class
)
public class DDMJsResources extends HttpServlet {
}
Import-Package:\
!com.liferay.portal.tools.sql,\
!javax.activation.*,\
!javax.crypto.*,\
!javax.imageio.*,\
!javax.mail.*,\
!javax.naming.*,\
!javax.sql,\
!junit.framework.*,\
!net.sf.akismet.*,\
@@ -23,8 +23,12 @@ import com.liferay.portal.kernel.dao.db.IndexMetadataFactoryUtil;
import com.liferay.portal.kernel.dao.jdbc.DataAccess;
import com.liferay.portal.kernel.io.unsync.UnsyncBufferedReader;
import com.liferay.portal.kernel.io.unsync.UnsyncStringReader;
+import com.liferay.portal.kernel.io.unsync.UnsyncStringWriter;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
+import com.liferay.portal.kernel.template.StringTemplateResource;
+import com.liferay.portal.kernel.template.Template;
+import com.liferay.portal.kernel.template.TemplateManagerUtil;

Hate Checked Exceptions???

Try this little trick borrowed from Netty.

So you have an exception:

  • you don't want to check
  • you don't want to swallow
  • you don't want to pollute the method signature

Consider the following class Throw:

@@ -18,7 +18,9 @@ import com.liferay.portal.kernel.io.OutputStreamWriter;
import com.liferay.portal.kernel.io.unsync.UnsyncBufferedReader;
import com.liferay.portal.kernel.io.unsync.UnsyncBufferedWriter;
import com.liferay.portal.kernel.io.unsync.UnsyncStringReader;
+import com.liferay.portal.kernel.microsofttranslator.MicrosoftTranslator;
import com.liferay.portal.kernel.microsofttranslator.MicrosoftTranslatorException;
+import com.liferay.portal.kernel.microsofttranslator.MicrosoftTranslatorFactoryUtil;
import com.liferay.portal.kernel.util.FileUtil;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.NaturalOrderStringComparator;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.ServiceLoader;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.launch.Framework;
import org.osgi.framework.launch.FrameworkFactory;
2014-09-29 12:42:37
Full thread dump OpenJDK 64-Bit Server VM (24.65-b04 mixed mode):
"Attach Listener" daemon prio=10 tid=0x00007f7e98001000 nid=0x2776 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"ajp-bio-8009-AsyncTimeout" daemon prio=10 tid=0x00007f7ed85e7800 nid=0x26b9 waiting on condition [0x00007f7df2bea000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.tomcat.util.net.JIoEndpoint$AsyncTimeout.run(JIoEndpoint.java:148)
Something went wrong with that request. Please try again.