#!/bin/bash

export USER=distributed
export USER_HOME=/home/${USER}

echo "Creating distributed tutorial"

IDEA_URL=http://download.jetbrains.com/idea/ideaIC-14.0.2.tar.gz

cd ~

git clone https://github.com/bocon13/onos-byon.git

sed -i -e 's/open/xdg-open/' ~/onos/tools/test/bin/onos-gui

cat > ~/startmn.sh << EOF
#!/bin/bash
sudo python ~/onos/tools/test/topos/sol.py \$OC1 \$OC2 \$OC3
EOF

chmod +x ~/startmn.sh

DESKTOP=${USER_HOME}/Desktop

mkdir -p ${DESKTOP}

cat > ${DESKTOP}/IntelliJ << EOF
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=IntelliJ
Name[en_US]=IntelliJ
Icon=/home/distributed/Applications/idea/bin/idea.png
Exec=/home/distributed/Applications/idea/bin/idea.sh
Comment[en_US]=
EOF

cat > ${DESKTOP}/Tutorial << EOF
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=ONOS Tutorial
Name[en_US]=ONOS Tutorial
Icon=internet-web-browser
Exec=/usr/bin/chromium-browser https://wiki.onosproject.org/display/ONOS/Distributed+ONOS+Tutorial
Comment[en_US]=
EOF


cat > ${DESKTOP}/Wireshark << EOF
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Wireshark
Name[en_US]=Wireshark
Icon=wireshark
Exec=/usr/bin/wireshark
Comment[en_US]=
EOF

cat > ${DESKTOP}/Terminal << EOF
[Desktop Entry]
Encoding=UTF-8
Name=LXTerminal
TryExec=lxterminal
Exec=lxterminal
Icon=lxterminal
Type=Application
Categories=GTK;Utility;TerminalEmulator;
EOF

sudo apt-get install -y git-review

# Install IntelliJ
mkdir ~/Applications
cd ~/Applications

wget -c -N -O /tmp/idea.tar.gz ${IDEA_URL}
tar xzf /tmp/idea.tar.gz 
sudo mv idea-IC-139.659.2 idea

cd -